@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.
- package/README.md +14 -2
- package/dist/cli.d.ts +13 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +120 -100
- package/dist/cli.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +9 -21
- package/dist/context.js.map +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +8 -21
- package/dist/diff.js.map +1 -1
- package/dist/handoffs.d.ts +5 -0
- package/dist/handoffs.d.ts.map +1 -1
- package/dist/handoffs.js +27 -0
- package/dist/handoffs.js.map +1 -1
- package/dist/host.d.ts +15 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +117 -13
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native.d.ts +22 -0
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +75 -18
- package/dist/native.js.map +1 -1
- package/dist/orchestration/dispatch.d.ts +5 -1
- package/dist/orchestration/dispatch.d.ts.map +1 -1
- package/dist/orchestration/dispatch.js +1 -1
- package/dist/orchestration/dispatch.js.map +1 -1
- package/dist/orchestration/evidence-store.d.ts.map +1 -1
- package/dist/orchestration/evidence-store.js +5 -6
- package/dist/orchestration/evidence-store.js.map +1 -1
- package/dist/orchestration/host.d.ts +14 -0
- package/dist/orchestration/host.d.ts.map +1 -1
- package/dist/orchestration/host.js +26 -0
- package/dist/orchestration/host.js.map +1 -1
- package/dist/orchestration/index.d.ts +1 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/recovery.d.ts +5 -1
- package/dist/orchestration/recovery.d.ts.map +1 -1
- package/dist/orchestration/recovery.js +5 -3
- package/dist/orchestration/recovery.js.map +1 -1
- package/dist/process.d.ts +22 -1
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +63 -1
- package/dist/process.js.map +1 -1
- package/dist/rpc.d.ts +23 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +204 -46
- package/dist/rpc.js.map +1 -1
- package/dist/session-migration.d.ts.map +1 -1
- package/dist/session-migration.js +30 -6
- package/dist/session-migration.js.map +1 -1
- package/dist/sessions.d.ts +13 -2
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +104 -24
- package/dist/sessions.js.map +1 -1
- package/dist/subagents.d.ts.map +1 -1
- package/dist/subagents.js +13 -2
- package/dist/subagents.js.map +1 -1
- package/dist/turn-replay.d.ts +40 -0
- package/dist/turn-replay.d.ts.map +1 -0
- package/dist/turn-replay.js +136 -0
- package/dist/turn-replay.js.map +1 -0
- package/dist/ui.js +84 -30
- package/dist/ui.js.map +1 -1
- package/dist/verification.d.ts +7 -0
- package/dist/verification.d.ts.map +1 -1
- package/dist/verification.js +66 -63
- package/dist/verification.js.map +1 -1
- package/dist/workflows.d.ts +5 -0
- package/dist/workflows.d.ts.map +1 -1
- package/dist/workflows.js +2 -1
- package/dist/workflows.js.map +1 -1
- package/package.json +6 -6
- package/src/cli.ts +125 -93
- package/src/context.ts +12 -20
- package/src/diff.ts +11 -23
- package/src/handoffs.ts +27 -0
- package/src/host.ts +134 -12
- package/src/index.ts +1 -0
- package/src/native.ts +118 -21
- package/src/orchestration/dispatch.ts +6 -2
- package/src/orchestration/evidence-store.ts +5 -6
- package/src/orchestration/host.ts +44 -0
- package/src/orchestration/index.ts +1 -0
- package/src/orchestration/recovery.ts +14 -8
- package/src/process.ts +77 -0
- package/src/rpc.ts +261 -49
- package/src/session-migration.ts +29 -5
- package/src/sessions.ts +115 -29
- package/src/subagents.ts +11 -2
- package/src/turn-replay.ts +151 -0
- package/src/ui.ts +90 -32
- package/src/verification.ts +74 -60
- 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.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
|
239
|
+
async pull(controller) {
|
|
240
|
+
if (finished)
|
|
241
|
+
return;
|
|
226
242
|
try {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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
|
-
|
|
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
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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
|
-
|
|
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(
|
|
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":"AAAA,OAAO,EAIL,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,eAAe,EAA+B,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAyC1F,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AACtD,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAC/C,MAAM,kBAAkB,GAAG,0BAA0B,CAAA;AACrD,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AAEjC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACtB,IAAI,CAAiB;IACb,OAAO,CAA6B;IACpC,KAAK,CAAQ;IACb,YAAY,CAAQ;IACpB,gBAAgB,CAAQ;IACjC,QAAQ,CAA2B;IACnC,YAAY,GAAG,CAAC,CAAA;IAChB,iBAAiB,GAAG,CAAC,CAAA;IACrB,gBAAgB,GAAG,CAAC,CAAA;IAE5B,YAAY,OAAoC;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACrD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,KAAK,IAAI;YACrD,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;SACtF,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,EAAE,CAAA;QACnD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAA;QACrE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAA;QACrD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,YAAY,GAAG,kBAAkB;YAEtC,MAAM,IAAI,UAAU,CAAC,oDAAoD,kBAAkB,EAAE,CAAC,CAAA;QAChG,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,8BAA8B,CAAA;QAClF,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAC5B,IAAI,CAAC,gBAAgB,GAAG,sBAAsB;YAE9C,MAAM,IAAI,UAAU,CAClB,wDAAwD,sBAAsB,EAAE,CACjF,CAAA;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAA;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,IACE,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,cAAc,CAAC,QAAQ,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,sBAAsB;YAExE,MAAM,IAAI,KAAK,CACb,yDAAyD,sBAAsB,QAAQ,CACxF,CAAA;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI;YAC9E,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;QACxF,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;YAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SACxC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,OAAO;YACL,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAC5C,CAAC;gBAAS,CAAC;YACT,4FAA4F;YAC5F,2FAA2F;YAC3F,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,OAAgB;QAClC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,6FAA6F;YAC7F,6FAA6F;YAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YACtC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;gBACvC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACrE,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,wCAAwC,EAAE,EAAE,EACxF,GAAG,EACH,aAAa,CACd,CAAA;YACH,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,kCAAkC,EAAE,EAAE,EAChF,GAAG,EACH,IAAI,CACL,CAAA;QACH,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YACtD,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,EACvE,GAAG,EACH,IAAI,CACL,CAAA;QACH,IAAI,IAA8D,CAAA;QAClE,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,EACjF,GAAG,EACH,IAAI,CACL,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAC3D,IAAI,CAAC,MAAM,EACX,IAAI,CACL,CAAA;QACH,IAAI,GAAe,CAAA;QACnB,IAAI,CAAC;YACH,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAyB,CAAC,EAAE,EAClF,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CACxC,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,gCAAgC,CAAC,EAAE,EACpF,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CACxC,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,OAAmB,EACnB,WAAoB,EACpB,IAAa;QAEb,MAAM,IAAI,GAAG,CACX,KAAc,EACd,MAAc,EACd,SAAkB,EAClB,kBAAkB,GAAG,KAAK,EAChB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAA;QAC1E,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;oBACvE,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EACvE,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAClB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBACrB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;wBACvC,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;qBAC3E,CAAC,CAAC,CAAA;gBACL,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;gBACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;oBACrC,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EACxE,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAClB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBACrB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;wBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B,CAAC,CAAC,CAAA;gBACL,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACrE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI;oBAC3D,OAAO,IAAI,CACT;wBACE,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,kCAAkC,EAAE;qBACtF,EACD,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC7C,0FAA0F;gBAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;gBAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;oBAC9C,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qCAAqC,EAAE,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAChF,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC1C,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC;oBACnF,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,kCAAkC,EAAE,EAAE,EACnF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAqC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC5F,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAClC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBAClC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY;oBAEzC,OAAO,IAAI,CACT;wBACE,KAAK,EAAE;4BACL,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,4CAA4C;yBACtD;qBACF,EACD,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;gBACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;gBACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;gBACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAA;gBAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;gBAC9C,IAAI,QAAQ,GAAG,KAAK,CAAA;gBACpB,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,aAAa;oBACnB,GAAG,kBAAkB,CAAC,KAAK,EAAE,6BAA6B,EAAE,kBAAkB,CAAC;iBAChF,CAAC,CAAA;gBACF,MAAM,IAAI,GAAG,IAAI,cAAc,CAAa;oBAC1C,KAAK,CAAC,KAAK,CAAC,UAAU;wBACpB,IAAI,CAAC;4BACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACjC,IAAI,QAAQ;oCAAE,OAAM;gCACpB,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;gCAC/D,IAAI,oBAAoB,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,gBAAgB;oCACpE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;gCACtE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,UAAU,MAAM,CAAC,CAAC,CAAA;4BAC/D,CAAC;4BACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,QAAQ,GAAG,IAAI,CAAA;gCACf,UAAU,CAAC,KAAK,EAAE,CAAA;4BACpB,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,QAAQ;gCAAE,OAAM;4BACpB,QAAQ,GAAG,IAAI,CAAA;4BACf,IAAI,CAAC;gCACH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;gCAC/C,MAAM,KAAK,GAAG,uBAAuB,MAAM,MAAM,CAAA;gCACjD,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CACZ,oBAAoB,CAAC,KAAK,CAAC,IAAI,gBAAgB;oCAC7C,CAAC,CAAC,KAAK;oCACP,CAAC,CAAC,wFAAwF,CAC7F,CACF,CAAA;gCACD,UAAU,CAAC,KAAK,EAAE,CAAA;4BACpB,CAAC;4BAAC,MAAM,CAAC;gCACP,+EAA+E;gCAC/E,sDAAsD;4BACxD,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM,EAAE,KAAK,IAAI,EAAE;wBACjB,IAAI,QAAQ;4BAAE,OAAM;wBACpB,QAAQ,GAAG,IAAI,CAAA;wBACf,IAAI,SAAS,KAAK,SAAS;4BACzB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;oBACpF,CAAC;iBACF,CAAC,CAAA;gBACF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,OAAO,CAAC;wBACnB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC3B,cAAc,EAAE,kCAAkC;wBAClD,eAAe,EAAE,wBAAwB;wBACzC,UAAU,EAAE,YAAY;qBACzB,CAAC;iBACH,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;gBACrD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3D,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACjE,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;oBAC5E,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,EACtF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;oBAC7C,GAAG,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;wBACvC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;wBAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;oBACpD,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxE,CAAC,CAAA;gBACF,IAAI,QAAQ,KAAK,SAAS;oBACxB,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,EAC5E,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC/E,OAAO,IAAI,CACT;wBACE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,sCAAsC,EAAE;qBACrF,EACD,GAAG,EACH,IAAI,CACL,CAAA;gBACH,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAC9C,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,QAAQ,EACf,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAA;gBACD,IAAI,QAAQ,KAAK,SAAS;oBACxB,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,yBAAyB,EAAE,EAAE,EAC7E,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;oBAC3B,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;YACH,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;oBAC/B,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qCAAqC,EAAE,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;oBAClC,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,EACxE,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAkC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3F,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;oBAC/B,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qCAAqC,EAAE,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;oBAClC,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,EACxE,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAkC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC5F,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;oBACvC,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,EACvF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClF,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,EACtF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;oBACpE,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC3E,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACvC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACrC,MAAM,CAAC,QAAQ,GAAG,CAAC;wBACjB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;wBAC9C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACvC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACrC,MAAM,CAAC,QAAQ,GAAG,CAAC;wBACjB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;oBACP,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI;iBAC3D,CAAC,CAAA;gBACF,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAA;YAC3F,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBACxB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;oBAC1D,OAAO,IAAI,CACT;wBACE,KAAK,EAAE;4BACL,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,qCAAqC;yBAC/C;qBACF,EACD,GAAG,EACH,IAAI,CACL,CAAA;gBACH,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CACT,MAAM,oBAAoB,CAAC,IAAI,EAAE;oBAC/B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI;iBAC3D,CAAC,EACF,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CACxC,CAAA;YACH,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtD,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qCAAqC,EAAE,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;gBACH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS;oBACnE,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAC1E,GAAG,EACH,IAAI,CACL,CAAA;gBACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC7D,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,EAC7E,GAAG,EACH,IAAI,CACL,CAAA;gBACH,OAAO,IAAI,CACT,MAAM,cAAc,CAAC;oBACnB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC5D,CAAC,EACF,GAAG,EACH,IAAI,CACL,CAAA;YACH,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,OAAO,IAAI,CACT,MAAM,eAAe,CAAC;oBACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI;iBAC3D,CAAC,EACF,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CACxC,CAAA;YACH,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;YACD;gBACE,OAAO,IAAI,CACT,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EACrF,GAAG,EACH,IAAI,CACL,CAAA;QACL,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACrC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxB,OAAO,CAAC,CAAA;QACV,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAA;IACjD,CAAC;IAEO,eAAe;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,sBAAsB;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QAChF,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,YAAY,IAAI,sBAAsB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAA;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAA;YAChE,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,CAAA;QACrC,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAC3B,CAAC;IAEO,QAAQ,CACd,KAAc,EACd,MAAc,EACd,SAAkB,EAClB,kBAAkB,GAAG,KAAK;QAE1B,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAClF,CAAC;IAEO,aAAa,CACnB,IAAY,EACZ,KAAc,EACd,QAAgB;QAEhB,OAAO,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE,CAAA;IAClG,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAgB;QAKhB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACtD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,MAAM,KAAK,SAAS;gBACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAA;YACvE,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY;gBAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAA;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACrE,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAA;QAC3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,iBAAiB,CAAA;IACpE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,KAAc,CAAA;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAClF,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB,EAAE,KAAa;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACnD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAClE,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC5E,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACnF,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,UAAU,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE;QAAE,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5F,OAAO,UAAU,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,IAAI,EAAE,QAAQ;QACd,8BAA8B,EAAE,6BAA6B;QAC7D,8BAA8B,EAAE,oBAAoB;KACrD,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,kDAAkD,CAAC,IAAI,CAAC,MAAM,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,CACL,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,KAAK;QAClB,QAAQ,KAAK,OAAO,CACrB,CAAA;AACH,CAAC;AAED,SAAS,IAAI,CACX,KAAc,EACd,MAAc,EACd,SAAkB,EAClB,kBAAkB,GAAG,KAAK,EAC1B,QAAQ,GAAG,8BAA8B;IAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAA;IAC9D,+FAA+F;IAC/F,mFAAmF;IACnF,IAAI,IAAY,CAAA;IAChB,IAAI,cAAc,GAAG,MAAM,CAAA;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,sCAAsC;aAChD;SACF,CAAC,CAAA;QACF,cAAc,GAAG,GAAG,CAAA;IACtB,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,iDAAiD;aAC3D;SACF,CAAC,CAAA;QACF,cAAc,GAAG,GAAG,CAAA;IACtB,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,kBAA2B;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAC/B,KAAK,EACL,kBAAkB;QAChB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,GAAW,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAC7E,CAAA;IACD,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAA;IACvF,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAA;AACnD,CAAC"}
|
|
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":"
|
|
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 {
|
|
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
|
|
158
|
-
if (bytes
|
|
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
|
-
|
|
237
|
-
|
|
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")) {
|