taskflow-core 0.2.1 → 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.
- package/README.md +3 -3
- package/dist/build-info.d.ts +48 -0
- package/dist/build-info.d.ts.map +1 -0
- package/dist/build-info.js +112 -0
- package/dist/build-info.js.map +1 -0
- package/dist/build-info.json +4 -0
- package/dist/exec/driver.d.ts +5 -0
- package/dist/exec/driver.d.ts.map +1 -1
- package/dist/exec/driver.js +25 -16
- package/dist/exec/driver.js.map +1 -1
- package/dist/exec/kernel-policy.d.ts.map +1 -1
- package/dist/exec/kernel-policy.js +10 -0
- package/dist/exec/kernel-policy.js.map +1 -1
- package/dist/exec/step-kinds.d.ts +14 -1
- package/dist/exec/step-kinds.d.ts.map +1 -1
- package/dist/exec/step-kinds.js +98 -3
- package/dist/exec/step-kinds.js.map +1 -1
- package/dist/exec/step.d.ts +21 -0
- package/dist/exec/step.d.ts.map +1 -1
- package/dist/exec/step.js +22 -5
- package/dist/exec/step.js.map +1 -1
- package/dist/final-output.d.ts +53 -0
- package/dist/final-output.d.ts.map +1 -0
- package/dist/final-output.js +65 -0
- package/dist/final-output.js.map +1 -0
- package/dist/flowir/canonical-hash.d.ts.map +1 -1
- package/dist/flowir/canonical-hash.js +2 -0
- package/dist/flowir/canonical-hash.js.map +1 -1
- package/dist/flowir/compile.d.ts.map +1 -1
- package/dist/flowir/compile.js +4 -0
- package/dist/flowir/compile.js.map +1 -1
- package/dist/flowir/meta.d.ts +3 -0
- package/dist/flowir/meta.d.ts.map +1 -1
- package/dist/flowir/schema.d.ts +3 -0
- package/dist/flowir/schema.d.ts.map +1 -1
- package/dist/flowir/schema.js.map +1 -1
- package/dist/flowir/translate.d.ts.map +1 -1
- package/dist/flowir/translate.js +4 -0
- package/dist/flowir/translate.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/resume.d.ts +76 -0
- package/dist/resume.d.ts.map +1 -0
- package/dist/resume.js +190 -0
- package/dist/resume.js.map +1 -0
- package/dist/runtime/phases/parallel.d.ts +3 -0
- package/dist/runtime/phases/parallel.d.ts.map +1 -1
- package/dist/runtime/phases/parallel.js.map +1 -1
- package/dist/runtime/phases/reduce.d.ts +47 -0
- package/dist/runtime/phases/reduce.d.ts.map +1 -0
- package/dist/runtime/phases/reduce.js +195 -0
- package/dist/runtime/phases/reduce.js.map +1 -0
- package/dist/runtime.d.ts +28 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +392 -59
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +67 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +177 -1
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +49 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +5 -1
- package/dist/store.js.map +1 -1
- package/package.json +2 -2
|
@@ -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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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ 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";
|
|
@@ -118,6 +118,13 @@ export interface RuntimeResult {
|
|
|
118
118
|
finalOutput: string;
|
|
119
119
|
ok: boolean;
|
|
120
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;
|
|
121
128
|
/** Incremental-reuse summary: how many phases were reused from cache vs.
|
|
122
129
|
* freshly executed this run, and the cost the reused work would otherwise
|
|
123
130
|
* have incurred (known only for within-run resume; cross-run hits zero
|
|
@@ -125,6 +132,7 @@ export interface RuntimeResult {
|
|
|
125
132
|
* additive — callers that ignore it are unaffected. */
|
|
126
133
|
reuse?: ReuseSummary;
|
|
127
134
|
}
|
|
135
|
+
export { resolveFinalOutput, type FinalOutputBlockedCtx, type FinalOutputResolution, } from "./final-output.ts";
|
|
128
136
|
/** A run's incremental-reuse accounting (see RuntimeResult.reuse). */
|
|
129
137
|
export interface ReuseSummary {
|
|
130
138
|
/** Phases that completed by executing a subagent this run. */
|
|
@@ -143,6 +151,25 @@ export interface ReuseSummary {
|
|
|
143
151
|
* Pure, total, never throws. A phase is "reused" iff it carries a `cacheHit`
|
|
144
152
|
* marker (set by `cachedPhase` for both within-run resume and cross-run hits). */
|
|
145
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;
|
|
146
173
|
/**
|
|
147
174
|
* Per-phase cache policy resolved once at the top of executePhase. Carries the
|
|
148
175
|
* scope, optional TTL, and a pre-resolved fingerprint string so each phase-type
|
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,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,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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"}
|