taskflow-core 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +247 -862
  2. package/dist/agents.d.ts +12 -0
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +29 -1
  5. package/dist/agents.js.map +1 -1
  6. package/dist/build-info.d.ts +48 -0
  7. package/dist/build-info.d.ts.map +1 -0
  8. package/dist/build-info.js +112 -0
  9. package/dist/build-info.js.map +1 -0
  10. package/dist/build-info.json +4 -0
  11. package/dist/cwd-bridge.d.ts +61 -0
  12. package/dist/cwd-bridge.d.ts.map +1 -0
  13. package/dist/cwd-bridge.js +136 -0
  14. package/dist/cwd-bridge.js.map +1 -0
  15. package/dist/detached-runner.js +31 -5
  16. package/dist/detached-runner.js.map +1 -1
  17. package/dist/exec/driver.d.ts +6 -0
  18. package/dist/exec/driver.d.ts.map +1 -1
  19. package/dist/exec/driver.js +40 -18
  20. package/dist/exec/driver.js.map +1 -1
  21. package/dist/exec/kernel-policy.d.ts.map +1 -1
  22. package/dist/exec/kernel-policy.js +10 -0
  23. package/dist/exec/kernel-policy.js.map +1 -1
  24. package/dist/exec/step-kinds.d.ts +14 -1
  25. package/dist/exec/step-kinds.d.ts.map +1 -1
  26. package/dist/exec/step-kinds.js +126 -6
  27. package/dist/exec/step-kinds.js.map +1 -1
  28. package/dist/exec/step.d.ts +22 -0
  29. package/dist/exec/step.d.ts.map +1 -1
  30. package/dist/exec/step.js +40 -5
  31. package/dist/exec/step.js.map +1 -1
  32. package/dist/final-output.d.ts +53 -0
  33. package/dist/final-output.d.ts.map +1 -0
  34. package/dist/final-output.js +65 -0
  35. package/dist/final-output.js.map +1 -0
  36. package/dist/flowir/canonical-hash.d.ts.map +1 -1
  37. package/dist/flowir/canonical-hash.js +2 -0
  38. package/dist/flowir/canonical-hash.js.map +1 -1
  39. package/dist/flowir/compile.d.ts.map +1 -1
  40. package/dist/flowir/compile.js +17 -0
  41. package/dist/flowir/compile.js.map +1 -1
  42. package/dist/flowir/meta.d.ts +3 -0
  43. package/dist/flowir/meta.d.ts.map +1 -1
  44. package/dist/flowir/schema.d.ts +3 -0
  45. package/dist/flowir/schema.d.ts.map +1 -1
  46. package/dist/flowir/schema.js.map +1 -1
  47. package/dist/flowir/translate.d.ts.map +1 -1
  48. package/dist/flowir/translate.js +4 -0
  49. package/dist/flowir/translate.js.map +1 -1
  50. package/dist/host/runner-types.d.ts +16 -0
  51. package/dist/host/runner-types.d.ts.map +1 -1
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +9 -0
  55. package/dist/index.js.map +1 -1
  56. package/dist/interpolate.d.ts +4 -0
  57. package/dist/interpolate.d.ts.map +1 -1
  58. package/dist/interpolate.js +14 -0
  59. package/dist/interpolate.js.map +1 -1
  60. package/dist/resources/authority.d.ts +35 -0
  61. package/dist/resources/authority.d.ts.map +1 -0
  62. package/dist/resources/authority.js +67 -0
  63. package/dist/resources/authority.js.map +1 -0
  64. package/dist/resources/backend.d.ts +302 -0
  65. package/dist/resources/backend.d.ts.map +1 -0
  66. package/dist/resources/backend.js +16 -0
  67. package/dist/resources/backend.js.map +1 -0
  68. package/dist/resources/baseline.d.ts +116 -0
  69. package/dist/resources/baseline.d.ts.map +1 -0
  70. package/dist/resources/baseline.js +447 -0
  71. package/dist/resources/baseline.js.map +1 -0
  72. package/dist/resources/canonical-json.d.ts +7 -0
  73. package/dist/resources/canonical-json.d.ts.map +1 -0
  74. package/dist/resources/canonical-json.js +75 -0
  75. package/dist/resources/canonical-json.js.map +1 -0
  76. package/dist/resources/errors.d.ts +23 -0
  77. package/dist/resources/errors.d.ts.map +1 -0
  78. package/dist/resources/errors.js +89 -0
  79. package/dist/resources/errors.js.map +1 -0
  80. package/dist/resources/execution.d.ts +90 -0
  81. package/dist/resources/execution.d.ts.map +1 -0
  82. package/dist/resources/execution.js +581 -0
  83. package/dist/resources/execution.js.map +1 -0
  84. package/dist/resources/index.d.ts +15 -0
  85. package/dist/resources/index.d.ts.map +1 -0
  86. package/dist/resources/index.js +15 -0
  87. package/dist/resources/index.js.map +1 -0
  88. package/dist/resources/journal.d.ts +138 -0
  89. package/dist/resources/journal.d.ts.map +1 -0
  90. package/dist/resources/journal.js +438 -0
  91. package/dist/resources/journal.js.map +1 -0
  92. package/dist/resources/leases.d.ts +51 -0
  93. package/dist/resources/leases.d.ts.map +1 -0
  94. package/dist/resources/leases.js +354 -0
  95. package/dist/resources/leases.js.map +1 -0
  96. package/dist/resources/permits.d.ts +52 -0
  97. package/dist/resources/permits.d.ts.map +1 -0
  98. package/dist/resources/permits.js +240 -0
  99. package/dist/resources/permits.js.map +1 -0
  100. package/dist/resources/persistence.d.ts +63 -0
  101. package/dist/resources/persistence.d.ts.map +1 -0
  102. package/dist/resources/persistence.js +522 -0
  103. package/dist/resources/persistence.js.map +1 -0
  104. package/dist/resources/registry.d.ts +56 -0
  105. package/dist/resources/registry.d.ts.map +1 -0
  106. package/dist/resources/registry.js +139 -0
  107. package/dist/resources/registry.js.map +1 -0
  108. package/dist/resources/resolve.d.ts +49 -0
  109. package/dist/resources/resolve.d.ts.map +1 -0
  110. package/dist/resources/resolve.js +309 -0
  111. package/dist/resources/resolve.js.map +1 -0
  112. package/dist/resources/sandbox.d.ts +72 -0
  113. package/dist/resources/sandbox.d.ts.map +1 -0
  114. package/dist/resources/sandbox.js +952 -0
  115. package/dist/resources/sandbox.js.map +1 -0
  116. package/dist/resources/schema.d.ts +195 -0
  117. package/dist/resources/schema.d.ts.map +1 -0
  118. package/dist/resources/schema.js +231 -0
  119. package/dist/resources/schema.js.map +1 -0
  120. package/dist/resources/types.d.ts +36 -0
  121. package/dist/resources/types.d.ts.map +1 -0
  122. package/dist/resources/types.js +75 -0
  123. package/dist/resources/types.js.map +1 -0
  124. package/dist/resume.d.ts +76 -0
  125. package/dist/resume.d.ts.map +1 -0
  126. package/dist/resume.js +190 -0
  127. package/dist/resume.js.map +1 -0
  128. package/dist/runner-core.d.ts +29 -0
  129. package/dist/runner-core.d.ts.map +1 -1
  130. package/dist/runner-core.js +311 -36
  131. package/dist/runner-core.js.map +1 -1
  132. package/dist/runtime/phases/parallel.d.ts +3 -0
  133. package/dist/runtime/phases/parallel.d.ts.map +1 -1
  134. package/dist/runtime/phases/parallel.js.map +1 -1
  135. package/dist/runtime/phases/reduce.d.ts +47 -0
  136. package/dist/runtime/phases/reduce.d.ts.map +1 -0
  137. package/dist/runtime/phases/reduce.js +195 -0
  138. package/dist/runtime/phases/reduce.js.map +1 -0
  139. package/dist/runtime/phases/script.d.ts.map +1 -1
  140. package/dist/runtime/phases/script.js +47 -9
  141. package/dist/runtime/phases/script.js.map +1 -1
  142. package/dist/runtime.d.ts +67 -1
  143. package/dist/runtime.d.ts.map +1 -1
  144. package/dist/runtime.js +904 -79
  145. package/dist/runtime.js.map +1 -1
  146. package/dist/schema.d.ts +135 -5
  147. package/dist/schema.d.ts.map +1 -1
  148. package/dist/schema.js +338 -21
  149. package/dist/schema.js.map +1 -1
  150. package/dist/store.d.ts +56 -0
  151. package/dist/store.d.ts.map +1 -1
  152. package/dist/store.js +5 -1
  153. package/dist/store.js.map +1 -1
  154. package/dist/trace.d.ts +3 -0
  155. package/dist/trace.d.ts.map +1 -1
  156. package/dist/trace.js.map +1 -1
  157. package/package.json +4 -3
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Hierarchical reduce execution.
3
+ *
4
+ * The runtime owns interpolation, cache policy, and runner wiring; this module
5
+ * owns the tree algorithm and its hard admission cap so runtime.ts does not
6
+ * grow another phase-sized control-flow block.
7
+ */
8
+ import type { RunResult } from "../../host/runner-types.ts";
9
+ import { type Phase } from "../../schema.ts";
10
+ import { type PhaseState, type RunState } from "../../store.ts";
11
+ import { type UsageStats } from "../../usage.ts";
12
+ export interface TreeReduceItem {
13
+ label: string;
14
+ output: string;
15
+ }
16
+ export interface TreeReduceSource {
17
+ id: string;
18
+ output: string;
19
+ }
20
+ export interface TreeReduceTask {
21
+ task: string;
22
+ warning?: string;
23
+ }
24
+ export interface TreeReduceExecutionOptions {
25
+ phase: Phase;
26
+ inputs: TreeReduceSource[];
27
+ batchSize: number;
28
+ agentName: string;
29
+ inputHash: string;
30
+ isAborted: () => boolean;
31
+ isOverBudget: () => boolean;
32
+ resolveTask: (batchValue: string) => TreeReduceTask;
33
+ runOne: (task: string, usageBefore: UsageStats | undefined, beforeAttempt: () => string | undefined, callId: string) => Promise<RunResult>;
34
+ }
35
+ export interface TreeReduceExecutionResult {
36
+ phaseState: PhaseState;
37
+ refWarning?: string;
38
+ cacheable: boolean;
39
+ }
40
+ export declare function collectTreeReduceInputs(state: RunState, phase: Phase): TreeReduceSource[];
41
+ export declare function formatTreeReduceBatch(items: TreeReduceItem[]): string;
42
+ /** Stable, pre-execution cache material. It deliberately excludes intermediate
43
+ * model outputs (unknowable before execution) and includes every authored
44
+ * dependency plus invocation args so non-`from` refs cannot produce false hits. */
45
+ export declare function treeReduceCacheParts(state: RunState, phase: Phase, inputs: TreeReduceSource[], batchSize: number): string[];
46
+ export declare function executeTreeReduction(opts: TreeReduceExecutionOptions): Promise<TreeReduceExecutionResult>;
47
+ //# sourceMappingURL=reduce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduce.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/reduce.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAKN,KAAK,KAAK,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,CAAC;IACpD,MAAM,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,UAAU,GAAG,SAAS,EACnC,aAAa,EAAE,MAAM,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,KACV,OAAO,CAAC,SAAS,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACzC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,EAAE,CASzF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAIrE;AAED;;mFAEmF;AACnF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EAAE,EAC1B,SAAS,EAAE,MAAM,GACf,MAAM,EAAE,CA0BV;AAgBD,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,0BAA0B,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAiIpC"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Hierarchical reduce execution.
3
+ *
4
+ * The runtime owns interpolation, cache policy, and runner wiring; this module
5
+ * owns the tree algorithm and its hard admission cap so runtime.ts does not
6
+ * grow another phase-sized control-flow block.
7
+ */
8
+ import { isFailed } from "../../runner-core.js";
9
+ import { asArray, collectRefs, transitiveDependencies, TREE_REDUCE_HARD_MAX_CALLS, } from "../../schema.js";
10
+ import { hashInput } from "../../store.js";
11
+ import { aggregateUsage, emptyUsage } from "../../usage.js";
12
+ export function collectTreeReduceInputs(state, phase) {
13
+ const inputs = [];
14
+ for (const id of asArray(phase.from)) {
15
+ const phaseState = state.phases[id];
16
+ if (phaseState?.status === "done" && phaseState.output !== undefined) {
17
+ inputs.push({ id, output: phaseState.output });
18
+ }
19
+ }
20
+ return inputs;
21
+ }
22
+ export function formatTreeReduceBatch(items) {
23
+ return items.length === 1
24
+ ? items[0].output
25
+ : items.map((item) => `### ${item.label}\n\n${item.output}`).join("\n\n---\n\n");
26
+ }
27
+ /** Stable, pre-execution cache material. It deliberately excludes intermediate
28
+ * model outputs (unknowable before execution) and includes every authored
29
+ * dependency plus invocation args so non-`from` refs cannot produce false hits. */
30
+ export function treeReduceCacheParts(state, phase, inputs, batchSize) {
31
+ const dependencyIds = Array.from(new Set([
32
+ ...transitiveDependencies(state.def.phases, phase.id),
33
+ ...collectRefs(phase).steps,
34
+ ])).sort();
35
+ const inputSnapshot = inputs.map(({ id, output }) => ({ id, outputHash: hashInput(output) }));
36
+ const dependencySnapshot = dependencyIds.map((id) => {
37
+ const phaseState = state.phases[id];
38
+ return {
39
+ id,
40
+ status: phaseState?.status,
41
+ ...(phaseState?.output !== undefined ? { outputHash: hashInput(phaseState.output) } : {}),
42
+ };
43
+ });
44
+ const stateHash = hashInput(JSON.stringify({
45
+ inputs: inputSnapshot,
46
+ argsHash: hashInput(JSON.stringify(state.args)),
47
+ dependencies: dependencySnapshot,
48
+ }));
49
+ return [
50
+ phase.id,
51
+ "tree-reduce",
52
+ `batch:${batchSize}`,
53
+ phase.task ?? "",
54
+ `state:${stateHash}`,
55
+ ];
56
+ }
57
+ function capFailure(agentName, task) {
58
+ const error = `Tree reduction exceeded hard cap of ${TREE_REDUCE_HARD_MAX_CALLS} actual subagent attempts`;
59
+ return {
60
+ agent: agentName,
61
+ task,
62
+ exitCode: 1,
63
+ output: "",
64
+ stderr: error,
65
+ usage: emptyUsage(),
66
+ stopReason: "error",
67
+ errorMessage: error,
68
+ };
69
+ }
70
+ export async function executeTreeReduction(opts) {
71
+ let round = opts.inputs.map((input) => ({
72
+ label: input.id,
73
+ output: input.output,
74
+ }));
75
+ let roundNumber = 1;
76
+ let actualAttempts = 0;
77
+ const usages = [];
78
+ let failed;
79
+ let truncatedByBudget = false;
80
+ let aborted = false;
81
+ let refWarning;
82
+ while (round.length > 1) {
83
+ if (actualAttempts >= TREE_REDUCE_HARD_MAX_CALLS) {
84
+ failed = capFailure(opts.agentName, opts.phase.task ?? "");
85
+ break;
86
+ }
87
+ if (opts.isAborted()) {
88
+ aborted = true;
89
+ break;
90
+ }
91
+ if (opts.isOverBudget()) {
92
+ truncatedByBudget = true;
93
+ break;
94
+ }
95
+ const batches = [];
96
+ for (let i = 0; i < round.length; i += opts.batchSize) {
97
+ batches.push(round.slice(i, i + opts.batchSize));
98
+ }
99
+ const next = [];
100
+ let consumedInputs = 0;
101
+ for (let batchIndex = 0; batchIndex < batches.length; batchIndex++) {
102
+ if (actualAttempts >= TREE_REDUCE_HARD_MAX_CALLS) {
103
+ failed = capFailure(opts.agentName, opts.phase.task ?? "");
104
+ break;
105
+ }
106
+ if (opts.isAborted()) {
107
+ aborted = true;
108
+ break;
109
+ }
110
+ if (opts.isOverBudget()) {
111
+ truncatedByBudget = true;
112
+ break;
113
+ }
114
+ const batch = batches[batchIndex];
115
+ const resolved = opts.resolveTask(formatTreeReduceBatch(batch));
116
+ if (!refWarning && resolved.warning)
117
+ refWarning = resolved.warning;
118
+ const usageBefore = usages.length ? aggregateUsage(usages) : undefined;
119
+ const beforeAttempt = () => {
120
+ if (actualAttempts >= TREE_REDUCE_HARD_MAX_CALLS) {
121
+ return `Tree reduction exceeded hard cap of ${TREE_REDUCE_HARD_MAX_CALLS} actual subagent attempts`;
122
+ }
123
+ actualAttempts++;
124
+ return undefined;
125
+ };
126
+ const callId = `round-${roundNumber}-batch-${batchIndex + 1}`;
127
+ const result = await opts.runOne(resolved.task, usageBefore, beforeAttempt, callId);
128
+ usages.push(result.usage ?? emptyUsage());
129
+ if (isFailed(result)) {
130
+ failed = result;
131
+ break;
132
+ }
133
+ next.push({
134
+ label: `round-${roundNumber}-batch-${batchIndex + 1}`,
135
+ output: result.output ?? "",
136
+ });
137
+ consumedInputs += batch.length;
138
+ }
139
+ if (truncatedByBudget) {
140
+ round = [...next, ...round.slice(consumedInputs)];
141
+ }
142
+ if (failed || aborted || truncatedByBudget)
143
+ break;
144
+ round = next;
145
+ roundNumber++;
146
+ }
147
+ if (failed) {
148
+ return {
149
+ phaseState: {
150
+ id: opts.phase.id,
151
+ status: "failed",
152
+ output: failed.output ?? "",
153
+ error: failed.errorMessage ?? failed.stderr,
154
+ usage: aggregateUsage(usages),
155
+ attempts: actualAttempts,
156
+ inputHash: opts.inputHash,
157
+ endedAt: Date.now(),
158
+ ...(failed.phaseTimeout ? { timedOut: true } : {}),
159
+ },
160
+ refWarning,
161
+ cacheable: false,
162
+ };
163
+ }
164
+ if (aborted) {
165
+ return {
166
+ phaseState: {
167
+ id: opts.phase.id,
168
+ status: "failed",
169
+ error: "Tree reduction aborted before all inputs were reduced",
170
+ usage: aggregateUsage(usages),
171
+ attempts: actualAttempts,
172
+ inputHash: opts.inputHash,
173
+ endedAt: Date.now(),
174
+ },
175
+ refWarning,
176
+ cacheable: false,
177
+ };
178
+ }
179
+ const output = round.length === 1 ? round[0].output : formatTreeReduceBatch(round);
180
+ return {
181
+ phaseState: {
182
+ id: opts.phase.id,
183
+ status: "done",
184
+ output,
185
+ usage: aggregateUsage(usages),
186
+ attempts: actualAttempts,
187
+ inputHash: opts.inputHash,
188
+ endedAt: Date.now(),
189
+ ...(truncatedByBudget ? { budgetTruncated: true } : {}),
190
+ },
191
+ refWarning,
192
+ cacheable: !truncatedByBudget,
193
+ };
194
+ }
195
+ //# sourceMappingURL=reduce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../../src/runtime/phases/reduce.ts"],"names":[],"mappings":"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"}
@@ -1 +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;AAOjD,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,CA6E3B;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"}
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"}
@@ -3,7 +3,10 @@
3
3
  * Isolated from runtime.ts so S5 strangler can flip kinds without growing the monolith.
4
4
  */
5
5
  import { emptyUsage } from "../../usage.js";
6
- import { killProcessTree } from "../../runner-core.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";
7
10
  const MAX_STDOUT = 1_048_576; // 1 MB cap
8
11
  const SIGKILL_GRACE_MS = 5_000;
9
12
  /**
@@ -13,9 +16,15 @@ export async function runScriptCommand(opts) {
13
16
  const { spawn } = await import("node:child_process");
14
17
  const { interpRunText, arrayForm, cwd, signal, stdinInput, timeoutMs } = opts;
15
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];
16
25
  const spawnOptions = {
17
26
  cwd,
18
- env: process.env,
27
+ env: childEnv,
19
28
  detached: process.platform !== "win32",
20
29
  };
21
30
  const child = arrayForm
@@ -27,21 +36,33 @@ export async function runScriptCommand(opts) {
27
36
  ...spawnOptions,
28
37
  shell: true,
29
38
  });
39
+ if (child.pid)
40
+ registerProcessTree(child.pid);
30
41
  let stdout = "";
31
42
  let stderr = "";
43
+ let stdoutBytes = 0;
44
+ let stderrBytes = 0;
32
45
  let stdoutOversize = false;
33
46
  let timedOut = false;
47
+ let settled = false;
48
+ const stdoutDecoder = new StringDecoder("utf8");
49
+ const stderrDecoder = new StringDecoder("utf8");
34
50
  child.stdout?.on("data", (d) => {
35
- if (stdout.length < MAX_STDOUT) {
36
- const need = MAX_STDOUT - stdout.length;
37
- stdout += d.toString().slice(0, need);
38
- if (stdout.length >= MAX_STDOUT)
39
- stdoutOversize = true;
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;
40
56
  }
57
+ if (d.length > retained.length)
58
+ stdoutOversize = true;
41
59
  });
42
60
  child.stderr?.on("data", (d) => {
43
- if (stderr.length < 500) {
44
- stderr += d.toString().slice(0, 500 - stderr.length);
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;
45
66
  }
46
67
  });
47
68
  let sigkillTimer;
@@ -62,9 +83,14 @@ export async function runScriptCommand(opts) {
62
83
  if (signal?.aborted)
63
84
  onAbort();
64
85
  child.on("error", (err) => {
86
+ if (settled)
87
+ return;
88
+ settled = true;
65
89
  clearTimeout(timer);
66
90
  clearTimeout(sigkillTimer);
67
91
  signal?.removeEventListener("abort", onAbort);
92
+ if (child.pid)
93
+ unregisterProcessTree(child.pid);
68
94
  reject(err);
69
95
  });
70
96
  child.once("exit", () => {
@@ -72,11 +98,23 @@ export async function runScriptCommand(opts) {
72
98
  killProcessTree(child.pid, "SIGKILL", child);
73
99
  });
74
100
  child.on("close", (code) => {
101
+ if (settled)
102
+ return;
103
+ settled = true;
75
104
  clearTimeout(timer);
76
105
  clearTimeout(sigkillTimer);
77
106
  signal?.removeEventListener("abort", onAbort);
78
107
  if (child.pid)
79
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();
80
118
  resolve({ stdout, stderr, code, stdoutOversize, timedOut });
81
119
  });
82
120
  if (child.stdin) {
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"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"}
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
@@ -16,13 +16,15 @@ import type { SubagentRunner } from "./host/runner-types.ts";
16
16
  type RunTaskFn = SubagentRunner<any>["runTask"];
17
17
  export { PHASE_TIMEOUT_ABORT_GRACE_MS } from "./runner-core.ts";
18
18
  import { type UsageStats } from "./usage.ts";
19
- import { type CacheScope, type Taskflow } from "./schema.ts";
19
+ import { type CacheScope, type Phase, type Taskflow } from "./schema.ts";
20
20
  import { parseGateVerdict } from "./deterministic.ts";
21
21
  export { parseTournamentWinner } from "./deterministic.ts";
22
22
  import { type TraceSink } from "./trace.ts";
23
23
  export { parseGateVerdict };
24
24
  import { type PhaseState, type RunState } from "./store.ts";
25
25
  import { CacheStore } from "./cache.ts";
26
+ import { type CwdBridgeMode } from "./cwd-bridge.ts";
27
+ import { type ResolveOnlyPhaseBinding, type ResolveOnlyWorkspaceSession } from "./resources/execution.ts";
26
28
  /** A human-in-the-loop approval request raised by an `approval` phase. */
27
29
  export interface ApprovalRequest {
28
30
  phaseId: string;
@@ -76,12 +78,53 @@ export interface RuntimeDeps {
76
78
  _ctxDir?: string;
77
79
  /** Internal: an isolated workspace dir override for the current phase (worktree isolation). */
78
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;
79
108
  }
109
+ type FlowLoaderSnapshotEntry = {
110
+ ok: true;
111
+ value: Taskflow | undefined;
112
+ } | {
113
+ ok: false;
114
+ error: unknown;
115
+ };
80
116
  export interface RuntimeResult {
81
117
  state: RunState;
82
118
  finalOutput: string;
83
119
  ok: boolean;
84
120
  totalUsage: UsageStats;
121
+ /** The id of the PhaseState whose output supplied `finalOutput`. For the
122
+ * normal case this is the (fallback) final phase that actually completed.
123
+ * For gate/budget prefixes, it is retained when underlying partial output
124
+ * is included (the blocking gate/approval phase, or the fallback final
125
+ * phase for a budget halt); `undefined` when no phase output is available
126
+ * (no phase completed). Never the designated skipped/failed final phase. */
127
+ outputSourcePhaseId?: string;
85
128
  /** Incremental-reuse summary: how many phases were reused from cache vs.
86
129
  * freshly executed this run, and the cost the reused work would otherwise
87
130
  * have incurred (known only for within-run resume; cross-run hits zero
@@ -89,6 +132,7 @@ export interface RuntimeResult {
89
132
  * additive — callers that ignore it are unaffected. */
90
133
  reuse?: ReuseSummary;
91
134
  }
135
+ export { resolveFinalOutput, type FinalOutputBlockedCtx, type FinalOutputResolution, } from "./final-output.ts";
92
136
  /** A run's incremental-reuse accounting (see RuntimeResult.reuse). */
93
137
  export interface ReuseSummary {
94
138
  /** Phases that completed by executing a subagent this run. */
@@ -107,6 +151,25 @@ export interface ReuseSummary {
107
151
  * Pure, total, never throws. A phase is "reused" iff it carries a `cacheHit`
108
152
  * marker (set by `cachedPhase` for both within-run resume and cross-run hits). */
109
153
  export declare function summarizeReuse(state: RunState): ReuseSummary;
154
+ /** A conservative prompt-size warning threshold in estimated tokens. Crossed
155
+ * → the phase records a `warnings` entry so an author notices they may be
156
+ * approaching a model's context limit. Approximate (ceil(chars/4)), not a
157
+ * real tokenizer count. Chosen conservatively well below typical 128K context
158
+ * windows so the warning fires with ample headroom. */
159
+ export declare const PROMPT_SIZE_WARN_TOKENS = 32000;
160
+ /** Compute durable prompt-size diagnostics for a resolved prompt string:
161
+ * exact UTF-8 byte count, character count, and a documented approximate token
162
+ * estimate (ceil(chars/4)). Never throws. */
163
+ export declare function promptSizeStats(text: string): {
164
+ bytes: number;
165
+ chars: number;
166
+ estTokens: number;
167
+ };
168
+ /** Resolve the effective idle-watchdog ms for a phase: phase overrides flow;
169
+ * returns `undefined` when neither sets it (host default 300000 applies).
170
+ * `0` is passed through (disables the watchdog — validation already ensured a
171
+ * finite wall `timeout` exists in that case). */
172
+ export declare function resolveIdleTimeoutMs(phase: Phase, def: Taskflow): number | undefined;
110
173
  /**
111
174
  * Per-phase cache policy resolved once at the top of executePhase. Carries the
112
175
  * scope, optional TTL, and a pre-resolved fingerprint string so each phase-type
@@ -138,6 +201,9 @@ export interface PhaseCacheCtx {
138
201
  /** Resolved agent content/config. Same name+scope can still change prompt,
139
202
  * model, tools, or thinking and must invalidate cached output. */
140
203
  agentDefinitions?: string;
204
+ /** Canonical effective cwd. Required because a typed cwd arg can change the
205
+ * resource selected without appearing in the task text or phase definition. */
206
+ executionCwd?: string;
141
207
  /** Content fingerprint of the desugared flow definition — folded into the
142
208
  * key so two structurally-different flows that share a name can never
143
209
  * collide, and a changed flow never serves a stale cross-run hit. */
@@ -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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"}