@relayflows/sdk 2.0.21 → 2.0.22
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/dist/agent-transcript.d.ts +186 -0
- package/dist/agent-transcript.d.ts.map +1 -0
- package/dist/agent-transcript.js +585 -0
- package/dist/agent-transcript.js.map +1 -0
- package/dist/cli/run.js +2 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/status.d.ts +34 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +307 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/step-failure.js +31 -7
- package/dist/cli/step-failure.js.map +1 -1
- package/dist/cli-commands.d.ts +13 -0
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +11 -0
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -0
- package/dist/cli.js.map +1 -1
- package/dist/failure-kinds.d.ts +15 -2
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +8 -0
- package/dist/failure-kinds.js.map +1 -1
- package/dist/journal-reader.d.ts +1 -1
- package/dist/journal-reader.d.ts.map +1 -1
- package/dist/journal-reader.js +3 -1
- package/dist/journal-reader.js.map +1 -1
- package/dist/llm-worker.d.ts.map +1 -1
- package/dist/llm-worker.js +12 -1
- package/dist/llm-worker.js.map +1 -1
- package/dist/permissions-preflight.d.ts +22 -0
- package/dist/permissions-preflight.d.ts.map +1 -0
- package/dist/permissions-preflight.js +49 -0
- package/dist/permissions-preflight.js.map +1 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +6 -0
- package/dist/preflight.js.map +1 -1
- package/dist/pty-sidechannel.d.ts +7 -0
- package/dist/pty-sidechannel.d.ts.map +1 -1
- package/dist/pty-sidechannel.js.map +1 -1
- package/dist/redact.d.ts +16 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +104 -0
- package/dist/redact.js.map +1 -0
- package/dist/run-state.d.ts +124 -0
- package/dist/run-state.d.ts.map +1 -0
- package/dist/run-state.js +368 -0
- package/dist/run-state.js.map +1 -0
- package/dist/spec.d.ts +16 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/step-env.d.ts +25 -0
- package/dist/step-env.d.ts.map +1 -0
- package/dist/step-env.js +34 -0
- package/dist/step-env.js.map +1 -0
- package/dist/transcript-tail.d.ts +54 -0
- package/dist/transcript-tail.d.ts.map +1 -0
- package/dist/transcript-tail.js +176 -0
- package/dist/transcript-tail.js.map +1 -0
- package/dist/worker-cli.d.ts +10 -0
- package/dist/worker-cli.d.ts.map +1 -1
- package/dist/worker-cli.js +158 -16
- package/dist/worker-cli.js.map +1 -1
- package/dist/worker-usage.d.ts +7 -2
- package/dist/worker-usage.d.ts.map +1 -1
- package/dist/worker-usage.js +21 -3
- package/dist/worker-usage.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +31 -6
- package/dist/worker.js.map +1 -1
- package/dist/wrapper-runtime.d.ts +7 -1
- package/dist/wrapper-runtime.d.ts.map +1 -1
- package/dist/wrapper-runtime.js +7 -1
- package/dist/wrapper-runtime.js.map +1 -1
- package/package.json +2 -2
- package/src/agent-transcript.ts +651 -0
- package/src/cli/run.ts +2 -1
- package/src/cli/status.ts +329 -0
- package/src/cli/step-failure.ts +32 -7
- package/src/cli-commands.ts +11 -0
- package/src/cli.ts +8 -0
- package/src/failure-kinds.ts +15 -1
- package/src/journal-reader.ts +4 -2
- package/src/llm-worker.ts +12 -1
- package/src/permissions-preflight.ts +53 -0
- package/src/preflight.ts +6 -0
- package/src/pty-sidechannel.ts +7 -0
- package/src/redact.ts +106 -0
- package/src/run-state.ts +468 -0
- package/src/spec.ts +16 -1
- package/src/step-env.ts +47 -0
- package/src/transcript-tail.ts +193 -0
- package/src/worker-cli.ts +157 -17
- package/src/worker-usage.ts +26 -3
- package/src/worker.ts +32 -6
- package/src/wrapper-runtime.ts +7 -1
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
// Pure fold of a run's journal into the view `flows status` renders.
|
|
2
|
+
//
|
|
3
|
+
// Mirrors the kernel's `RunState::fold` (kernel/relayflowd-core/src/state.rs)
|
|
4
|
+
// transition for transition, but keeps only what a status view needs: step
|
|
5
|
+
// state, attempt, lease, backoff, wait, the last completion's verdict, and
|
|
6
|
+
// spend. Nothing here reads a prompt, an input binding, an output body, a
|
|
7
|
+
// wake context or a pin — the model has no field for them, so their absence
|
|
8
|
+
// from the rendered view is structural rather than a matter of care.
|
|
9
|
+
//
|
|
10
|
+
// No I/O, no clock: the caller passes `now_ms`, so a test folds a hand-built
|
|
11
|
+
// journal against a fixed instant and asserts exact elapsed and overdue values.
|
|
12
|
+
export class RunStateError extends Error {
|
|
13
|
+
constructor(message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = 'RunStateError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function payloadOf(event) {
|
|
19
|
+
return event.payload !== null && typeof event.payload === 'object' && !Array.isArray(event.payload)
|
|
20
|
+
? event.payload : {};
|
|
21
|
+
}
|
|
22
|
+
function integer(value) {
|
|
23
|
+
return typeof value === 'number' && Number.isSafeInteger(value) ? value : null;
|
|
24
|
+
}
|
|
25
|
+
function text(value, fallback = '') {
|
|
26
|
+
return typeof value === 'string' ? value : fallback;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Sum two decimal dollar strings exactly, at whatever scale they carry — the
|
|
30
|
+
* kernel's budget fold (`relayflowd-core/src/state/budget.rs`) aligns every
|
|
31
|
+
* fractional digit before adding, and it accepts arbitrary precision. Scaling
|
|
32
|
+
* to a fixed six fractional digits dropped a charge of `0.0000001` to zero, so
|
|
33
|
+
* `flows status` underreported spend the kernel had totalled exactly.
|
|
34
|
+
*
|
|
35
|
+
* A value that is not a decimal number is left out of the sum rather than
|
|
36
|
+
* counted as zero, and the caller is told by `malformed`.
|
|
37
|
+
*/
|
|
38
|
+
export function addDollars(left, right) {
|
|
39
|
+
const parsed = [left, right].map((value) => /^\d+(?:\.\d+)?$/.test(value) ? value : null);
|
|
40
|
+
const usable = parsed.filter((value) => value !== null);
|
|
41
|
+
if (usable.length === 0)
|
|
42
|
+
return '0';
|
|
43
|
+
if (usable.length === 1)
|
|
44
|
+
return normalizeDollars(usable[0]);
|
|
45
|
+
const scale = Math.max(...usable.map((value) => (value.split('.')[1] ?? '').length));
|
|
46
|
+
const scaled = usable.map((value) => {
|
|
47
|
+
const [whole, fraction = ''] = value.split('.');
|
|
48
|
+
return BigInt(`${whole}${fraction.padEnd(scale, '0')}`);
|
|
49
|
+
});
|
|
50
|
+
return fromScaled(scaled[0] + scaled[1], scale);
|
|
51
|
+
}
|
|
52
|
+
/** `12.3400` -> `12.34`, `0.000` -> `0`; the journal's own spelling otherwise. */
|
|
53
|
+
function normalizeDollars(value) {
|
|
54
|
+
const [whole, fraction = ''] = value.split('.');
|
|
55
|
+
return fromScaled(BigInt(`${whole}${fraction}`), fraction.length);
|
|
56
|
+
}
|
|
57
|
+
function fromScaled(total, scale) {
|
|
58
|
+
if (scale === 0)
|
|
59
|
+
return String(total);
|
|
60
|
+
const digits = String(total).padStart(scale + 1, '0');
|
|
61
|
+
const whole = digits.slice(0, digits.length - scale);
|
|
62
|
+
const fraction = digits.slice(digits.length - scale).replace(/0+$/, '');
|
|
63
|
+
return fraction.length === 0 ? whole : `${whole}.${fraction}`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Reduce `trajectory_tail.transcript` (the digest flows#491 journals) to the
|
|
67
|
+
* handful of facts a status view shows. Every field is taken defensively: the
|
|
68
|
+
* journal is evidence written by a worker that may predate this reader, so a
|
|
69
|
+
* missing or wrong-typed field becomes null rather than throwing.
|
|
70
|
+
*/
|
|
71
|
+
function attemptTranscript(trajectoryTail) {
|
|
72
|
+
// Arrays are objects too, and a malformed digest is exactly the shape that
|
|
73
|
+
// would otherwise reach the view as `{ kind: 'unknown', excerpt: '' }`.
|
|
74
|
+
const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value) ? value : null;
|
|
75
|
+
const digest = object(object(trajectoryTail)?.['transcript']);
|
|
76
|
+
if (digest === null)
|
|
77
|
+
return null;
|
|
78
|
+
const file = object(digest['file']) ?? {};
|
|
79
|
+
const result = object(digest['result']) ?? {};
|
|
80
|
+
const tools = object(digest['tools']) ?? {};
|
|
81
|
+
const failure = object(digest['failure']);
|
|
82
|
+
return {
|
|
83
|
+
path: typeof file['path'] === 'string' ? file['path'] : null,
|
|
84
|
+
bytes: integer(file['bytes_kept']),
|
|
85
|
+
truncated: file['truncated'] === true,
|
|
86
|
+
model: typeof result['model'] === 'string' ? result['model'] : null,
|
|
87
|
+
num_turns: integer(result['num_turns']),
|
|
88
|
+
total_cost_usd: typeof result['total_cost_usd'] === 'number' && Number.isFinite(result['total_cost_usd'])
|
|
89
|
+
? result['total_cost_usd'] : null,
|
|
90
|
+
tool_calls: integer(tools['total_calls']),
|
|
91
|
+
failure: failure === null ? null : {
|
|
92
|
+
kind: text(failure['kind'], 'unknown'),
|
|
93
|
+
excerpt: text(failure['excerpt']),
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function addSpend(total, charge) {
|
|
98
|
+
const budget = charge !== null && typeof charge === 'object' ? charge : {};
|
|
99
|
+
return {
|
|
100
|
+
tokens_in: total.tokens_in + (integer(budget['tokens_in']) ?? 0),
|
|
101
|
+
tokens_out: total.tokens_out + (integer(budget['tokens_out']) ?? 0),
|
|
102
|
+
dollars: addDollars(total.dollars, text(budget['dollars'], '0')),
|
|
103
|
+
dollars_unmetered: total.dollars_unmetered || budget['dollars_unmetered'] === true,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const ZERO_SPEND = { tokens_in: 0, tokens_out: 0, dollars: '0', dollars_unmetered: false };
|
|
107
|
+
function freshStep(id, type, maxIterations, dependsOn) {
|
|
108
|
+
return {
|
|
109
|
+
depends_on: dependsOn,
|
|
110
|
+
view: {
|
|
111
|
+
id, type, state: 'pending', attempt: 0, max_iterations: maxIterations,
|
|
112
|
+
started_at_ms: null, elapsed_ms: null, lease: null, backoff_until_ms: null, wait: null,
|
|
113
|
+
last_attempt: null, completion_reason: null, artifacts: { paths: [], journaled: false },
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/** Leave the transient facts of one state behind when entering another. */
|
|
118
|
+
function enter(view, state) {
|
|
119
|
+
view.state = state;
|
|
120
|
+
view.lease = null;
|
|
121
|
+
view.backoff_until_ms = null;
|
|
122
|
+
view.wait = null;
|
|
123
|
+
}
|
|
124
|
+
function artifactsOf(output) {
|
|
125
|
+
// worker.ts journals `artifacts` inside the CliResult wrapper only when the
|
|
126
|
+
// agent's stdout was not a JSON object; on the JSON path the author's
|
|
127
|
+
// object is the output and carries no such key.
|
|
128
|
+
if (output === null || typeof output !== 'object' || Array.isArray(output))
|
|
129
|
+
return { paths: [], journaled: false };
|
|
130
|
+
const paths = output['artifacts'];
|
|
131
|
+
if (!Array.isArray(paths) || !paths.every((path) => typeof path === 'string'))
|
|
132
|
+
return { paths: [], journaled: false };
|
|
133
|
+
return { paths: [...paths], journaled: true };
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Fold journal events, in sequence order, into a {@link RunView} as of
|
|
137
|
+
* `now_ms`. Throws {@link RunStateError} on a journal the kernel would also
|
|
138
|
+
* refuse (no `run.spawned` first, an unknown step).
|
|
139
|
+
*/
|
|
140
|
+
export function foldRunState(events, now_ms) {
|
|
141
|
+
const first = events[0];
|
|
142
|
+
if (first === undefined || first.entry_type !== 'run.spawned') {
|
|
143
|
+
throw new RunStateError('Journal does not begin with run.spawned.');
|
|
144
|
+
}
|
|
145
|
+
const spawned = payloadOf(first);
|
|
146
|
+
const spec = spawned['spec'] !== null && typeof spawned['spec'] === 'object' ? spawned['spec'] : {};
|
|
147
|
+
const declared = Array.isArray(spec['steps']) ? spec['steps'] : [];
|
|
148
|
+
const steps = new Map();
|
|
149
|
+
for (const entry of declared) {
|
|
150
|
+
const step = entry !== null && typeof entry === 'object' ? entry : {};
|
|
151
|
+
const id = text(step['id']);
|
|
152
|
+
if (id.length === 0)
|
|
153
|
+
throw new RunStateError('Spec step without an id.');
|
|
154
|
+
const dependsOn = Array.isArray(step['depends_on']) ? step['depends_on'].filter((d) => typeof d === 'string') : [];
|
|
155
|
+
steps.set(id, freshStep(id, text(step['type'], 'unknown'), integer(step['max_iterations']), dependsOn));
|
|
156
|
+
}
|
|
157
|
+
const budget = spec['budget'] !== null && typeof spec['budget'] === 'object' ? spec['budget'] : {};
|
|
158
|
+
// An authored child run carries its parent's totals so ceilings hold across
|
|
159
|
+
// the family (state.rs `prior_spend`); the view reports the same running total.
|
|
160
|
+
let spend = addSpend(ZERO_SPEND, budget['prior_spend']);
|
|
161
|
+
let completion = null;
|
|
162
|
+
let cancelRequested = false;
|
|
163
|
+
const stepOf = (event) => {
|
|
164
|
+
if (event.step_id === null)
|
|
165
|
+
throw new RunStateError(`Entry seq ${event.seq} (${event.entry_type}) names no step.`);
|
|
166
|
+
const step = steps.get(event.step_id);
|
|
167
|
+
if (step === undefined)
|
|
168
|
+
throw new RunStateError(`Entry seq ${event.seq} names unknown step ${JSON.stringify(event.step_id)}.`);
|
|
169
|
+
return step.view;
|
|
170
|
+
};
|
|
171
|
+
for (const event of events.slice(1)) {
|
|
172
|
+
const payload = payloadOf(event);
|
|
173
|
+
switch (event.entry_type) {
|
|
174
|
+
case 'step.attempt.started': {
|
|
175
|
+
const view = stepOf(event);
|
|
176
|
+
const attempt = event.attempt ?? view.attempt;
|
|
177
|
+
view.attempt = Math.max(view.attempt, attempt);
|
|
178
|
+
view.max_iterations = integer(payload['max_iterations']) ?? view.max_iterations;
|
|
179
|
+
view.started_at_ms = event.at_ms;
|
|
180
|
+
enter(view, 'running');
|
|
181
|
+
const deadline = integer(payload['lease_deadline_ms']) ?? event.at_ms;
|
|
182
|
+
view.lease = { deadline_ms: deadline, overdue_ms: 0 };
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case 'step.completed': {
|
|
186
|
+
const view = stepOf(event);
|
|
187
|
+
const attempt = event.attempt ?? view.attempt;
|
|
188
|
+
view.attempt = Math.max(view.attempt, attempt);
|
|
189
|
+
spend = addSpend(spend, payload['budget']);
|
|
190
|
+
const verification = payload['verification'] !== null && typeof payload['verification'] === 'object'
|
|
191
|
+
? payload['verification'] : undefined;
|
|
192
|
+
view.last_attempt = {
|
|
193
|
+
attempt,
|
|
194
|
+
completion_reason: text(payload['completionReason'], 'unknown'),
|
|
195
|
+
disposition: text(payload['disposition'], 'unknown'),
|
|
196
|
+
verification: verification === undefined ? null : {
|
|
197
|
+
gate: text(verification['gate']), verdict: text(verification['verdict']), detail: text(verification['detail']),
|
|
198
|
+
},
|
|
199
|
+
human_intervention: payload['human_intervention'] === true,
|
|
200
|
+
effects: Array.isArray(payload['effects']) ? payload['effects'].length : 0,
|
|
201
|
+
ended_at_ms: event.at_ms,
|
|
202
|
+
transcript: attemptTranscript(payload['trajectory_tail']),
|
|
203
|
+
};
|
|
204
|
+
view.artifacts = artifactsOf(payload['output']);
|
|
205
|
+
const disposition = payload['disposition'];
|
|
206
|
+
if (disposition === 'retry') {
|
|
207
|
+
enter(view, 'backoff');
|
|
208
|
+
view.backoff_until_ms = integer(payload['next_attempt_at_ms']) ?? event.at_ms;
|
|
209
|
+
}
|
|
210
|
+
else if (disposition === 'park') {
|
|
211
|
+
enter(view, 'needs_human');
|
|
212
|
+
view.wait = { wait_id: `park-${view.id}-${attempt}`, kind: 'human', timeout_at_ms: null };
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
enter(view, 'done');
|
|
216
|
+
view.completion_reason = view.last_attempt.completion_reason;
|
|
217
|
+
}
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case 'sleep.until': {
|
|
221
|
+
const view = stepOf(event);
|
|
222
|
+
enter(view, 'backoff');
|
|
223
|
+
view.backoff_until_ms = integer(payload['wake_at_ms']) ?? event.at_ms;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case 'wait.event': {
|
|
227
|
+
const view = stepOf(event);
|
|
228
|
+
enter(view, 'waiting');
|
|
229
|
+
view.wait = { wait_id: text(payload['wait_id']), kind: 'event', timeout_at_ms: integer(payload['timeout_at_ms']) };
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
case 'wait.human': {
|
|
233
|
+
const view = stepOf(event);
|
|
234
|
+
enter(view, 'needs_human');
|
|
235
|
+
view.wait = { wait_id: text(payload['wait_id']), kind: 'human', timeout_at_ms: integer(payload['timeout_at_ms']) };
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
case 'wait.completed': {
|
|
239
|
+
const view = stepOf(event);
|
|
240
|
+
if (payload['completionReason'] === 'canceled') {
|
|
241
|
+
enter(view, 'done');
|
|
242
|
+
view.last_attempt = view.last_attempt ?? {
|
|
243
|
+
attempt: view.attempt, completion_reason: 'canceled', disposition: 'step_done',
|
|
244
|
+
verification: null, human_intervention: false, effects: 0, ended_at_ms: event.at_ms,
|
|
245
|
+
transcript: null,
|
|
246
|
+
};
|
|
247
|
+
view.completion_reason = 'canceled';
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
enter(view, 'runnable');
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
case 'epoch.summary': {
|
|
255
|
+
// A new epoch restarts every step (state.rs `apply_epoch`); the
|
|
256
|
+
// summary then restores the ones it carries forward.
|
|
257
|
+
for (const step of steps.values()) {
|
|
258
|
+
const { id, type, max_iterations } = step.view;
|
|
259
|
+
step.view = freshStep(id, type, max_iterations, step.depends_on).view;
|
|
260
|
+
}
|
|
261
|
+
spend = addSpend(ZERO_SPEND, payload['budget_spent']);
|
|
262
|
+
const done = payload['steps_done'] !== null && typeof payload['steps_done'] === 'object' ? payload['steps_done'] : {};
|
|
263
|
+
for (const [id, summary] of Object.entries(done)) {
|
|
264
|
+
const view = steps.get(id)?.view;
|
|
265
|
+
if (view === undefined)
|
|
266
|
+
throw new RunStateError(`Epoch summary names unknown step ${JSON.stringify(id)}.`);
|
|
267
|
+
enter(view, 'done');
|
|
268
|
+
// `StepDoneSummary` (kernel entry.rs) carries `completionReason` and
|
|
269
|
+
// nothing else about the attempt. Keep the reason, which dependency
|
|
270
|
+
// readiness and the glyph need; invent no attempt record around it.
|
|
271
|
+
const facts = summary !== null && typeof summary === 'object' ? summary : {};
|
|
272
|
+
view.completion_reason = text(facts['completionReason'], 'unknown');
|
|
273
|
+
}
|
|
274
|
+
const open = payload['steps_open'] !== null && typeof payload['steps_open'] === 'object' ? payload['steps_open'] : {};
|
|
275
|
+
for (const [id, summary] of Object.entries(open)) {
|
|
276
|
+
const view = steps.get(id)?.view;
|
|
277
|
+
if (view === undefined)
|
|
278
|
+
throw new RunStateError(`Epoch summary names unknown step ${JSON.stringify(id)}.`);
|
|
279
|
+
const facts = summary !== null && typeof summary === 'object' ? summary : {};
|
|
280
|
+
view.attempt = integer(facts['attempt']) ?? 0;
|
|
281
|
+
const state = facts['state'];
|
|
282
|
+
if (state === 'running') {
|
|
283
|
+
enter(view, 'running');
|
|
284
|
+
// The summary carries no original attempt start, and the kernel
|
|
285
|
+
// does not track one. Stamping the epoch's own time here made the
|
|
286
|
+
// live `attempt-<n>.*.tail` header look stale to
|
|
287
|
+
// `readTranscriptTail` and restarted elapsed at the compaction.
|
|
288
|
+
// Unknown is the honest value: elapsed goes unrendered and the
|
|
289
|
+
// tail's staleness check is skipped rather than failed.
|
|
290
|
+
view.started_at_ms = null;
|
|
291
|
+
view.lease = { deadline_ms: integer(facts['lease_deadline_ms']) ?? event.at_ms, overdue_ms: 0 };
|
|
292
|
+
}
|
|
293
|
+
else if (state === 'backoff') {
|
|
294
|
+
enter(view, 'backoff');
|
|
295
|
+
view.backoff_until_ms = integer(facts['wake_at_ms']) ?? event.at_ms;
|
|
296
|
+
}
|
|
297
|
+
else if (state === 'needs_human') {
|
|
298
|
+
enter(view, 'needs_human');
|
|
299
|
+
view.wait = { wait_id: `epoch-${integer(payload['epoch']) ?? 0}-${id}`, kind: 'human', timeout_at_ms: null };
|
|
300
|
+
}
|
|
301
|
+
else if (state === 'waiting') {
|
|
302
|
+
enter(view, 'waiting');
|
|
303
|
+
view.wait = { wait_id: text(facts['wait_id']), kind: 'event', timeout_at_ms: null };
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
case 'run.completed':
|
|
309
|
+
completion = text(payload['completionReason'], 'unknown');
|
|
310
|
+
spend = addSpend(ZERO_SPEND, payload['budget_total']);
|
|
311
|
+
break;
|
|
312
|
+
case 'run.cancel.requested':
|
|
313
|
+
cancelRequested = true;
|
|
314
|
+
break;
|
|
315
|
+
default:
|
|
316
|
+
// Routing, subscriptions, channels, streams, effects, memory and
|
|
317
|
+
// segment records change nothing a status view shows.
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// state.rs `refresh_runnable`: a pending step whose dependencies all
|
|
322
|
+
// succeeded is runnable, whether or not a worker has picked it up.
|
|
323
|
+
for (const step of steps.values()) {
|
|
324
|
+
if (step.view.state !== 'pending')
|
|
325
|
+
continue;
|
|
326
|
+
const ready = step.depends_on.every((dependency) => {
|
|
327
|
+
const upstream = steps.get(dependency)?.view;
|
|
328
|
+
return upstream?.state === 'done' && upstream.completion_reason === 'success';
|
|
329
|
+
});
|
|
330
|
+
if (ready)
|
|
331
|
+
step.view.state = 'runnable';
|
|
332
|
+
}
|
|
333
|
+
const views = [];
|
|
334
|
+
const counts = { total: 0, done: 0, running: 0, pending: 0, backoff: 0, waiting: 0, needs_human: 0 };
|
|
335
|
+
for (const { view } of steps.values()) {
|
|
336
|
+
if (view.started_at_ms !== null) {
|
|
337
|
+
// `ended_at_ms` belongs to the attempt that ended. A retry, wait or
|
|
338
|
+
// sleep starts a newer attempt whose `started_at_ms` is later than that,
|
|
339
|
+
// and measuring to the older end clamped a live wait's elapsed to zero.
|
|
340
|
+
const ended = view.last_attempt?.ended_at_ms ?? null;
|
|
341
|
+
const end = ended === null || ended < view.started_at_ms ? now_ms : ended;
|
|
342
|
+
view.elapsed_ms = Math.max(0, (view.state === 'running' ? now_ms : end) - view.started_at_ms);
|
|
343
|
+
}
|
|
344
|
+
if (view.lease !== null)
|
|
345
|
+
view.lease.overdue_ms = Math.max(0, now_ms - view.lease.deadline_ms);
|
|
346
|
+
counts.total += 1;
|
|
347
|
+
if (view.state === 'pending' || view.state === 'runnable')
|
|
348
|
+
counts.pending += 1;
|
|
349
|
+
else
|
|
350
|
+
counts[view.state] += 1;
|
|
351
|
+
views.push(view);
|
|
352
|
+
}
|
|
353
|
+
const status = completion === null
|
|
354
|
+
? cancelRequested ? 'cancelling' : counts.needs_human > 0 ? 'parked' : 'running'
|
|
355
|
+
: completion === 'success' ? 'completed' : completion === 'canceled' ? 'cancelled' : 'failed';
|
|
356
|
+
return {
|
|
357
|
+
run_id: first.run_id,
|
|
358
|
+
name: text(spec['name'], first.run_id),
|
|
359
|
+
status,
|
|
360
|
+
completion_reason: completion,
|
|
361
|
+
spawned_at_ms: first.at_ms,
|
|
362
|
+
now_ms,
|
|
363
|
+
spend,
|
|
364
|
+
counts,
|
|
365
|
+
steps: views,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
//# sourceMappingURL=run-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"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"}
|
package/dist/spec.d.ts
CHANGED
|
@@ -103,7 +103,22 @@ export interface AgentSurfaces {
|
|
|
103
103
|
/** Integration writeback paths — mount writes per gate 6. */
|
|
104
104
|
external?: string[];
|
|
105
105
|
}
|
|
106
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Per-step permission declarations for an agent step.
|
|
108
|
+
*
|
|
109
|
+
* Validated by gate 1 and recorded in the compiled step spec (as `file_globs`,
|
|
110
|
+
* `network_allowlist` and `access_preset`), but **not currently enforced**:
|
|
111
|
+
* nothing reads these fields to gate a file or network access. Enforcement is
|
|
112
|
+
* gate 8 (#442). `accessPreset: 'readonly'` does not prevent writes today.
|
|
113
|
+
*
|
|
114
|
+
* `flows check` emits a `permissions_unenforced` warning for every agent step
|
|
115
|
+
* that declares this block in a declarative spec — YAML/JSON, or a `FlowSpec`
|
|
116
|
+
* handed to the check API. A declaration inside an authored `.flow.ts` body is
|
|
117
|
+
* **not** inspected: checking TypeScript preflights the flow header without
|
|
118
|
+
* executing the body, so those steps do not exist yet and the check passes
|
|
119
|
+
* silently. A clean check is not evidence that no unenforced declaration is
|
|
120
|
+
* present; the paragraph above is, for every dialect.
|
|
121
|
+
*/
|
|
107
122
|
export interface PermissionsSpec {
|
|
108
123
|
fileGlobs?: string[];
|
|
109
124
|
networkAllowlist?: string[];
|
package/dist/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,qFAAqF;AACrF,kGAAkG;AAClG,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yDAAyD;
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,qFAAqF;AACrF,kGAAkG;AAClG,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yDAAyD;AAiYzD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const DATA_DIR_ENV = "RELAYFLOW_DATA_DIR";
|
|
2
|
+
export declare const RUN_ID_ENV = "RELAYFLOW_RUN_ID";
|
|
3
|
+
export declare const STEP_ID_ENV = "RELAYFLOW_STEP_ID";
|
|
4
|
+
export declare const ATTEMPT_ENV = "RELAYFLOW_ATTEMPT";
|
|
5
|
+
export declare const STEP_ENV_NAMES: readonly ["RELAYFLOW_DATA_DIR", "RELAYFLOW_RUN_ID", "RELAYFLOW_STEP_ID", "RELAYFLOW_ATTEMPT"];
|
|
6
|
+
export interface StepIdentity {
|
|
7
|
+
dataDir: string;
|
|
8
|
+
runId: string;
|
|
9
|
+
stepId: string;
|
|
10
|
+
/**
|
|
11
|
+
* Optional for the same reason it is optional on `SidechannelContext`: a
|
|
12
|
+
* spawn that names no attempt has none to export, and an absent
|
|
13
|
+
* `RELAYFLOW_ATTEMPT` is the honest form. `flows status` needs the run and
|
|
14
|
+
* the step to resolve itself; the attempt only picks a transcript tail.
|
|
15
|
+
*/
|
|
16
|
+
attempt?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Overwrite the four names in `env` from `identity`, or remove them when there
|
|
20
|
+
* is none. Removal matters: a worker that is itself running inside a step
|
|
21
|
+
* inherits its parent's values, and an agent must not mistake them for its own.
|
|
22
|
+
* The data dir is made absolute because the agent's cwd may be `spec.cwd`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function applyStepEnvironment(env: NodeJS.ProcessEnv, identity: StepIdentity | undefined): void;
|
|
25
|
+
//# sourceMappingURL=step-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-env.d.ts","sourceRoot":"","sources":["../src/step-env.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAC7C,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAE/C,eAAO,MAAM,cAAc,+FAAgE,CAAC;AAE5F,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CASrG"}
|
package/dist/step-env.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// The four names a worker exports so an agent can find its own run on disk.
|
|
2
|
+
//
|
|
3
|
+
// Set on every direct claude/codex attempt that has a data directory
|
|
4
|
+
// (worker-cli.ts), and read by `flows status` when it is invoked with no run
|
|
5
|
+
// id. Identifiers and a path only: with these an agent can open its journal
|
|
6
|
+
// and nothing else. Env rather than a file in cwd because a cwd file pollutes
|
|
7
|
+
// the workspace, goes stale after a crash and breaks when `spec.cwd` is
|
|
8
|
+
// shared; the environment dies with the attempt.
|
|
9
|
+
import { resolve } from 'node:path';
|
|
10
|
+
export const DATA_DIR_ENV = 'RELAYFLOW_DATA_DIR';
|
|
11
|
+
export const RUN_ID_ENV = 'RELAYFLOW_RUN_ID';
|
|
12
|
+
export const STEP_ID_ENV = 'RELAYFLOW_STEP_ID';
|
|
13
|
+
export const ATTEMPT_ENV = 'RELAYFLOW_ATTEMPT';
|
|
14
|
+
export const STEP_ENV_NAMES = [DATA_DIR_ENV, RUN_ID_ENV, STEP_ID_ENV, ATTEMPT_ENV];
|
|
15
|
+
/**
|
|
16
|
+
* Overwrite the four names in `env` from `identity`, or remove them when there
|
|
17
|
+
* is none. Removal matters: a worker that is itself running inside a step
|
|
18
|
+
* inherits its parent's values, and an agent must not mistake them for its own.
|
|
19
|
+
* The data dir is made absolute because the agent's cwd may be `spec.cwd`.
|
|
20
|
+
*/
|
|
21
|
+
export function applyStepEnvironment(env, identity) {
|
|
22
|
+
for (const name of STEP_ENV_NAMES)
|
|
23
|
+
delete env[name];
|
|
24
|
+
if (identity === undefined)
|
|
25
|
+
return;
|
|
26
|
+
env[DATA_DIR_ENV] = resolve(identity.dataDir);
|
|
27
|
+
env[RUN_ID_ENV] = identity.runId;
|
|
28
|
+
env[STEP_ID_ENV] = identity.stepId;
|
|
29
|
+
// Left unset rather than set to "undefined": the four names are deleted
|
|
30
|
+
// above, so an agent sees no attempt instead of a bogus one.
|
|
31
|
+
if (identity.attempt !== undefined)
|
|
32
|
+
env[ATTEMPT_ENV] = String(identity.attempt);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=step-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-env.js","sourceRoot":"","sources":["../src/step-env.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,iDAAiD;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAe5F;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAsB,EAAE,QAAkC;IAC7F,KAAK,MAAM,IAAI,IAAI,cAAc;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,GAAG,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjC,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnC,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { TailSource } from './cli/status.js';
|
|
2
|
+
export declare const TAIL_CAPACITY_BYTES: number;
|
|
3
|
+
/** At most four rewrites a second, however fast the agent talks. */
|
|
4
|
+
export declare const TAIL_FLUSH_INTERVAL_MS = 250;
|
|
5
|
+
/**
|
|
6
|
+
* How long a spawn's completion will wait for the final tail flush. Transcript
|
|
7
|
+
* evidence is best-effort, so a stalled filesystem must cost the step this
|
|
8
|
+
* much and no more — past it the invocation settles and the close runs on.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TAIL_CLOSE_TIMEOUT_MS = 2000;
|
|
11
|
+
export type TailStream = 'stdout' | 'stderr';
|
|
12
|
+
export interface TailIdentity {
|
|
13
|
+
dataDir: string;
|
|
14
|
+
runId: string;
|
|
15
|
+
stepId: string;
|
|
16
|
+
attempt: number;
|
|
17
|
+
}
|
|
18
|
+
/** The first line of every tail file, so a stale file is never mistaken for this attempt's. */
|
|
19
|
+
export interface TailHeader {
|
|
20
|
+
v: 1;
|
|
21
|
+
run_id: string;
|
|
22
|
+
step_id: string;
|
|
23
|
+
attempt: number;
|
|
24
|
+
started_at_ms: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function transcriptTailPath(identity: TailIdentity, stream: TailStream): string;
|
|
27
|
+
export interface TranscriptTailWriter {
|
|
28
|
+
append(chunk: Buffer): void;
|
|
29
|
+
/** Flush what is pending and stop. Resolves once the last write has settled, success or not. */
|
|
30
|
+
close(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A ring of the last {@link TAIL_CAPACITY_BYTES} bytes, flushed to
|
|
34
|
+
* `attempt-<n>.<stream>.tail` at most every {@link TAIL_FLUSH_INTERVAL_MS}.
|
|
35
|
+
* A write failure is reported once as a process warning and then ignored:
|
|
36
|
+
* the attempt continues, and `flows status` will say no transcript is on disk.
|
|
37
|
+
*/
|
|
38
|
+
export declare function openTranscriptTail(identity: TailIdentity, stream: TailStream, startedAtMs?: number, warn?: (message: string) => void): TranscriptTailWriter;
|
|
39
|
+
/** A tail file parsed and checked against the attempt it claims to be. */
|
|
40
|
+
export interface ReadTail {
|
|
41
|
+
header: TailHeader;
|
|
42
|
+
/** Bytes of transcript on disk, after the header line. */
|
|
43
|
+
bytes: number;
|
|
44
|
+
text: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Read one tail file. `undefined` when absent, unparseable, or written for a
|
|
48
|
+
* different attempt — or for this attempt number but before the journal says
|
|
49
|
+
* the attempt began, which is a file left by an earlier life of this data dir.
|
|
50
|
+
*/
|
|
51
|
+
export declare function readTranscriptTail(identity: TailIdentity, stream: TailStream, attemptStartedAtMs: number | null): Promise<ReadTail | undefined>;
|
|
52
|
+
/** The {@link TailSource} `flows status` uses: this step's latest attempt, redacted. */
|
|
53
|
+
export declare function transcriptTailSource(env?: NodeJS.ProcessEnv): TailSource;
|
|
54
|
+
//# sourceMappingURL=transcript-tail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-tail.d.ts","sourceRoot":"","sources":["../src/transcript-tail.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAa,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAG7E,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAC7C,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+FAA+F;AAC/F,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAGrF;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gGAAgG;IAChG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,UAAU,EAClB,WAAW,SAAa,EACxB,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAgD,GAC1E,oBAAoB,CA0DtB;AAED,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,UAAU,EAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB/B;AAaD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CAYrF"}
|