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.
Files changed (193) hide show
  1. package/README.md +248 -808
  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/cwd-bridge.d.ts +61 -0
  7. package/dist/cwd-bridge.d.ts.map +1 -0
  8. package/dist/cwd-bridge.js +136 -0
  9. package/dist/cwd-bridge.js.map +1 -0
  10. package/dist/detached-runner.js +31 -5
  11. package/dist/detached-runner.js.map +1 -1
  12. package/dist/deterministic.d.ts +8 -0
  13. package/dist/deterministic.d.ts.map +1 -1
  14. package/dist/deterministic.js +23 -1
  15. package/dist/deterministic.js.map +1 -1
  16. package/dist/exec/driver.d.ts +48 -0
  17. package/dist/exec/driver.d.ts.map +1 -0
  18. package/dist/exec/driver.js +410 -0
  19. package/dist/exec/driver.js.map +1 -0
  20. package/dist/exec/events.d.ts +76 -0
  21. package/dist/exec/events.d.ts.map +1 -0
  22. package/dist/exec/events.js +108 -0
  23. package/dist/exec/events.js.map +1 -0
  24. package/dist/exec/fold.d.ts +45 -0
  25. package/dist/exec/fold.d.ts.map +1 -0
  26. package/dist/exec/fold.js +122 -0
  27. package/dist/exec/fold.js.map +1 -0
  28. package/dist/exec/index.d.ts +17 -0
  29. package/dist/exec/index.d.ts.map +1 -0
  30. package/dist/exec/index.js +17 -0
  31. package/dist/exec/index.js.map +1 -0
  32. package/dist/exec/kernel-policy.d.ts +35 -0
  33. package/dist/exec/kernel-policy.d.ts.map +1 -0
  34. package/dist/exec/kernel-policy.js +184 -0
  35. package/dist/exec/kernel-policy.js.map +1 -0
  36. package/dist/exec/step-kinds.d.ts +41 -0
  37. package/dist/exec/step-kinds.d.ts.map +1 -0
  38. package/dist/exec/step-kinds.js +599 -0
  39. package/dist/exec/step-kinds.js.map +1 -0
  40. package/dist/exec/step.d.ts +94 -0
  41. package/dist/exec/step.d.ts.map +1 -0
  42. package/dist/exec/step.js +454 -0
  43. package/dist/exec/step.js.map +1 -0
  44. package/dist/flowir/canonical-hash.d.ts +101 -0
  45. package/dist/flowir/canonical-hash.d.ts.map +1 -0
  46. package/dist/flowir/canonical-hash.js +219 -0
  47. package/dist/flowir/canonical-hash.js.map +1 -0
  48. package/dist/flowir/compile.d.ts +49 -0
  49. package/dist/flowir/compile.d.ts.map +1 -0
  50. package/dist/flowir/compile.js +232 -0
  51. package/dist/flowir/compile.js.map +1 -0
  52. package/dist/flowir/cond.d.ts +76 -0
  53. package/dist/flowir/cond.d.ts.map +1 -0
  54. package/dist/flowir/cond.js +214 -0
  55. package/dist/flowir/cond.js.map +1 -0
  56. package/dist/flowir/index.d.ts +20 -23
  57. package/dist/flowir/index.d.ts.map +1 -1
  58. package/dist/flowir/index.js +47 -35
  59. package/dist/flowir/index.js.map +1 -1
  60. package/dist/flowir/meta.d.ts +4 -4
  61. package/dist/flowir/meta.d.ts.map +1 -1
  62. package/dist/flowir/phasefp.d.ts.map +1 -1
  63. package/dist/flowir/phasefp.js +13 -1
  64. package/dist/flowir/phasefp.js.map +1 -1
  65. package/dist/flowir/schema.d.ts +260 -0
  66. package/dist/flowir/schema.d.ts.map +1 -0
  67. package/dist/flowir/schema.js +234 -0
  68. package/dist/flowir/schema.js.map +1 -0
  69. package/dist/flowir/translate.d.ts.map +1 -1
  70. package/dist/flowir/translate.js +3 -0
  71. package/dist/flowir/translate.js.map +1 -1
  72. package/dist/host/runner-types.d.ts +19 -0
  73. package/dist/host/runner-types.d.ts.map +1 -1
  74. package/dist/index.d.ts +4 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/interpolate.d.ts +4 -0
  79. package/dist/interpolate.d.ts.map +1 -1
  80. package/dist/interpolate.js +14 -0
  81. package/dist/interpolate.js.map +1 -1
  82. package/dist/rates.d.ts +121 -0
  83. package/dist/rates.d.ts.map +1 -0
  84. package/dist/rates.js +187 -0
  85. package/dist/rates.js.map +1 -0
  86. package/dist/replay.d.ts +43 -50
  87. package/dist/replay.d.ts.map +1 -1
  88. package/dist/replay.js +629 -19
  89. package/dist/replay.js.map +1 -1
  90. package/dist/resources/authority.d.ts +35 -0
  91. package/dist/resources/authority.d.ts.map +1 -0
  92. package/dist/resources/authority.js +67 -0
  93. package/dist/resources/authority.js.map +1 -0
  94. package/dist/resources/backend.d.ts +302 -0
  95. package/dist/resources/backend.d.ts.map +1 -0
  96. package/dist/resources/backend.js +16 -0
  97. package/dist/resources/backend.js.map +1 -0
  98. package/dist/resources/baseline.d.ts +116 -0
  99. package/dist/resources/baseline.d.ts.map +1 -0
  100. package/dist/resources/baseline.js +447 -0
  101. package/dist/resources/baseline.js.map +1 -0
  102. package/dist/resources/canonical-json.d.ts +7 -0
  103. package/dist/resources/canonical-json.d.ts.map +1 -0
  104. package/dist/resources/canonical-json.js +75 -0
  105. package/dist/resources/canonical-json.js.map +1 -0
  106. package/dist/resources/errors.d.ts +23 -0
  107. package/dist/resources/errors.d.ts.map +1 -0
  108. package/dist/resources/errors.js +89 -0
  109. package/dist/resources/errors.js.map +1 -0
  110. package/dist/resources/execution.d.ts +90 -0
  111. package/dist/resources/execution.d.ts.map +1 -0
  112. package/dist/resources/execution.js +581 -0
  113. package/dist/resources/execution.js.map +1 -0
  114. package/dist/resources/index.d.ts +15 -0
  115. package/dist/resources/index.d.ts.map +1 -0
  116. package/dist/resources/index.js +15 -0
  117. package/dist/resources/index.js.map +1 -0
  118. package/dist/resources/journal.d.ts +138 -0
  119. package/dist/resources/journal.d.ts.map +1 -0
  120. package/dist/resources/journal.js +438 -0
  121. package/dist/resources/journal.js.map +1 -0
  122. package/dist/resources/leases.d.ts +51 -0
  123. package/dist/resources/leases.d.ts.map +1 -0
  124. package/dist/resources/leases.js +354 -0
  125. package/dist/resources/leases.js.map +1 -0
  126. package/dist/resources/permits.d.ts +52 -0
  127. package/dist/resources/permits.d.ts.map +1 -0
  128. package/dist/resources/permits.js +240 -0
  129. package/dist/resources/permits.js.map +1 -0
  130. package/dist/resources/persistence.d.ts +63 -0
  131. package/dist/resources/persistence.d.ts.map +1 -0
  132. package/dist/resources/persistence.js +522 -0
  133. package/dist/resources/persistence.js.map +1 -0
  134. package/dist/resources/registry.d.ts +56 -0
  135. package/dist/resources/registry.d.ts.map +1 -0
  136. package/dist/resources/registry.js +139 -0
  137. package/dist/resources/registry.js.map +1 -0
  138. package/dist/resources/resolve.d.ts +49 -0
  139. package/dist/resources/resolve.d.ts.map +1 -0
  140. package/dist/resources/resolve.js +309 -0
  141. package/dist/resources/resolve.js.map +1 -0
  142. package/dist/resources/sandbox.d.ts +72 -0
  143. package/dist/resources/sandbox.d.ts.map +1 -0
  144. package/dist/resources/sandbox.js +952 -0
  145. package/dist/resources/sandbox.js.map +1 -0
  146. package/dist/resources/schema.d.ts +195 -0
  147. package/dist/resources/schema.d.ts.map +1 -0
  148. package/dist/resources/schema.js +231 -0
  149. package/dist/resources/schema.js.map +1 -0
  150. package/dist/resources/types.d.ts +36 -0
  151. package/dist/resources/types.d.ts.map +1 -0
  152. package/dist/resources/types.js +75 -0
  153. package/dist/resources/types.js.map +1 -0
  154. package/dist/runner-core.d.ts +53 -0
  155. package/dist/runner-core.d.ts.map +1 -1
  156. package/dist/runner-core.js +521 -53
  157. package/dist/runner-core.js.map +1 -1
  158. package/dist/runtime/phases/approval.d.ts +23 -0
  159. package/dist/runtime/phases/approval.d.ts.map +1 -0
  160. package/dist/runtime/phases/approval.js +38 -0
  161. package/dist/runtime/phases/approval.js.map +1 -0
  162. package/dist/runtime/phases/expand.d.ts +29 -0
  163. package/dist/runtime/phases/expand.d.ts.map +1 -0
  164. package/dist/runtime/phases/expand.js +126 -0
  165. package/dist/runtime/phases/expand.js.map +1 -0
  166. package/dist/runtime/phases/parallel.d.ts +26 -0
  167. package/dist/runtime/phases/parallel.d.ts.map +1 -0
  168. package/dist/runtime/phases/parallel.js +15 -0
  169. package/dist/runtime/phases/parallel.js.map +1 -0
  170. package/dist/runtime/phases/race.d.ts +31 -0
  171. package/dist/runtime/phases/race.d.ts.map +1 -0
  172. package/dist/runtime/phases/race.js +220 -0
  173. package/dist/runtime/phases/race.js.map +1 -0
  174. package/dist/runtime/phases/script.d.ts +38 -0
  175. package/dist/runtime/phases/script.d.ts.map +1 -0
  176. package/dist/runtime/phases/script.js +177 -0
  177. package/dist/runtime/phases/script.js.map +1 -0
  178. package/dist/runtime.d.ts +68 -16
  179. package/dist/runtime.d.ts.map +1 -1
  180. package/dist/runtime.js +1091 -337
  181. package/dist/runtime.js.map +1 -1
  182. package/dist/schema.d.ts +104 -9
  183. package/dist/schema.d.ts.map +1 -1
  184. package/dist/schema.js +249 -32
  185. package/dist/schema.js.map +1 -1
  186. package/dist/store.d.ts +13 -0
  187. package/dist/store.d.ts.map +1 -1
  188. package/dist/store.js.map +1 -1
  189. package/dist/trace.d.ts +7 -1
  190. package/dist/trace.d.ts.map +1 -1
  191. package/dist/trace.js +33 -26
  192. package/dist/trace.js.map +1 -1
  193. 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`/`legacyKey` are consulted READ-ONLY on a miss so an
143
- * upgrade never produces a miss-storm. See docs/internal/cache-migration.md. */
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
- * Four keys are produced for backward compatibility (see
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
- * `cachedPhase` consults all four READ-ONLY on a miss; `recordCache` writes
169
- * only `key`. This means an upgrade never produces a miss-storm: existing
170
- * entries (whichever shape) still hit, and new writes converge on `key`. */
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
  */
@@ -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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"}