@nifrajs/coding-agent 4.0.0 → 5.0.0

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 (99) hide show
  1. package/README.md +14 -2
  2. package/dist/cli.d.ts +13 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +120 -100
  5. package/dist/cli.js.map +1 -1
  6. package/dist/context.d.ts.map +1 -1
  7. package/dist/context.js +9 -21
  8. package/dist/context.js.map +1 -1
  9. package/dist/diff.d.ts.map +1 -1
  10. package/dist/diff.js +8 -21
  11. package/dist/diff.js.map +1 -1
  12. package/dist/handoffs.d.ts +5 -0
  13. package/dist/handoffs.d.ts.map +1 -1
  14. package/dist/handoffs.js +27 -0
  15. package/dist/handoffs.js.map +1 -1
  16. package/dist/host.d.ts +15 -1
  17. package/dist/host.d.ts.map +1 -1
  18. package/dist/host.js +117 -13
  19. package/dist/host.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/native.d.ts +22 -0
  25. package/dist/native.d.ts.map +1 -1
  26. package/dist/native.js +75 -18
  27. package/dist/native.js.map +1 -1
  28. package/dist/orchestration/dispatch.d.ts +5 -1
  29. package/dist/orchestration/dispatch.d.ts.map +1 -1
  30. package/dist/orchestration/dispatch.js +1 -1
  31. package/dist/orchestration/dispatch.js.map +1 -1
  32. package/dist/orchestration/evidence-store.d.ts.map +1 -1
  33. package/dist/orchestration/evidence-store.js +5 -6
  34. package/dist/orchestration/evidence-store.js.map +1 -1
  35. package/dist/orchestration/host.d.ts +14 -0
  36. package/dist/orchestration/host.d.ts.map +1 -1
  37. package/dist/orchestration/host.js +26 -0
  38. package/dist/orchestration/host.js.map +1 -1
  39. package/dist/orchestration/index.d.ts +1 -1
  40. package/dist/orchestration/index.d.ts.map +1 -1
  41. package/dist/orchestration/index.js.map +1 -1
  42. package/dist/orchestration/recovery.d.ts +5 -1
  43. package/dist/orchestration/recovery.d.ts.map +1 -1
  44. package/dist/orchestration/recovery.js +5 -3
  45. package/dist/orchestration/recovery.js.map +1 -1
  46. package/dist/process.d.ts +22 -1
  47. package/dist/process.d.ts.map +1 -1
  48. package/dist/process.js +63 -1
  49. package/dist/process.js.map +1 -1
  50. package/dist/rpc.d.ts +23 -0
  51. package/dist/rpc.d.ts.map +1 -1
  52. package/dist/rpc.js +204 -46
  53. package/dist/rpc.js.map +1 -1
  54. package/dist/session-migration.d.ts.map +1 -1
  55. package/dist/session-migration.js +30 -6
  56. package/dist/session-migration.js.map +1 -1
  57. package/dist/sessions.d.ts +13 -2
  58. package/dist/sessions.d.ts.map +1 -1
  59. package/dist/sessions.js +104 -24
  60. package/dist/sessions.js.map +1 -1
  61. package/dist/subagents.d.ts.map +1 -1
  62. package/dist/subagents.js +13 -2
  63. package/dist/subagents.js.map +1 -1
  64. package/dist/turn-replay.d.ts +40 -0
  65. package/dist/turn-replay.d.ts.map +1 -0
  66. package/dist/turn-replay.js +136 -0
  67. package/dist/turn-replay.js.map +1 -0
  68. package/dist/ui.js +84 -30
  69. package/dist/ui.js.map +1 -1
  70. package/dist/verification.d.ts +7 -0
  71. package/dist/verification.d.ts.map +1 -1
  72. package/dist/verification.js +66 -63
  73. package/dist/verification.js.map +1 -1
  74. package/dist/workflows.d.ts +5 -0
  75. package/dist/workflows.d.ts.map +1 -1
  76. package/dist/workflows.js +2 -1
  77. package/dist/workflows.js.map +1 -1
  78. package/package.json +6 -6
  79. package/src/cli.ts +125 -93
  80. package/src/context.ts +12 -20
  81. package/src/diff.ts +11 -23
  82. package/src/handoffs.ts +27 -0
  83. package/src/host.ts +134 -12
  84. package/src/index.ts +1 -0
  85. package/src/native.ts +118 -21
  86. package/src/orchestration/dispatch.ts +6 -2
  87. package/src/orchestration/evidence-store.ts +5 -6
  88. package/src/orchestration/host.ts +44 -0
  89. package/src/orchestration/index.ts +1 -0
  90. package/src/orchestration/recovery.ts +14 -8
  91. package/src/process.ts +77 -0
  92. package/src/rpc.ts +261 -49
  93. package/src/session-migration.ts +29 -5
  94. package/src/sessions.ts +115 -29
  95. package/src/subagents.ts +11 -2
  96. package/src/turn-replay.ts +151 -0
  97. package/src/ui.ts +90 -32
  98. package/src/verification.ts +74 -60
  99. package/src/workflows.ts +7 -1
package/dist/rpc.js CHANGED
@@ -3,6 +3,7 @@ import { readProjectDiff } from "./diff.js";
3
3
  import { publicErrorDetails } from "./errors.js";
4
4
  import { CodingAgentHost } from "./host.js";
5
5
  import { readBoundedText } from "./process.js";
6
+ import { ReplayableTurn } from "./turn-replay.js";
6
7
  import { isSafeReviewDiff, runNifraReview, runNifraVerification } from "./verification.js";
7
8
  const MAX_RPC_BODY_BYTES = 64 * 1024 * 1024;
8
9
  const DEFAULT_MAX_RPC_RESPONSE_BYTES = 4 * 1024 * 1024;
@@ -12,6 +13,9 @@ const MIN_REMOTE_TOKEN_BYTES = 32;
12
13
  const AUTH_FAILURE_WINDOW_MS = 60_000;
13
14
  const AUTH_FAILURE_THRESHOLD = 3;
14
15
  const AUTH_MAX_BACKOFF_MS = 2_000;
16
+ const MAX_REPLAY_EVENTS = 65_536;
17
+ const MAX_REPLAY_BYTES = 256 * 1024 * 1024;
18
+ const MAX_DETACHED_TIMEOUT_MS = 24 * 60 * 60 * 1000;
15
19
  /**
16
20
  * Minimal loopback RPC surface for the CLI, Workbench, CI clients, and a future mobile companion.
17
21
  * Turn output is SSE so clients do not need a WebSocket dependency; every event is still a versioned
@@ -27,6 +31,11 @@ export class CodingAgentRpcServer {
27
31
  authFailures = 0;
28
32
  authLastFailureAt = 0;
29
33
  authBackoffUntil = 0;
34
+ creating;
35
+ resumable;
36
+ turn;
37
+ turnController;
38
+ detachedTimer;
30
39
  constructor(options) {
31
40
  this.options = Object.freeze({ ...options });
32
41
  this.host = new CodingAgentHost({
@@ -42,7 +51,11 @@ export class CodingAgentRpcServer {
42
51
  : { maxRepairAttempts: options.maxRepairAttempts }),
43
52
  exposeErrorStacks: options.exposeErrorStacks === true,
44
53
  ...(options.verification === undefined ? {} : { verification: options.verification }),
54
+ ...(options.extensionEvents === undefined
55
+ ? {}
56
+ : { extensionEvents: options.extensionEvents }),
45
57
  });
58
+ this.resumable = resumableTurnConfig(options.resumableTurns);
46
59
  this.token = options.authToken ?? randomAuthToken();
47
60
  if (!/^[A-Za-z0-9._~-]{16,256}$/.test(this.token))
48
61
  throw new TypeError("agent rpc: authToken must be a bounded token");
@@ -86,6 +99,8 @@ export class CodingAgentRpcServer {
86
99
  async stop() {
87
100
  const listener = this.listener;
88
101
  this.listener = undefined;
102
+ clearTimeout(this.detachedTimer);
103
+ this.turnController?.abort();
89
104
  try {
90
105
  await this.host.stop("rpc server stopped");
91
106
  }
@@ -146,29 +161,27 @@ export class CodingAgentRpcServer {
146
161
  const params = record(request.params);
147
162
  if (params.sessionId !== undefined && !isValidSessionId(params.sessionId))
148
163
  return json({ error: { code: "invalid_session", message: "sessionId is invalid" } }, 422, cors);
149
- const snapshot = this.host.snapshot ??
150
- (await this.host.start({
151
- cwd: this.options.cwd,
152
- backend: this.options.backend.info.name,
153
- ...(params.sessionId === undefined ? {} : { sessionId: params.sessionId }),
154
- }));
155
- return json(snapshot, 200, cors);
164
+ const snapshot = await this.ensureSession({
165
+ cwd: this.options.cwd,
166
+ backend: this.options.backend.info.name,
167
+ ...(params.sessionId === undefined ? {} : { sessionId: params.sessionId }),
168
+ });
169
+ return json(this.advertised(snapshot), 200, cors);
156
170
  }
157
171
  case "session.snapshot": {
158
172
  const snapshot = this.requireSnapshot();
159
- return json(snapshot, 200, cors);
173
+ return json(this.advertised(snapshot), 200, cors);
160
174
  }
161
175
  case "session.resume": {
162
176
  const params = record(request.params);
163
177
  if (!isValidSessionId(params.sessionId))
164
178
  return json({ error: { code: "invalid_session", message: "sessionId is required" } }, 422, cors);
165
- const snapshot = this.host.snapshot ??
166
- (await this.host.start({
167
- cwd: this.options.cwd,
168
- backend: this.options.backend.info.name,
169
- sessionId: params.sessionId,
170
- }));
171
- return json(snapshot, 200, cors);
179
+ const snapshot = await this.ensureSession({
180
+ cwd: this.options.cwd,
181
+ backend: this.options.backend.info.name,
182
+ sessionId: params.sessionId,
183
+ });
184
+ return json(this.advertised(snapshot), 200, cors);
172
185
  }
173
186
  case "session.events": {
174
187
  const snapshot = this.requireSnapshot();
@@ -185,7 +198,7 @@ export class CodingAgentRpcServer {
185
198
  const cursor = Number(params.cursor);
186
199
  if (!Number.isSafeInteger(cursor) || cursor < -1)
187
200
  return json({ error: { code: "invalid_cursor", message: "cursor must be a safe integer >= -1" } }, 422, cors);
188
- return json({ snapshot, resume: resumeFromCursor(window, cursor) }, 200, cors);
201
+ return json({ snapshot: this.advertised(snapshot), resume: resumeFromCursor(window, cursor) }, 200, cors);
189
202
  }
190
203
  case "session.checkpoint": {
191
204
  this.requireSnapshot();
@@ -211,42 +224,41 @@ export class CodingAgentRpcServer {
211
224
  message: "message must be a non-empty bounded string",
212
225
  },
213
226
  }, 422, cors);
227
+ if (this.resumable !== undefined)
228
+ return this.sendResumableTurn(params.message, this.resumable, cors);
214
229
  const stream = this.host.prompt(params.message, httpRequest.signal);
215
230
  const sessionId = this.host.snapshot?.id;
216
231
  const encoder = new TextEncoder();
217
232
  const includeErrorStacks = this.options.exposeErrorStacks === true;
218
233
  const maxResponseBytes = this.maxResponseBytes;
234
+ // Pulled, not pushed: the turn advances only as the client reads, so one that stops reading
235
+ // holds the backend still instead of the server queueing the rest of the turn for it.
236
+ const events = stream[Symbol.asyncIterator]();
219
237
  let finished = false;
220
- const turnError = (error) => ({
221
- code: "turn_failed",
222
- ...publicErrorDetails(error, "turn could not be completed", includeErrorStacks),
223
- });
224
238
  const body = new ReadableStream({
225
- async start(controller) {
239
+ async pull(controller) {
240
+ if (finished)
241
+ return;
226
242
  try {
227
- for await (const event of stream) {
228
- if (finished)
229
- return;
230
- const serialized = serializeRpcValue(event, includeErrorStacks);
231
- if (serializedByteLength(`data: ${serialized}\n\n`) > maxResponseBytes)
232
- throw new Error("turn event exceeded the configured response limit");
233
- controller.enqueue(encoder.encode(`data: ${serialized}\n\n`));
234
- }
235
- if (!finished) {
243
+ const next = await events.next();
244
+ if (finished)
245
+ return;
246
+ if (next.done === true) {
236
247
  finished = true;
237
248
  controller.close();
249
+ return;
238
250
  }
251
+ const frame = eventFrame(next.value, includeErrorStacks);
252
+ if (serializedByteLength(frame) > maxResponseBytes)
253
+ throw new Error("turn event exceeded the configured response limit");
254
+ controller.enqueue(encoder.encode(frame));
239
255
  }
240
256
  catch (error) {
241
257
  if (finished)
242
258
  return;
243
259
  finished = true;
244
260
  try {
245
- const detail = JSON.stringify(turnError(error));
246
- const frame = `event: error\ndata: ${detail}\n\n`;
247
- controller.enqueue(encoder.encode(serializedByteLength(frame) <= maxResponseBytes
248
- ? frame
249
- : 'event: error\ndata: {"code":"turn_failed","message":"turn could not be completed"}\n\n'));
261
+ controller.enqueue(encoder.encode(turnErrorFrame(error, includeErrorStacks, maxResponseBytes)));
250
262
  controller.close();
251
263
  }
252
264
  catch {
@@ -259,19 +271,39 @@ export class CodingAgentRpcServer {
259
271
  if (finished)
260
272
  return;
261
273
  finished = true;
274
+ void events.return?.();
262
275
  if (sessionId !== undefined)
263
276
  await this.host.backend.cancel(sessionId, "client disconnected").catch(() => { });
264
277
  },
265
278
  });
266
- return new Response(body, {
267
- status: 200,
268
- headers: new Headers({
269
- ...Object.fromEntries(cors),
270
- "content-type": "text/event-stream; charset=utf-8",
271
- "cache-control": "no-cache, no-transform",
272
- connection: "keep-alive",
273
- }),
274
- });
279
+ return eventStreamResponse(body, cors);
280
+ }
281
+ case "turn.attach": {
282
+ if (this.resumable === undefined)
283
+ return json({
284
+ error: {
285
+ code: "feature_unsupported",
286
+ message: "this server does not keep turns for clients that come back",
287
+ },
288
+ }, 501, cors);
289
+ const params = record(request.params);
290
+ const header = httpRequest.headers.get("last-event-id");
291
+ const raw = params.afterSeq ?? (header === null || header === "" ? undefined : header);
292
+ const cursor = raw === undefined ? undefined : Number(raw);
293
+ if (cursor !== undefined && (!Number.isSafeInteger(cursor) || cursor < -1))
294
+ return json({ error: { code: "invalid_cursor", message: "afterSeq must be a safe integer >= -1" } }, 422, cors);
295
+ const turn = this.turn;
296
+ if (turn === undefined)
297
+ return json({ error: { code: "no_turn", message: "no turn has run on this server" } }, 404, cors);
298
+ const stream = turn.attach(cursor);
299
+ if (stream === undefined)
300
+ return json({
301
+ error: {
302
+ code: "resync_required",
303
+ message: "the events after that seq are no longer held; read session.events",
304
+ },
305
+ }, 409, cors);
306
+ return eventStreamResponse(stream, cors);
275
307
  }
276
308
  case "session.reload": {
277
309
  const result = await this.host.reload();
@@ -283,7 +315,12 @@ export class CodingAgentRpcServer {
283
315
  }
284
316
  case "approval.list": {
285
317
  this.requireSnapshot();
286
- return json({ pending: this.host.pendingApprovals }, 200, cors);
318
+ // `approvalId` is the name `approval.resolve` takes; `id` stays for existing readers.
319
+ const pending = this.host.pendingApprovals.map((request) => ({
320
+ ...request,
321
+ approvalId: request.id,
322
+ }));
323
+ return json({ pending }, 200, cors);
287
324
  }
288
325
  case "approval.request": {
289
326
  const params = record(request.params);
@@ -372,7 +409,9 @@ export class CodingAgentRpcServer {
372
409
  : {}),
373
410
  exposeErrorStacks: this.options.exposeErrorStacks === true,
374
411
  });
375
- return json(result, result.ok ? 200 : 422, cors, this.options.exposeErrorStacks === true);
412
+ return json(
413
+ // A Map serialises to `{}`; the wire carries the values as a plain object.
414
+ { ...result, values: Object.fromEntries(result.values) }, result.ok ? 200 : 422, cors, this.options.exposeErrorStacks === true);
376
415
  }
377
416
  case "verification.run": {
378
417
  const params = record(request.params);
@@ -421,6 +460,78 @@ export class CodingAgentRpcServer {
421
460
  return json({ error: { code: "method_not_found", message: `unknown method: ${request.method}` } }, 404, cors);
422
461
  }
423
462
  }
463
+ sendResumableTurn(message, config, cors) {
464
+ if (this.turn !== undefined && !this.turn.done)
465
+ return this.response({
466
+ error: {
467
+ code: "turn_running",
468
+ message: "a turn is already running; follow it with turn.attach",
469
+ },
470
+ }, 409, cors);
471
+ clearTimeout(this.detachedTimer);
472
+ const controller = new AbortController();
473
+ const turn = new ReplayableTurn(this.turn?.latestSeq ?? -1, config, (count) => {
474
+ clearTimeout(this.detachedTimer);
475
+ if (count > 0 || this.turn !== turn)
476
+ return;
477
+ this.detachedTimer = setTimeout(() => {
478
+ if (this.turn !== turn || turn.done || turn.following > 0)
479
+ return;
480
+ controller.abort();
481
+ const sessionId = this.host.snapshot?.id;
482
+ if (sessionId !== undefined)
483
+ void this.host.backend.cancel(sessionId, "no client followed the turn").catch(() => { });
484
+ }, config.detachedTimeoutMs);
485
+ });
486
+ this.turn = turn;
487
+ this.turnController = controller;
488
+ const stream = turn.follow();
489
+ const includeErrorStacks = this.options.exposeErrorStacks === true;
490
+ const maxResponseBytes = this.maxResponseBytes;
491
+ const encoder = new TextEncoder();
492
+ void (async () => {
493
+ try {
494
+ for await (const event of this.host.prompt(message, controller.signal)) {
495
+ const frame = eventFrame(event, includeErrorStacks);
496
+ if (serializedByteLength(frame) > maxResponseBytes)
497
+ throw new Error("turn event exceeded the configured response limit");
498
+ turn.push(event.seq, encoder.encode(frame));
499
+ }
500
+ turn.end();
501
+ }
502
+ catch (error) {
503
+ turn.end(encoder.encode(turnErrorFrame(error, includeErrorStacks, maxResponseBytes)));
504
+ }
505
+ finally {
506
+ if (this.turn === turn)
507
+ clearTimeout(this.detachedTimer);
508
+ }
509
+ })();
510
+ return eventStreamResponse(stream, cors);
511
+ }
512
+ /** The active session, or one started from `input`; concurrent requests share a single start. */
513
+ async ensureSession(input) {
514
+ const active = this.host.snapshot;
515
+ if (active !== undefined)
516
+ return active;
517
+ this.creating ??= this.host.start(input).finally(() => {
518
+ this.creating = undefined;
519
+ });
520
+ return await this.creating;
521
+ }
522
+ /** The backend's capabilities plus the Agent App features this server answers itself. */
523
+ advertised(snapshot) {
524
+ const { backend, sessionStore, extensions } = this.options;
525
+ const served = ["approvals", "resume"];
526
+ if (backend.checkpoint !== undefined || sessionStore !== undefined)
527
+ served.push("checkpoint");
528
+ if (backend.fork !== undefined || sessionStore !== undefined)
529
+ served.push("fork");
530
+ if (extensions !== undefined)
531
+ served.push("workflows");
532
+ const capabilities = [...new Set([...snapshot.capabilities, ...served])];
533
+ return Object.freeze({ ...snapshot, capabilities: Object.freeze(capabilities) });
534
+ }
424
535
  requireSnapshot() {
425
536
  if (this.host.snapshot === undefined)
426
537
  throw new Error("agent RPC session has not been created");
@@ -578,6 +689,53 @@ function json(value, status, inherited, includeErrorStacks = false, maxBytes = D
578
689
  }
579
690
  return new Response(body, { status: responseStatus, headers });
580
691
  }
692
+ function resumableTurnConfig(option) {
693
+ if (option === undefined || option === false)
694
+ return undefined;
695
+ const settings = option === true ? {} : option;
696
+ const config = {
697
+ maxEvents: settings.replayEvents ?? 1024,
698
+ maxBytes: settings.replayBytes ?? 8 * 1024 * 1024,
699
+ detachedTimeoutMs: settings.detachedTimeoutMs ?? 120_000,
700
+ };
701
+ if (!Number.isSafeInteger(config.maxEvents) ||
702
+ config.maxEvents < 1 ||
703
+ config.maxEvents > MAX_REPLAY_EVENTS)
704
+ throw new RangeError(`agent rpc: replayEvents must be between 1 and ${MAX_REPLAY_EVENTS}`);
705
+ if (!Number.isSafeInteger(config.maxBytes) ||
706
+ config.maxBytes < 1024 ||
707
+ config.maxBytes > MAX_REPLAY_BYTES)
708
+ throw new RangeError(`agent rpc: replayBytes must be between 1024 and ${MAX_REPLAY_BYTES}`);
709
+ if (!Number.isSafeInteger(config.detachedTimeoutMs) ||
710
+ config.detachedTimeoutMs < 1 ||
711
+ config.detachedTimeoutMs > MAX_DETACHED_TIMEOUT_MS)
712
+ throw new RangeError(`agent rpc: detachedTimeoutMs must be between 1 and ${MAX_DETACHED_TIMEOUT_MS}`);
713
+ return Object.freeze(config);
714
+ }
715
+ function eventFrame(event, includeErrorStacks) {
716
+ return `id: ${event.seq}\ndata: ${serializeRpcValue(event, includeErrorStacks)}\n\n`;
717
+ }
718
+ function turnErrorFrame(error, includeErrorStacks, maxResponseBytes) {
719
+ const detail = JSON.stringify({
720
+ code: "turn_failed",
721
+ ...publicErrorDetails(error, "turn could not be completed", includeErrorStacks),
722
+ });
723
+ const frame = `event: error\ndata: ${detail}\n\n`;
724
+ return serializedByteLength(frame) <= maxResponseBytes
725
+ ? frame
726
+ : 'event: error\ndata: {"code":"turn_failed","message":"turn could not be completed"}\n\n';
727
+ }
728
+ function eventStreamResponse(body, cors) {
729
+ return new Response(body, {
730
+ status: 200,
731
+ headers: new Headers({
732
+ ...Object.fromEntries(cors),
733
+ "content-type": "text/event-stream; charset=utf-8",
734
+ "cache-control": "no-cache, no-transform",
735
+ connection: "keep-alive",
736
+ }),
737
+ });
738
+ }
581
739
  function serializeRpcValue(value, includeErrorStacks) {
582
740
  const serialized = JSON.stringify(value, includeErrorStacks
583
741
  ? undefined
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-migration.d.ts","sourceRoot":"","sources":["../src/session-migration.ts"],"names":[],"mappings":"AAIA,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAA;AAOlD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAIhE;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CA6BhF;AAED,+EAA+E;AAC/E,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CA2EjC"}
1
+ {"version":3,"file":"session-migration.d.ts","sourceRoot":"","sources":["../src/session-migration.ts"],"names":[],"mappings":"AAKA,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAA;AAOlD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAIhE;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CA6BhF;AAED,+EAA+E;AAC/E,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CA2EjC"}
@@ -1,4 +1,5 @@
1
- import { access, mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
1
+ import { createReadStream } from "node:fs";
2
+ import { access, mkdir, rename, unlink, writeFile } from "node:fs/promises";
2
3
  import { basename, join, resolve } from "node:path";
3
4
  import { sessionFileStem } from "./sessions.js";
4
5
  /** Version of the evidence-only legacy session file format. */
@@ -107,7 +108,7 @@ export async function migrateLegacySession(options) {
107
108
  const targetFile = join(targetRoot, `${sessionFileStem(sessionId)}.jsonl`);
108
109
  await commitTarget(targetRoot, targetFile, content, options.signal);
109
110
  // Re-read the committed target and validate every line before the caller treats this as active.
110
- const committed = await readEvidenceTarget(targetFile, sessionId);
111
+ const committed = await readEvidenceTarget(targetFile, sessionId, Buffer.byteLength(content));
111
112
  if (committed.records.length !== records.length || (await sha256Hex(committed.raw)) !== digest)
112
113
  throw new SessionMigrationError("target_validation", "committed evidence target changed");
113
114
  for (let index = 0; index < committed.records.length; index++) {
@@ -154,8 +155,8 @@ async function readLegacyEntries(sourceRoot, sessionId, maxSourceBytes) {
154
155
  const path = join(sourceRoot, `${sessionFileStem(sessionId)}.jsonl`);
155
156
  let text;
156
157
  try {
157
- const bytes = await readFile(path);
158
- if (bytes.byteLength > maxSourceBytes)
158
+ const bytes = await readCapped(path, maxSourceBytes);
159
+ if (bytes === undefined)
159
160
  throw new SessionMigrationError("source_too_large", "legacy session exceeds maxSourceBytes");
160
161
  text = bytes.toString("utf8");
161
162
  }
@@ -233,8 +234,31 @@ async function commitTarget(targetRoot, targetFile, content, signal) {
233
234
  throw error;
234
235
  }
235
236
  }
236
- async function readEvidenceTarget(path, sessionId) {
237
- const raw = await readFile(path, "utf8");
237
+ /** The file's bytes, or `undefined` as soon as it passes `maxBytes`, without reading the rest. */
238
+ async function readCapped(path, maxBytes) {
239
+ const chunks = [];
240
+ let total = 0;
241
+ // Sequential reads, not a start/end range: a positioned read fails on a pipe.
242
+ const stream = createReadStream(path, { highWaterMark: Math.min(maxBytes + 1, 64 * 1024) });
243
+ try {
244
+ for await (const chunk of stream) {
245
+ const bytes = chunk;
246
+ total += bytes.byteLength;
247
+ if (total > maxBytes)
248
+ return undefined;
249
+ chunks.push(bytes);
250
+ }
251
+ }
252
+ finally {
253
+ stream.destroy();
254
+ }
255
+ return Buffer.concat(chunks, total);
256
+ }
257
+ async function readEvidenceTarget(path, sessionId, expectedBytes) {
258
+ const bytes = await readCapped(path, expectedBytes);
259
+ if (bytes === undefined)
260
+ throw new SessionMigrationError("target_validation", "committed evidence target changed");
261
+ const raw = bytes.toString("utf8");
238
262
  const records = [];
239
263
  let previousSeq = -1;
240
264
  for (const line of raw.split("\n")) {