@relayflows/sdk 2.0.20 → 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.
Files changed (107) hide show
  1. package/dist/agent-reaper.d.ts +4 -0
  2. package/dist/agent-reaper.d.ts.map +1 -0
  3. package/dist/agent-reaper.js +53 -0
  4. package/dist/agent-reaper.js.map +1 -0
  5. package/dist/agent-transcript.d.ts +186 -0
  6. package/dist/agent-transcript.d.ts.map +1 -0
  7. package/dist/agent-transcript.js +585 -0
  8. package/dist/agent-transcript.js.map +1 -0
  9. package/dist/child-stop.d.ts +1 -1
  10. package/dist/child-stop.d.ts.map +1 -1
  11. package/dist/child-stop.js +68 -12
  12. package/dist/child-stop.js.map +1 -1
  13. package/dist/cli/run.js +2 -1
  14. package/dist/cli/run.js.map +1 -1
  15. package/dist/cli/status.d.ts +34 -0
  16. package/dist/cli/status.d.ts.map +1 -0
  17. package/dist/cli/status.js +307 -0
  18. package/dist/cli/status.js.map +1 -0
  19. package/dist/cli/step-failure.js +31 -7
  20. package/dist/cli/step-failure.js.map +1 -1
  21. package/dist/cli-commands.d.ts +13 -0
  22. package/dist/cli-commands.d.ts.map +1 -1
  23. package/dist/cli-commands.js +11 -0
  24. package/dist/cli-commands.js.map +1 -1
  25. package/dist/cli.d.ts +2 -1
  26. package/dist/cli.d.ts.map +1 -1
  27. package/dist/cli.js +9 -0
  28. package/dist/cli.js.map +1 -1
  29. package/dist/failure-kinds.d.ts +15 -2
  30. package/dist/failure-kinds.d.ts.map +1 -1
  31. package/dist/failure-kinds.js +8 -0
  32. package/dist/failure-kinds.js.map +1 -1
  33. package/dist/journal-reader.d.ts +1 -1
  34. package/dist/journal-reader.d.ts.map +1 -1
  35. package/dist/journal-reader.js +3 -1
  36. package/dist/journal-reader.js.map +1 -1
  37. package/dist/llm-worker.d.ts.map +1 -1
  38. package/dist/llm-worker.js +12 -1
  39. package/dist/llm-worker.js.map +1 -1
  40. package/dist/permissions-preflight.d.ts +22 -0
  41. package/dist/permissions-preflight.d.ts.map +1 -0
  42. package/dist/permissions-preflight.js +49 -0
  43. package/dist/permissions-preflight.js.map +1 -0
  44. package/dist/preflight.d.ts.map +1 -1
  45. package/dist/preflight.js +6 -0
  46. package/dist/preflight.js.map +1 -1
  47. package/dist/pty-sidechannel.d.ts +7 -0
  48. package/dist/pty-sidechannel.d.ts.map +1 -1
  49. package/dist/pty-sidechannel.js.map +1 -1
  50. package/dist/redact.d.ts +16 -0
  51. package/dist/redact.d.ts.map +1 -0
  52. package/dist/redact.js +104 -0
  53. package/dist/redact.js.map +1 -0
  54. package/dist/run-state.d.ts +124 -0
  55. package/dist/run-state.d.ts.map +1 -0
  56. package/dist/run-state.js +368 -0
  57. package/dist/run-state.js.map +1 -0
  58. package/dist/spec.d.ts +16 -1
  59. package/dist/spec.d.ts.map +1 -1
  60. package/dist/spec.js.map +1 -1
  61. package/dist/step-env.d.ts +25 -0
  62. package/dist/step-env.d.ts.map +1 -0
  63. package/dist/step-env.js +34 -0
  64. package/dist/step-env.js.map +1 -0
  65. package/dist/transcript-tail.d.ts +54 -0
  66. package/dist/transcript-tail.d.ts.map +1 -0
  67. package/dist/transcript-tail.js +176 -0
  68. package/dist/transcript-tail.js.map +1 -0
  69. package/dist/worker-cli.d.ts +18 -0
  70. package/dist/worker-cli.d.ts.map +1 -1
  71. package/dist/worker-cli.js +219 -22
  72. package/dist/worker-cli.js.map +1 -1
  73. package/dist/worker-usage.d.ts +15 -2
  74. package/dist/worker-usage.d.ts.map +1 -1
  75. package/dist/worker-usage.js +40 -3
  76. package/dist/worker-usage.js.map +1 -1
  77. package/dist/worker.d.ts.map +1 -1
  78. package/dist/worker.js +31 -6
  79. package/dist/worker.js.map +1 -1
  80. package/dist/wrapper-runtime.d.ts +7 -1
  81. package/dist/wrapper-runtime.d.ts.map +1 -1
  82. package/dist/wrapper-runtime.js +7 -1
  83. package/dist/wrapper-runtime.js.map +1 -1
  84. package/package.json +2 -2
  85. package/src/agent-reaper.ts +52 -0
  86. package/src/agent-transcript.ts +651 -0
  87. package/src/child-stop.ts +62 -12
  88. package/src/cli/run.ts +2 -1
  89. package/src/cli/status.ts +329 -0
  90. package/src/cli/step-failure.ts +32 -7
  91. package/src/cli-commands.ts +11 -0
  92. package/src/cli.ts +8 -0
  93. package/src/failure-kinds.ts +15 -1
  94. package/src/journal-reader.ts +4 -2
  95. package/src/llm-worker.ts +12 -1
  96. package/src/permissions-preflight.ts +53 -0
  97. package/src/preflight.ts +6 -0
  98. package/src/pty-sidechannel.ts +7 -0
  99. package/src/redact.ts +106 -0
  100. package/src/run-state.ts +468 -0
  101. package/src/spec.ts +16 -1
  102. package/src/step-env.ts +47 -0
  103. package/src/transcript-tail.ts +193 -0
  104. package/src/worker-cli.ts +213 -21
  105. package/src/worker-usage.ts +39 -3
  106. package/src/worker.ts +32 -6
  107. 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
- /** Permission model for an agent step (gate 8). `readonly` provably cannot write. */
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[];
@@ -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;AAkXzD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
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"}
@@ -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"}