taskflow-core 0.1.8 → 0.2.1
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 +248 -808
- package/dist/agents.d.ts +12 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +29 -1
- package/dist/agents.js.map +1 -1
- package/dist/cwd-bridge.d.ts +61 -0
- package/dist/cwd-bridge.d.ts.map +1 -0
- package/dist/cwd-bridge.js +136 -0
- package/dist/cwd-bridge.js.map +1 -0
- package/dist/detached-runner.js +31 -5
- package/dist/detached-runner.js.map +1 -1
- package/dist/deterministic.d.ts +8 -0
- package/dist/deterministic.d.ts.map +1 -1
- package/dist/deterministic.js +23 -1
- package/dist/deterministic.js.map +1 -1
- package/dist/exec/driver.d.ts +48 -0
- package/dist/exec/driver.d.ts.map +1 -0
- package/dist/exec/driver.js +410 -0
- package/dist/exec/driver.js.map +1 -0
- package/dist/exec/events.d.ts +76 -0
- package/dist/exec/events.d.ts.map +1 -0
- package/dist/exec/events.js +108 -0
- package/dist/exec/events.js.map +1 -0
- package/dist/exec/fold.d.ts +45 -0
- package/dist/exec/fold.d.ts.map +1 -0
- package/dist/exec/fold.js +122 -0
- package/dist/exec/fold.js.map +1 -0
- package/dist/exec/index.d.ts +17 -0
- package/dist/exec/index.d.ts.map +1 -0
- package/dist/exec/index.js +17 -0
- package/dist/exec/index.js.map +1 -0
- package/dist/exec/kernel-policy.d.ts +35 -0
- package/dist/exec/kernel-policy.d.ts.map +1 -0
- package/dist/exec/kernel-policy.js +184 -0
- package/dist/exec/kernel-policy.js.map +1 -0
- package/dist/exec/step-kinds.d.ts +41 -0
- package/dist/exec/step-kinds.d.ts.map +1 -0
- package/dist/exec/step-kinds.js +599 -0
- package/dist/exec/step-kinds.js.map +1 -0
- package/dist/exec/step.d.ts +94 -0
- package/dist/exec/step.d.ts.map +1 -0
- package/dist/exec/step.js +454 -0
- package/dist/exec/step.js.map +1 -0
- package/dist/flowir/canonical-hash.d.ts +101 -0
- package/dist/flowir/canonical-hash.d.ts.map +1 -0
- package/dist/flowir/canonical-hash.js +219 -0
- package/dist/flowir/canonical-hash.js.map +1 -0
- package/dist/flowir/compile.d.ts +49 -0
- package/dist/flowir/compile.d.ts.map +1 -0
- package/dist/flowir/compile.js +232 -0
- package/dist/flowir/compile.js.map +1 -0
- package/dist/flowir/cond.d.ts +76 -0
- package/dist/flowir/cond.d.ts.map +1 -0
- package/dist/flowir/cond.js +214 -0
- package/dist/flowir/cond.js.map +1 -0
- package/dist/flowir/index.d.ts +20 -23
- package/dist/flowir/index.d.ts.map +1 -1
- package/dist/flowir/index.js +47 -35
- package/dist/flowir/index.js.map +1 -1
- package/dist/flowir/meta.d.ts +4 -4
- package/dist/flowir/meta.d.ts.map +1 -1
- package/dist/flowir/phasefp.d.ts.map +1 -1
- package/dist/flowir/phasefp.js +13 -1
- package/dist/flowir/phasefp.js.map +1 -1
- package/dist/flowir/schema.d.ts +260 -0
- package/dist/flowir/schema.d.ts.map +1 -0
- package/dist/flowir/schema.js +234 -0
- package/dist/flowir/schema.js.map +1 -0
- package/dist/flowir/translate.d.ts.map +1 -1
- package/dist/flowir/translate.js +3 -0
- package/dist/flowir/translate.js.map +1 -1
- package/dist/host/runner-types.d.ts +19 -0
- package/dist/host/runner-types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/interpolate.d.ts +4 -0
- package/dist/interpolate.d.ts.map +1 -1
- package/dist/interpolate.js +14 -0
- package/dist/interpolate.js.map +1 -1
- package/dist/rates.d.ts +121 -0
- package/dist/rates.d.ts.map +1 -0
- package/dist/rates.js +187 -0
- package/dist/rates.js.map +1 -0
- package/dist/replay.d.ts +43 -50
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +629 -19
- package/dist/replay.js.map +1 -1
- package/dist/resources/authority.d.ts +35 -0
- package/dist/resources/authority.d.ts.map +1 -0
- package/dist/resources/authority.js +67 -0
- package/dist/resources/authority.js.map +1 -0
- package/dist/resources/backend.d.ts +302 -0
- package/dist/resources/backend.d.ts.map +1 -0
- package/dist/resources/backend.js +16 -0
- package/dist/resources/backend.js.map +1 -0
- package/dist/resources/baseline.d.ts +116 -0
- package/dist/resources/baseline.d.ts.map +1 -0
- package/dist/resources/baseline.js +447 -0
- package/dist/resources/baseline.js.map +1 -0
- package/dist/resources/canonical-json.d.ts +7 -0
- package/dist/resources/canonical-json.d.ts.map +1 -0
- package/dist/resources/canonical-json.js +75 -0
- package/dist/resources/canonical-json.js.map +1 -0
- package/dist/resources/errors.d.ts +23 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +89 -0
- package/dist/resources/errors.js.map +1 -0
- package/dist/resources/execution.d.ts +90 -0
- package/dist/resources/execution.d.ts.map +1 -0
- package/dist/resources/execution.js +581 -0
- package/dist/resources/execution.js.map +1 -0
- package/dist/resources/index.d.ts +15 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +15 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/journal.d.ts +138 -0
- package/dist/resources/journal.d.ts.map +1 -0
- package/dist/resources/journal.js +438 -0
- package/dist/resources/journal.js.map +1 -0
- package/dist/resources/leases.d.ts +51 -0
- package/dist/resources/leases.d.ts.map +1 -0
- package/dist/resources/leases.js +354 -0
- package/dist/resources/leases.js.map +1 -0
- package/dist/resources/permits.d.ts +52 -0
- package/dist/resources/permits.d.ts.map +1 -0
- package/dist/resources/permits.js +240 -0
- package/dist/resources/permits.js.map +1 -0
- package/dist/resources/persistence.d.ts +63 -0
- package/dist/resources/persistence.d.ts.map +1 -0
- package/dist/resources/persistence.js +522 -0
- package/dist/resources/persistence.js.map +1 -0
- package/dist/resources/registry.d.ts +56 -0
- package/dist/resources/registry.d.ts.map +1 -0
- package/dist/resources/registry.js +139 -0
- package/dist/resources/registry.js.map +1 -0
- package/dist/resources/resolve.d.ts +49 -0
- package/dist/resources/resolve.d.ts.map +1 -0
- package/dist/resources/resolve.js +309 -0
- package/dist/resources/resolve.js.map +1 -0
- package/dist/resources/sandbox.d.ts +72 -0
- package/dist/resources/sandbox.d.ts.map +1 -0
- package/dist/resources/sandbox.js +952 -0
- package/dist/resources/sandbox.js.map +1 -0
- package/dist/resources/schema.d.ts +195 -0
- package/dist/resources/schema.d.ts.map +1 -0
- package/dist/resources/schema.js +231 -0
- package/dist/resources/schema.js.map +1 -0
- package/dist/resources/types.d.ts +36 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +75 -0
- package/dist/resources/types.js.map +1 -0
- package/dist/runner-core.d.ts +53 -0
- package/dist/runner-core.d.ts.map +1 -1
- package/dist/runner-core.js +521 -53
- package/dist/runner-core.js.map +1 -1
- package/dist/runtime/phases/approval.d.ts +23 -0
- package/dist/runtime/phases/approval.d.ts.map +1 -0
- package/dist/runtime/phases/approval.js +38 -0
- package/dist/runtime/phases/approval.js.map +1 -0
- package/dist/runtime/phases/expand.d.ts +29 -0
- package/dist/runtime/phases/expand.d.ts.map +1 -0
- package/dist/runtime/phases/expand.js +126 -0
- package/dist/runtime/phases/expand.js.map +1 -0
- package/dist/runtime/phases/parallel.d.ts +26 -0
- package/dist/runtime/phases/parallel.d.ts.map +1 -0
- package/dist/runtime/phases/parallel.js +15 -0
- package/dist/runtime/phases/parallel.js.map +1 -0
- package/dist/runtime/phases/race.d.ts +31 -0
- package/dist/runtime/phases/race.d.ts.map +1 -0
- package/dist/runtime/phases/race.js +220 -0
- package/dist/runtime/phases/race.js.map +1 -0
- package/dist/runtime/phases/script.d.ts +38 -0
- package/dist/runtime/phases/script.d.ts.map +1 -0
- package/dist/runtime/phases/script.js +177 -0
- package/dist/runtime/phases/script.js.map +1 -0
- package/dist/runtime.d.ts +68 -16
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1091 -337
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +104 -9
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +249 -32
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +13 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js.map +1 -1
- package/dist/trace.d.ts +7 -1
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +33 -26
- package/dist/trace.js.map +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"race.js","sourceRoot":"","sources":["../../../src/runtime/phases/race.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script phase — zero-token shell command execution.
|
|
3
|
+
* Isolated from runtime.ts so S5 strangler can flip kinds without growing the monolith.
|
|
4
|
+
*/
|
|
5
|
+
import type { Phase } from "../../schema.ts";
|
|
6
|
+
import type { PhaseState } from "../../store.ts";
|
|
7
|
+
export interface ScriptRunResult {
|
|
8
|
+
stdout: string;
|
|
9
|
+
stderr: string;
|
|
10
|
+
code: number | null;
|
|
11
|
+
stdoutOversize: boolean;
|
|
12
|
+
timedOut: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Spawn the script command and capture stdout/stderr with timeout + size caps.
|
|
16
|
+
*/
|
|
17
|
+
export declare function runScriptCommand(opts: {
|
|
18
|
+
/** Interpolated argv (array form) or single shell string as [cmd]. */
|
|
19
|
+
interpRunText: string[];
|
|
20
|
+
/** Original `run` shape: array → no shell; string → shell true. */
|
|
21
|
+
arrayForm: boolean;
|
|
22
|
+
cwd: string;
|
|
23
|
+
signal?: AbortSignal;
|
|
24
|
+
stdinInput?: string;
|
|
25
|
+
timeoutMs: number;
|
|
26
|
+
}): Promise<ScriptRunResult>;
|
|
27
|
+
/** Map a successful/failed script process result to PhaseState. */
|
|
28
|
+
export declare function scriptResultToPhaseState(phase: Phase, result: ScriptRunResult, opts: {
|
|
29
|
+
inputHash: string;
|
|
30
|
+
timeoutMs: number;
|
|
31
|
+
reads?: PhaseState["reads"];
|
|
32
|
+
}): PhaseState;
|
|
33
|
+
/** Spawn error → failed phase (not cacheable — transient). */
|
|
34
|
+
export declare function scriptSpawnErrorToPhaseState(phaseId: string, err: unknown, opts: {
|
|
35
|
+
inputHash: string;
|
|
36
|
+
reads?: PhaseState["reads"];
|
|
37
|
+
}): PhaseState;
|
|
38
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,sEAAsE;IACtE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyG3B;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B,GACC,UAAU,CA4BZ;AAED,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;CAAE,GACtD,UAAU,CAYZ"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script phase — zero-token shell command execution.
|
|
3
|
+
* Isolated from runtime.ts so S5 strangler can flip kinds without growing the monolith.
|
|
4
|
+
*/
|
|
5
|
+
import { emptyUsage } from "../../usage.js";
|
|
6
|
+
import { StringDecoder } from "node:string_decoder";
|
|
7
|
+
import { killProcessTree, registerProcessTree, unregisterProcessTree } from "../../runner-core.js";
|
|
8
|
+
import { CWD_BRIDGE_MODE_ENV } from "../../cwd-bridge.js";
|
|
9
|
+
import { WORKSPACE_RECONCILE_MODE_ENV } from "../../resources/execution.js";
|
|
10
|
+
const MAX_STDOUT = 1_048_576; // 1 MB cap
|
|
11
|
+
const SIGKILL_GRACE_MS = 5_000;
|
|
12
|
+
/**
|
|
13
|
+
* Spawn the script command and capture stdout/stderr with timeout + size caps.
|
|
14
|
+
*/
|
|
15
|
+
export async function runScriptCommand(opts) {
|
|
16
|
+
const { spawn } = await import("node:child_process");
|
|
17
|
+
const { interpRunText, arrayForm, cwd, signal, stdinInput, timeoutMs } = opts;
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
const childEnv = { ...process.env };
|
|
20
|
+
// Script phases execute flow-authored commands, so they are not a trusted
|
|
21
|
+
// host principal. Host-only workspace controls must never be delegated even
|
|
22
|
+
// when the script later launches another Taskflow process.
|
|
23
|
+
delete childEnv[CWD_BRIDGE_MODE_ENV];
|
|
24
|
+
delete childEnv[WORKSPACE_RECONCILE_MODE_ENV];
|
|
25
|
+
const spawnOptions = {
|
|
26
|
+
cwd,
|
|
27
|
+
env: childEnv,
|
|
28
|
+
detached: process.platform !== "win32",
|
|
29
|
+
};
|
|
30
|
+
const child = arrayForm
|
|
31
|
+
? spawn(interpRunText[0], interpRunText.slice(1), {
|
|
32
|
+
...spawnOptions,
|
|
33
|
+
shell: false,
|
|
34
|
+
})
|
|
35
|
+
: spawn(interpRunText[0], [], {
|
|
36
|
+
...spawnOptions,
|
|
37
|
+
shell: true,
|
|
38
|
+
});
|
|
39
|
+
if (child.pid)
|
|
40
|
+
registerProcessTree(child.pid);
|
|
41
|
+
let stdout = "";
|
|
42
|
+
let stderr = "";
|
|
43
|
+
let stdoutBytes = 0;
|
|
44
|
+
let stderrBytes = 0;
|
|
45
|
+
let stdoutOversize = false;
|
|
46
|
+
let timedOut = false;
|
|
47
|
+
let settled = false;
|
|
48
|
+
const stdoutDecoder = new StringDecoder("utf8");
|
|
49
|
+
const stderrDecoder = new StringDecoder("utf8");
|
|
50
|
+
child.stdout?.on("data", (d) => {
|
|
51
|
+
const remaining = MAX_STDOUT - stdoutBytes;
|
|
52
|
+
const retained = d.subarray(0, Math.max(0, remaining));
|
|
53
|
+
if (retained.length > 0) {
|
|
54
|
+
stdout += stdoutDecoder.write(retained);
|
|
55
|
+
stdoutBytes += retained.length;
|
|
56
|
+
}
|
|
57
|
+
if (d.length > retained.length)
|
|
58
|
+
stdoutOversize = true;
|
|
59
|
+
});
|
|
60
|
+
child.stderr?.on("data", (d) => {
|
|
61
|
+
const remaining = 500 - stderrBytes;
|
|
62
|
+
const retained = d.subarray(0, Math.max(0, remaining));
|
|
63
|
+
if (retained.length > 0) {
|
|
64
|
+
stderr += stderrDecoder.write(retained);
|
|
65
|
+
stderrBytes += retained.length;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
let sigkillTimer;
|
|
69
|
+
const timer = setTimeout(() => {
|
|
70
|
+
timedOut = true;
|
|
71
|
+
if (child.pid)
|
|
72
|
+
killProcessTree(child.pid, "SIGTERM", child);
|
|
73
|
+
sigkillTimer = setTimeout(() => {
|
|
74
|
+
if (child.pid)
|
|
75
|
+
killProcessTree(child.pid, "SIGKILL", child);
|
|
76
|
+
}, SIGKILL_GRACE_MS);
|
|
77
|
+
}, timeoutMs);
|
|
78
|
+
const onAbort = () => {
|
|
79
|
+
if (child.pid)
|
|
80
|
+
killProcessTree(child.pid, "SIGKILL", child);
|
|
81
|
+
};
|
|
82
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
83
|
+
if (signal?.aborted)
|
|
84
|
+
onAbort();
|
|
85
|
+
child.on("error", (err) => {
|
|
86
|
+
if (settled)
|
|
87
|
+
return;
|
|
88
|
+
settled = true;
|
|
89
|
+
clearTimeout(timer);
|
|
90
|
+
clearTimeout(sigkillTimer);
|
|
91
|
+
signal?.removeEventListener("abort", onAbort);
|
|
92
|
+
if (child.pid)
|
|
93
|
+
unregisterProcessTree(child.pid);
|
|
94
|
+
reject(err);
|
|
95
|
+
});
|
|
96
|
+
child.once("exit", () => {
|
|
97
|
+
if (child.pid)
|
|
98
|
+
killProcessTree(child.pid, "SIGKILL", child);
|
|
99
|
+
});
|
|
100
|
+
child.on("close", (code) => {
|
|
101
|
+
if (settled)
|
|
102
|
+
return;
|
|
103
|
+
settled = true;
|
|
104
|
+
clearTimeout(timer);
|
|
105
|
+
clearTimeout(sigkillTimer);
|
|
106
|
+
signal?.removeEventListener("abort", onAbort);
|
|
107
|
+
if (child.pid)
|
|
108
|
+
killProcessTree(child.pid, "SIGKILL", child);
|
|
109
|
+
if (child.pid)
|
|
110
|
+
unregisterProcessTree(child.pid);
|
|
111
|
+
// If truncation cut through a multi-byte character, discard the decoder's
|
|
112
|
+
// incomplete suffix instead of manufacturing U+FFFD. Otherwise flush an
|
|
113
|
+
// actually malformed child stream normally.
|
|
114
|
+
if (!stdoutOversize)
|
|
115
|
+
stdout += stdoutDecoder.end();
|
|
116
|
+
if (stderrBytes < 500)
|
|
117
|
+
stderr += stderrDecoder.end();
|
|
118
|
+
resolve({ stdout, stderr, code, stdoutOversize, timedOut });
|
|
119
|
+
});
|
|
120
|
+
if (child.stdin) {
|
|
121
|
+
child.stdin.on("error", () => { }); // swallow EPIPE when child closes stdin early
|
|
122
|
+
if (stdinInput !== undefined)
|
|
123
|
+
child.stdin.write(stdinInput);
|
|
124
|
+
// A spawned process always receives a pipe for stdin. Close it even when
|
|
125
|
+
// the phase omitted `input`, otherwise commands that wait for EOF (for
|
|
126
|
+
// example `cat`) hang until the script timeout fires.
|
|
127
|
+
child.stdin.end();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/** Map a successful/failed script process result to PhaseState. */
|
|
132
|
+
export function scriptResultToPhaseState(phase, result, opts) {
|
|
133
|
+
if (result.code !== 0 || result.timedOut) {
|
|
134
|
+
const ps = {
|
|
135
|
+
id: phase.id,
|
|
136
|
+
status: "failed",
|
|
137
|
+
output: result.stdout,
|
|
138
|
+
error: result.timedOut
|
|
139
|
+
? `Script timed out after ${opts.timeoutMs}ms`
|
|
140
|
+
: `Script exited with code ${result.code}${result.stderr ? ": " + result.stderr.slice(0, 500) : ""}${result.stdoutOversize ? " [stdout truncated at 1 MB]" : ""}`,
|
|
141
|
+
timedOut: result.timedOut || undefined,
|
|
142
|
+
usage: emptyUsage(),
|
|
143
|
+
inputHash: opts.inputHash,
|
|
144
|
+
endedAt: Date.now(),
|
|
145
|
+
};
|
|
146
|
+
if (opts.reads)
|
|
147
|
+
ps.reads = opts.reads;
|
|
148
|
+
return ps;
|
|
149
|
+
}
|
|
150
|
+
const ps = {
|
|
151
|
+
id: phase.id,
|
|
152
|
+
status: "done",
|
|
153
|
+
output: result.stdout.trimEnd() + (result.stdoutOversize ? "\n[stdout truncated at 1 MB]" : ""),
|
|
154
|
+
usage: emptyUsage(),
|
|
155
|
+
inputHash: opts.inputHash,
|
|
156
|
+
endedAt: Date.now(),
|
|
157
|
+
};
|
|
158
|
+
if (opts.reads)
|
|
159
|
+
ps.reads = opts.reads;
|
|
160
|
+
return ps;
|
|
161
|
+
}
|
|
162
|
+
/** Spawn error → failed phase (not cacheable — transient). */
|
|
163
|
+
export function scriptSpawnErrorToPhaseState(phaseId, err, opts) {
|
|
164
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
165
|
+
const ps = {
|
|
166
|
+
id: phaseId,
|
|
167
|
+
status: "failed",
|
|
168
|
+
error: `Script error: ${msg}`,
|
|
169
|
+
usage: emptyUsage(),
|
|
170
|
+
inputHash: opts.inputHash,
|
|
171
|
+
endedAt: Date.now(),
|
|
172
|
+
};
|
|
173
|
+
if (opts.reads)
|
|
174
|
+
ps.reads = opts.reads;
|
|
175
|
+
return ps;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -14,13 +14,17 @@ import type { SubagentRunner } from "./host/runner-types.ts";
|
|
|
14
14
|
/** The host-neutral subagent runner signature the engine drives. A host adapter
|
|
15
15
|
* (pi, codex) injects a concrete `runTask` via `RuntimeDeps`. */
|
|
16
16
|
type RunTaskFn = SubagentRunner<any>["runTask"];
|
|
17
|
+
export { PHASE_TIMEOUT_ABORT_GRACE_MS } from "./runner-core.ts";
|
|
17
18
|
import { type UsageStats } from "./usage.ts";
|
|
18
19
|
import { type CacheScope, type Taskflow } from "./schema.ts";
|
|
19
20
|
import { parseGateVerdict } from "./deterministic.ts";
|
|
21
|
+
export { parseTournamentWinner } from "./deterministic.ts";
|
|
20
22
|
import { type TraceSink } from "./trace.ts";
|
|
21
23
|
export { parseGateVerdict };
|
|
22
24
|
import { type PhaseState, type RunState } from "./store.ts";
|
|
23
25
|
import { CacheStore } from "./cache.ts";
|
|
26
|
+
import { type CwdBridgeMode } from "./cwd-bridge.ts";
|
|
27
|
+
import { type ResolveOnlyPhaseBinding, type ResolveOnlyWorkspaceSession } from "./resources/execution.ts";
|
|
24
28
|
/** A human-in-the-loop approval request raised by an `approval` phase. */
|
|
25
29
|
export interface ApprovalRequest {
|
|
26
30
|
phaseId: string;
|
|
@@ -38,6 +42,10 @@ export interface RuntimeDeps {
|
|
|
38
42
|
cwd: string;
|
|
39
43
|
agents: AgentConfig[];
|
|
40
44
|
globalThinking?: string;
|
|
45
|
+
/** Whether the host reports authoritative token/cost usage. A host that
|
|
46
|
+
* cannot observe usage must reject every actually-executed budgeted flow,
|
|
47
|
+
* including nested/dynamic flows, rather than silently bypassing the cap. */
|
|
48
|
+
usageAccounting?: "available" | "tokens-only" | "unavailable";
|
|
41
49
|
signal?: AbortSignal;
|
|
42
50
|
/** Persist run state after each phase (for resume). */
|
|
43
51
|
persist?: (state: RunState) => void;
|
|
@@ -58,13 +66,53 @@ export interface RuntimeDeps {
|
|
|
58
66
|
* append-only trace for offline replay. Absent → no-op (runs behave
|
|
59
67
|
* identically to today). See `trace.ts`. */
|
|
60
68
|
trace?: TraceSink;
|
|
69
|
+
/**
|
|
70
|
+
* S2 strangler: when true, eligible flows run on `exec/driver` (event kernel).
|
|
71
|
+
* Covers core kinds except `race`/`expand`; advanced features force imperative
|
|
72
|
+
* fallback. Default false; also set `PI_TASKFLOW_EVENT_KERNEL=1`.
|
|
73
|
+
*/
|
|
74
|
+
eventKernel?: boolean;
|
|
61
75
|
/** Internal: sub-flow call stack, for recursion detection. */
|
|
62
76
|
_stack?: string[];
|
|
63
77
|
/** Internal: pre-resolved Shared Context Tree dir for this run (sub-flows inherit the parent's). */
|
|
64
78
|
_ctxDir?: string;
|
|
65
79
|
/** Internal: an isolated workspace dir override for the current phase (worktree isolation). */
|
|
66
80
|
_cwdOverride?: string;
|
|
81
|
+
/** Host-owned 0.2.1 cwd bridge mode. Undefined is fail-closed. Flow data
|
|
82
|
+
* cannot enable this; adapters may opt into the documented resolve-only mode. */
|
|
83
|
+
cwdBridgeMode?: CwdBridgeMode;
|
|
84
|
+
/** Optional trusted control-plane location for workspace leases/journal/HMAC
|
|
85
|
+
* state. Defaults outside the flow workspace under ~/.taskflow. */
|
|
86
|
+
workspaceControlDirectory?: string;
|
|
87
|
+
/** Host-created W1a resolve-only session. Ordinarily constructed lazily from
|
|
88
|
+
* cwdBridgeMode; injectable for delivery policy and conformance tests. */
|
|
89
|
+
workspaceSession?: ResolveOnlyWorkspaceSession;
|
|
90
|
+
/** Internal: a cwd-bridge flow may mutate workspace state, so output-only
|
|
91
|
+
* cache/resume reuse is disabled for the entire nested execution tree. */
|
|
92
|
+
_disableCache?: boolean;
|
|
93
|
+
/** Internal: execution originated from an LLM-authored flow{def}/ctx_spawn.
|
|
94
|
+
* Resource-bearing fields remain denied through every nested frame. */
|
|
95
|
+
_dynamic?: boolean;
|
|
96
|
+
/** Internal: canonical directory capability inherited from a cwd-bridge
|
|
97
|
+
* phase. Nested phases may stay inside or narrow it, never escape it. */
|
|
98
|
+
_cwdBoundary?: string;
|
|
99
|
+
/** Internal: only resource-selected execution trees opt into cwd-sensitive
|
|
100
|
+
* cache keys. Ordinary legacy root phases retain their existing key format. */
|
|
101
|
+
_cacheCwdIdentity?: string;
|
|
102
|
+
/** Internal: one immutable loader view per top-level execution. Saved-flow
|
|
103
|
+
* definitions must not change between capability scan and execution. */
|
|
104
|
+
_flowLoaderSnapshot?: Map<string, FlowLoaderSnapshotEntry>;
|
|
105
|
+
/** Internal phase-scoped W1a execution binding inherited only by descendants
|
|
106
|
+
* that remain inside the selected cwd capability. */
|
|
107
|
+
_workspaceBinding?: ResolveOnlyPhaseBinding;
|
|
67
108
|
}
|
|
109
|
+
type FlowLoaderSnapshotEntry = {
|
|
110
|
+
ok: true;
|
|
111
|
+
value: Taskflow | undefined;
|
|
112
|
+
} | {
|
|
113
|
+
ok: false;
|
|
114
|
+
error: unknown;
|
|
115
|
+
};
|
|
68
116
|
export interface RuntimeResult {
|
|
69
117
|
state: RunState;
|
|
70
118
|
finalOutput: string;
|
|
@@ -119,6 +167,16 @@ export interface PhaseCacheCtx {
|
|
|
119
167
|
* whether a given branch happens to fold preRead into its task string
|
|
120
168
|
* (previously this was only incidentally true via `fullTask`). */
|
|
121
169
|
preRead?: string;
|
|
170
|
+
/** Flow-level semantics retained even by per-item cache contexts, which
|
|
171
|
+
* deliberately omit phaseFp/flowDefHash for partial reuse. */
|
|
172
|
+
agentScope?: Taskflow["agentScope"];
|
|
173
|
+
contextSharing?: boolean;
|
|
174
|
+
/** Resolved agent content/config. Same name+scope can still change prompt,
|
|
175
|
+
* model, tools, or thinking and must invalidate cached output. */
|
|
176
|
+
agentDefinitions?: string;
|
|
177
|
+
/** Canonical effective cwd. Required because a typed cwd arg can change the
|
|
178
|
+
* resource selected without appearing in the task text or phase definition. */
|
|
179
|
+
executionCwd?: string;
|
|
122
180
|
/** Content fingerprint of the desugared flow definition — folded into the
|
|
123
181
|
* key so two structurally-different flows that share a name can never
|
|
124
182
|
* collide, and a changed flow never serves a stale cross-run hit. */
|
|
@@ -135,12 +193,16 @@ export interface PhaseCacheCtx {
|
|
|
135
193
|
* inputHash they miss and re-run, otherwise they hit (early cutoff). */
|
|
136
194
|
forceRerun?: boolean;
|
|
137
195
|
}
|
|
196
|
+
/** Stable cache identity for the fully resolved agent pool. File paths are
|
|
197
|
+
* excluded: content/config, not installation location, determines output. */
|
|
198
|
+
export declare function agentDefinitionsIdentity(agents: readonly AgentConfig[]): string;
|
|
138
199
|
/** Fold the phase fingerprint into the base hash parts to form the final cache key. */
|
|
139
200
|
/** A computed cache identity: the new (versioned) key plus the read-only
|
|
140
201
|
* fallback keys used to honor entries written by older releases. The `key`
|
|
141
202
|
* is what we WRITE under and what `PhaseState.inputHash` carries; the
|
|
142
|
-
* `v2Key`/`bareKey
|
|
143
|
-
*
|
|
203
|
+
* `v2Key`/`bareKey` are consulted READ-ONLY on a miss. `legacyKey` is exposed
|
|
204
|
+
* only for tooling/tests and is never read because it lacks structural
|
|
205
|
+
* identity. See docs/internal/cache-migration.md. */
|
|
144
206
|
export interface CacheKeys {
|
|
145
207
|
/** Current key: folds `v3:phasefp:<subfp>` (the per-phase structural
|
|
146
208
|
* sub-fingerprint; degrades to the whole-flow hash when per-phase
|
|
@@ -157,7 +219,7 @@ export interface CacheKeys {
|
|
|
157
219
|
}
|
|
158
220
|
/** Fold the phase fingerprint into the base hash parts to form the cache keys.
|
|
159
221
|
*
|
|
160
|
-
|
|
222
|
+
* Four keys are derived for tooling/backward compatibility (see
|
|
161
223
|
* docs/internal/cache-migration.md):
|
|
162
224
|
* - `key` : `v3:phasefp:<subfp>` — the current write key (per-phase
|
|
163
225
|
* structural sub-fingerprint; falls back to the whole-flow hash when
|
|
@@ -165,20 +227,10 @@ export interface CacheKeys {
|
|
|
165
227
|
* - `v2Key` : `v2:flowdef:<flowDefHash>` — pre-M6 whole-flow key.
|
|
166
228
|
* - `bareKey` : bare `flowdef:<flowDefHash>` (unversioned) — pre-H1 entries.
|
|
167
229
|
* - `legacyKey`: the flowdef line omitted — pre-flowDefHash entries.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
230
|
+
* `cachedPhase` consults the first three safe tiers READ-ONLY on a miss;
|
|
231
|
+
* `legacyKey` is never read because it has no structural identity.
|
|
232
|
+
* `recordCache` writes only `key`. */
|
|
171
233
|
export declare function cacheKeys(cc: PhaseCacheCtx, baseParts: string[]): CacheKeys;
|
|
172
|
-
/**
|
|
173
|
-
* Parse a judge's pick of the winning variant. Accepts JSON ({"winner":n} or
|
|
174
|
-
* {"best":n}) or a `WINNER: n` line (last match wins). Clamps to [1, count].
|
|
175
|
-
* Fail-open: an unreadable verdict defaults to variant 1 so the work is never
|
|
176
|
-
* lost. Returns the 1-based index plus an optional reason.
|
|
177
|
-
*/
|
|
178
|
-
export declare function parseTournamentWinner(output: string, count: number): {
|
|
179
|
-
winner: number;
|
|
180
|
-
reason?: string;
|
|
181
|
-
};
|
|
182
234
|
/**
|
|
183
235
|
* Execute a full taskflow. Mutates and persists `state` as it progresses.
|
|
184
236
|
*/
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEpF;kEACkE;AAClE,KAAK,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAchD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAe,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|