@moxt-ai/mobius 0.0.26 → 0.0.27

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.
@@ -2,6 +2,42 @@ import { mkdirSync } from "node:fs";
2
2
  import { dirname } from "node:path";
3
3
  import { DatabaseSync } from "node:sqlite";
4
4
  import { encodeSessionEventEnvelope, SESSION_EVENT_KIND, } from "@moxt-ai/mobius-protocol";
5
+ const DEFAULT_OUTBOX_LIMITS = {
6
+ criticalEventBytes: 136 * 1024 * 1024,
7
+ criticalEventCount: 10_128,
8
+ runtimeDeliveryBytes: 64 * 1024 * 1024,
9
+ runtimeDeliveryCount: 64,
10
+ standardEventBytes: 128 * 1024 * 1024,
11
+ standardEventCount: 10_000,
12
+ };
13
+ export class SessionEventOutboxCapacityError extends Error {
14
+ code = "session_event_outbox_full";
15
+ constructor() {
16
+ super("The durable Session event outbox is full");
17
+ this.name = "SessionEventOutboxCapacityError";
18
+ }
19
+ }
20
+ export class RuntimeDeliveryInboxCapacityError extends Error {
21
+ code = "runtime_delivery_inbox_full";
22
+ constructor() {
23
+ super("The durable Runtime delivery inbox is full");
24
+ this.name = "RuntimeDeliveryInboxCapacityError";
25
+ }
26
+ }
27
+ export class StoredRuntimeDelivery {
28
+ deliveryId;
29
+ duplicate;
30
+ payload;
31
+ sessionId;
32
+ state;
33
+ constructor(deliveryId, sessionId, payload, state, duplicate) {
34
+ this.deliveryId = deliveryId;
35
+ this.duplicate = duplicate;
36
+ this.payload = payload;
37
+ this.sessionId = sessionId;
38
+ this.state = state;
39
+ }
40
+ }
5
41
  function readPendingEnvelope(row) {
6
42
  if (typeof row !== "object" || row === null || Array.isArray(row)) {
7
43
  throw new Error("SQLite returned an invalid session event outbox row");
@@ -12,9 +48,26 @@ function readPendingEnvelope(row) {
12
48
  }
13
49
  return envelope;
14
50
  }
51
+ function rowNumber(row, field) {
52
+ const value = typeof row === "object" && row !== null ? Reflect.get(row, field) : undefined;
53
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) {
54
+ throw new Error(`SQLite returned an invalid ${field} value`);
55
+ }
56
+ return value;
57
+ }
58
+ function rowString(row, field) {
59
+ const value = typeof row === "object" && row !== null ? Reflect.get(row, field) : undefined;
60
+ if (typeof value !== "string" || value.length === 0) {
61
+ throw new Error(`SQLite returned an invalid ${field} value`);
62
+ }
63
+ return value;
64
+ }
15
65
  export class SessionEventOutbox {
16
66
  #database;
17
- constructor(path) {
67
+ #limits;
68
+ constructor(path, limits = DEFAULT_OUTBOX_LIMITS) {
69
+ validateLimits(limits);
70
+ this.#limits = limits;
18
71
  mkdirSync(dirname(path), { recursive: true });
19
72
  this.#database = new DatabaseSync(path);
20
73
  this.#database.exec(`
@@ -23,6 +76,7 @@ export class SessionEventOutbox {
23
76
  event_id TEXT NOT NULL UNIQUE,
24
77
  session_id TEXT NOT NULL,
25
78
  source_key TEXT NOT NULL,
79
+ byte_length INTEGER NOT NULL,
26
80
  envelope_json TEXT NOT NULL
27
81
  ) STRICT;
28
82
  CREATE INDEX IF NOT EXISTS relay_session_event_outbox_order
@@ -33,7 +87,7 @@ export class SessionEventOutbox {
33
87
  session_id TEXT NOT NULL,
34
88
  envelope_json TEXT NOT NULL,
35
89
  rejection_code TEXT NOT NULL CHECK (
36
- rejection_code IN ('session_deleted', 'session_not_found')
90
+ rejection_code IN ('session_deleted', 'session_not_found', 'session_rejected')
37
91
  )
38
92
  ) STRICT;
39
93
  CREATE TABLE IF NOT EXISTS relay_session_event_sources (
@@ -49,13 +103,68 @@ export class SessionEventOutbox {
49
103
  state IN ('dispatching', 'running', 'succeeded', 'failed', 'cancelled')
50
104
  )
51
105
  ) STRICT;
106
+ CREATE TABLE IF NOT EXISTS relay_session_event_outbox_state (
107
+ singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
108
+ event_count INTEGER NOT NULL,
109
+ total_bytes INTEGER NOT NULL
110
+ ) STRICT;
111
+ INSERT OR IGNORE INTO relay_session_event_outbox_state (
112
+ singleton, event_count, total_bytes
113
+ ) VALUES (1, 0, 0);
114
+ CREATE TABLE IF NOT EXISTS relay_runtime_deliveries (
115
+ delivery_id TEXT PRIMARY KEY,
116
+ session_id TEXT NOT NULL,
117
+ payload_json TEXT NOT NULL,
118
+ payload_bytes INTEGER NOT NULL,
119
+ state TEXT NOT NULL CHECK (
120
+ state IN ('received', 'relay_committed', 'processed')
121
+ ),
122
+ received_at INTEGER NOT NULL
123
+ ) STRICT;
52
124
  `);
125
+ const deadLetterTable = this.#database
126
+ .prepare(`SELECT sql FROM sqlite_master
127
+ WHERE type = 'table' AND name = 'relay_session_event_dead_letters'`)
128
+ .get();
129
+ const deadLetterSql = typeof deadLetterTable === "object" && deadLetterTable !== null
130
+ ? Reflect.get(deadLetterTable, "sql")
131
+ : undefined;
132
+ if (typeof deadLetterSql !== "string" || !deadLetterSql.includes("'session_rejected'")) {
133
+ this.#database.exec(`
134
+ BEGIN IMMEDIATE;
135
+ ALTER TABLE relay_session_event_dead_letters
136
+ RENAME TO relay_session_event_dead_letters_legacy;
137
+ CREATE TABLE relay_session_event_dead_letters (
138
+ ordinal INTEGER PRIMARY KEY,
139
+ event_id TEXT NOT NULL UNIQUE,
140
+ session_id TEXT NOT NULL,
141
+ envelope_json TEXT NOT NULL,
142
+ rejection_code TEXT NOT NULL CHECK (
143
+ rejection_code IN ('session_deleted', 'session_not_found', 'session_rejected')
144
+ )
145
+ ) STRICT;
146
+ INSERT INTO relay_session_event_dead_letters (
147
+ ordinal, event_id, session_id, envelope_json, rejection_code
148
+ )
149
+ SELECT ordinal, event_id, session_id, envelope_json, rejection_code
150
+ FROM relay_session_event_dead_letters_legacy;
151
+ DROP TABLE relay_session_event_dead_letters_legacy;
152
+ COMMIT;
153
+ `);
154
+ }
53
155
  const outboxColumns = this.#database.prepare("PRAGMA table_info(relay_session_event_outbox)").all();
54
156
  const hasSourceKey = outboxColumns.some((column) => typeof column === "object" && column !== null && Reflect.get(column, "name") === "source_key");
55
157
  if (!hasSourceKey) {
56
158
  this.#database.exec(`
57
159
  ALTER TABLE relay_session_event_outbox
58
160
  ADD COLUMN source_key TEXT NOT NULL DEFAULT '';
161
+ `);
162
+ }
163
+ const hasByteLength = outboxColumns.some((column) => typeof column === "object" && column !== null && Reflect.get(column, "name") === "byte_length");
164
+ if (!hasByteLength) {
165
+ this.#database.exec(`
166
+ ALTER TABLE relay_session_event_outbox
167
+ ADD COLUMN byte_length INTEGER NOT NULL DEFAULT 0;
59
168
  `);
60
169
  }
61
170
  this.#database.exec(`
@@ -66,6 +175,16 @@ export class SessionEventOutbox {
66
175
  ELSE 'runtime:' || session_id
67
176
  END
68
177
  WHERE source_key = '';
178
+ UPDATE relay_session_event_outbox
179
+ SET byte_length = length(CAST(envelope_json AS BLOB))
180
+ WHERE byte_length = 0;
181
+ UPDATE relay_session_event_outbox_state
182
+ SET event_count = (SELECT COUNT(*) FROM relay_session_event_outbox),
183
+ total_bytes = (
184
+ SELECT COALESCE(SUM(byte_length), 0)
185
+ FROM relay_session_event_outbox
186
+ )
187
+ WHERE singleton = 1;
69
188
  CREATE INDEX IF NOT EXISTS relay_session_event_outbox_source_order
70
189
  ON relay_session_event_outbox(source_key, ordinal);
71
190
  `);
@@ -133,13 +252,19 @@ export class SessionEventOutbox {
133
252
  const state = typeof row === "object" && row !== null ? Reflect.get(row, "state") : undefined;
134
253
  return state === "succeeded" || state === "failed" || state === "cancelled";
135
254
  };
136
- acknowledge = (acknowledgement) => this.#database
137
- .prepare(`DELETE FROM relay_session_event_outbox
138
- WHERE event_id = ? AND session_id = ?`)
139
- .run(acknowledgement.eventId, acknowledgement.sessionId).changes === 1;
255
+ acknowledge = (acknowledgement) => this.#removeAcknowledgedEvent(acknowledgement.eventId, acknowledgement.sessionId);
140
256
  quarantine = (rejection) => {
141
257
  this.#database.exec("BEGIN IMMEDIATE");
142
258
  try {
259
+ const stored = this.#database
260
+ .prepare(`SELECT byte_length FROM relay_session_event_outbox
261
+ WHERE event_id = ? AND session_id = ?`)
262
+ .get(rejection.eventId, rejection.sessionId);
263
+ if (stored === undefined) {
264
+ this.#database.exec("COMMIT");
265
+ return false;
266
+ }
267
+ const byteLength = rowNumber(stored, "byte_length");
143
268
  const insertion = this.#database
144
269
  .prepare(`INSERT INTO relay_session_event_dead_letters (
145
270
  ordinal, event_id, session_id, envelope_json, rejection_code
@@ -159,6 +284,7 @@ export class SessionEventOutbox {
159
284
  if (deletion.changes !== 1) {
160
285
  throw new Error("The rejected session event could not be removed from the durable outbox");
161
286
  }
287
+ this.#decrementEventState(byteLength);
162
288
  this.#database.exec("COMMIT");
163
289
  return true;
164
290
  }
@@ -171,7 +297,114 @@ export class SessionEventOutbox {
171
297
  this.#database.close();
172
298
  };
173
299
  enqueue = (sessionId, payload, attemptId = null) => {
174
- const sourceKey = attemptId === null ? `runtime:${sessionId}` : `attempt:${sessionId}:${attemptId}`;
300
+ return this.#enqueueBounded(sessionId, payload, attemptId ?? "", this.#limits.standardEventCount, this.#limits.standardEventBytes);
301
+ };
302
+ enqueueCritical = (sessionId, payload, attemptId = "") => this.#enqueueBounded(sessionId, payload, attemptId, this.#limits.criticalEventCount, this.#limits.criticalEventBytes);
303
+ claimRuntimeDelivery = (delivery) => {
304
+ const payloadBytes = new TextEncoder().encode(delivery.payload).byteLength;
305
+ this.#database.exec("BEGIN IMMEDIATE");
306
+ try {
307
+ const existing = this.#database
308
+ .prepare(`SELECT session_id, payload_json, state
309
+ FROM relay_runtime_deliveries
310
+ WHERE delivery_id = ?`)
311
+ .get(delivery.deliveryId);
312
+ if (existing !== undefined) {
313
+ const sessionId = rowString(existing, "session_id");
314
+ const payload = rowString(existing, "payload_json");
315
+ const state = runtimeDeliveryState(existing);
316
+ if (sessionId !== delivery.sessionId || payload !== delivery.payload) {
317
+ throw new Error("The Runtime delivery identity conflicts with its durable receipt");
318
+ }
319
+ this.#database.exec("COMMIT");
320
+ return new StoredRuntimeDelivery(delivery.deliveryId, sessionId, payload, state, true);
321
+ }
322
+ const usage = this.#database
323
+ .prepare(`SELECT COUNT(*) AS delivery_count,
324
+ COALESCE(SUM(payload_bytes), 0) AS delivery_bytes
325
+ FROM relay_runtime_deliveries`)
326
+ .get();
327
+ if (rowNumber(usage, "delivery_count") + 1 > this.#limits.runtimeDeliveryCount ||
328
+ rowNumber(usage, "delivery_bytes") + payloadBytes > this.#limits.runtimeDeliveryBytes) {
329
+ throw new RuntimeDeliveryInboxCapacityError();
330
+ }
331
+ this.#database
332
+ .prepare(`INSERT INTO relay_runtime_deliveries (
333
+ delivery_id, session_id, payload_json, payload_bytes, state, received_at
334
+ ) VALUES (?, ?, ?, ?, 'received', ?)`)
335
+ .run(delivery.deliveryId, delivery.sessionId, delivery.payload, payloadBytes, Date.now());
336
+ this.#database.exec("COMMIT");
337
+ return new StoredRuntimeDelivery(delivery.deliveryId, delivery.sessionId, delivery.payload, "received", false);
338
+ }
339
+ catch (error) {
340
+ this.#database.exec("ROLLBACK");
341
+ throw error;
342
+ }
343
+ };
344
+ markRuntimeDeliveryCommitted = (deliveryId, sessionId) => {
345
+ this.#database.exec("BEGIN IMMEDIATE");
346
+ try {
347
+ const row = this.#database
348
+ .prepare(`SELECT state FROM relay_runtime_deliveries
349
+ WHERE delivery_id = ? AND session_id = ?`)
350
+ .get(deliveryId, sessionId);
351
+ if (row === undefined) {
352
+ this.#database.exec("COMMIT");
353
+ return false;
354
+ }
355
+ const state = runtimeDeliveryState(row);
356
+ if (state === "processed") {
357
+ this.#database.prepare(`DELETE FROM relay_runtime_deliveries WHERE delivery_id = ?`).run(deliveryId);
358
+ }
359
+ else if (state === "received") {
360
+ this.#database
361
+ .prepare(`UPDATE relay_runtime_deliveries SET state = 'relay_committed' WHERE delivery_id = ?`)
362
+ .run(deliveryId);
363
+ }
364
+ this.#database.exec("COMMIT");
365
+ return true;
366
+ }
367
+ catch (error) {
368
+ this.#database.exec("ROLLBACK");
369
+ throw error;
370
+ }
371
+ };
372
+ markRuntimeDeliveryProcessed = (deliveryId, sessionId) => {
373
+ this.#database.exec("BEGIN IMMEDIATE");
374
+ try {
375
+ const row = this.#database
376
+ .prepare(`SELECT state FROM relay_runtime_deliveries
377
+ WHERE delivery_id = ? AND session_id = ?`)
378
+ .get(deliveryId, sessionId);
379
+ if (row === undefined) {
380
+ this.#database.exec("COMMIT");
381
+ return false;
382
+ }
383
+ const state = runtimeDeliveryState(row);
384
+ if (state === "relay_committed") {
385
+ this.#database.prepare(`DELETE FROM relay_runtime_deliveries WHERE delivery_id = ?`).run(deliveryId);
386
+ }
387
+ else if (state === "received") {
388
+ this.#database
389
+ .prepare(`UPDATE relay_runtime_deliveries SET state = 'processed' WHERE delivery_id = ?`)
390
+ .run(deliveryId);
391
+ }
392
+ this.#database.exec("COMMIT");
393
+ return true;
394
+ }
395
+ catch (error) {
396
+ this.#database.exec("ROLLBACK");
397
+ throw error;
398
+ }
399
+ };
400
+ runtimeDeliveries = () => this.#database
401
+ .prepare(`SELECT delivery_id, session_id, payload_json, state
402
+ FROM relay_runtime_deliveries
403
+ ORDER BY received_at, delivery_id`)
404
+ .all()
405
+ .map((row) => new StoredRuntimeDelivery(rowString(row, "delivery_id"), rowString(row, "session_id"), rowString(row, "payload_json"), runtimeDeliveryState(row), true));
406
+ #enqueueBounded = (sessionId, payload, attemptId, maximumEventCount, maximumEventBytes) => {
407
+ const sourceKey = attemptId.length === 0 ? `runtime:${sessionId}` : `attempt:${sessionId}:${attemptId}`;
175
408
  this.#database.exec("BEGIN IMMEDIATE");
176
409
  try {
177
410
  const row = this.#database
@@ -188,7 +421,7 @@ export class SessionEventOutbox {
188
421
  kind: SESSION_EVENT_KIND,
189
422
  payload,
190
423
  sessionId,
191
- source: attemptId === null
424
+ source: attemptId.length === 0
192
425
  ? { kind: "runtime", sourceSeq: nextSourceSeq.toString() }
193
426
  : {
194
427
  attemptId,
@@ -197,6 +430,16 @@ export class SessionEventOutbox {
197
430
  },
198
431
  };
199
432
  const encoded = encodeSessionEventEnvelope(envelope);
433
+ const byteLength = new TextEncoder().encode(encoded).byteLength;
434
+ const state = this.#database
435
+ .prepare(`SELECT event_count, total_bytes
436
+ FROM relay_session_event_outbox_state
437
+ WHERE singleton = 1`)
438
+ .get();
439
+ if (rowNumber(state, "event_count") + 1 > maximumEventCount ||
440
+ rowNumber(state, "total_bytes") + byteLength > maximumEventBytes) {
441
+ throw new SessionEventOutboxCapacityError();
442
+ }
200
443
  this.#database
201
444
  .prepare(`INSERT INTO relay_session_event_sources (
202
445
  source_key, next_source_seq
@@ -206,9 +449,15 @@ export class SessionEventOutbox {
206
449
  .run(sourceKey, nextSourceSeq + 1);
207
450
  this.#database
208
451
  .prepare(`INSERT INTO relay_session_event_outbox (
209
- event_id, session_id, source_key, envelope_json
210
- ) VALUES (?, ?, ?, ?)`)
211
- .run(envelope.eventId, envelope.sessionId, sourceKey, encoded);
452
+ event_id, session_id, source_key, byte_length, envelope_json
453
+ ) VALUES (?, ?, ?, ?, ?)`)
454
+ .run(envelope.eventId, envelope.sessionId, sourceKey, byteLength, encoded);
455
+ this.#database
456
+ .prepare(`UPDATE relay_session_event_outbox_state
457
+ SET event_count = event_count + 1,
458
+ total_bytes = total_bytes + ?
459
+ WHERE singleton = 1`)
460
+ .run(byteLength);
212
461
  this.#database.exec("COMMIT");
213
462
  return encoded;
214
463
  }
@@ -217,6 +466,45 @@ export class SessionEventOutbox {
217
466
  throw error;
218
467
  }
219
468
  };
469
+ #removeAcknowledgedEvent = (eventId, sessionId) => {
470
+ this.#database.exec("BEGIN IMMEDIATE");
471
+ try {
472
+ const stored = this.#database
473
+ .prepare(`SELECT byte_length FROM relay_session_event_outbox
474
+ WHERE event_id = ? AND session_id = ?`)
475
+ .get(eventId, sessionId);
476
+ if (stored === undefined) {
477
+ this.#database.exec("COMMIT");
478
+ return false;
479
+ }
480
+ const byteLength = rowNumber(stored, "byte_length");
481
+ const deletion = this.#database
482
+ .prepare(`DELETE FROM relay_session_event_outbox
483
+ WHERE event_id = ? AND session_id = ?`)
484
+ .run(eventId, sessionId);
485
+ if (deletion.changes !== 1) {
486
+ throw new Error("The acknowledged session event could not be removed from the durable outbox");
487
+ }
488
+ this.#decrementEventState(byteLength);
489
+ this.#database.exec("COMMIT");
490
+ return true;
491
+ }
492
+ catch (error) {
493
+ this.#database.exec("ROLLBACK");
494
+ throw error;
495
+ }
496
+ };
497
+ #decrementEventState = (byteLength) => {
498
+ const result = this.#database
499
+ .prepare(`UPDATE relay_session_event_outbox_state
500
+ SET event_count = event_count - 1,
501
+ total_bytes = total_bytes - ?
502
+ WHERE singleton = 1 AND event_count > 0 AND total_bytes >= ?`)
503
+ .run(byteLength, byteLength);
504
+ if (result.changes !== 1) {
505
+ throw new Error("The Session event outbox capacity state is inconsistent");
506
+ }
507
+ };
220
508
  pending = () => this.#database
221
509
  .prepare(`SELECT envelope_json
222
510
  FROM relay_session_event_outbox
@@ -245,6 +533,69 @@ export class SessionEventOutbox {
245
533
  .all(limit)
246
534
  .map(readPendingEnvelope);
247
535
  };
536
+ pendingSourceHeads = (limit, excludedEventIds, excludedSourceKeys) => {
537
+ if (!Number.isSafeInteger(limit) || limit < 1) {
538
+ throw new Error("Session event replay batch limit must be a positive integer");
539
+ }
540
+ const exclusions = [];
541
+ const parameters = [];
542
+ if (excludedEventIds.length > 0) {
543
+ exclusions.push(`event_id NOT IN (${excludedEventIds.map(() => "?").join(", ")})`);
544
+ parameters.push(...excludedEventIds);
545
+ }
546
+ if (excludedSourceKeys.length > 0) {
547
+ exclusions.push(`source_key NOT IN (${excludedSourceKeys.map(() => "?").join(", ")})`);
548
+ parameters.push(...excludedSourceKeys);
549
+ }
550
+ parameters.push(limit.toString());
551
+ const where = exclusions.length === 0 ? "" : `WHERE ${exclusions.join(" AND ")}`;
552
+ return this.#database
553
+ .prepare(`WITH available_events AS (
554
+ SELECT ordinal, source_key
555
+ FROM relay_session_event_outbox
556
+ ${where}
557
+ ), ranked_events AS (
558
+ SELECT ordinal,
559
+ ROW_NUMBER() OVER (
560
+ PARTITION BY source_key
561
+ ORDER BY ordinal
562
+ ) AS source_position
563
+ FROM available_events
564
+ )
565
+ SELECT outbox.envelope_json
566
+ FROM ranked_events AS ranked
567
+ INNER JOIN relay_session_event_outbox AS outbox
568
+ ON outbox.ordinal = ranked.ordinal
569
+ WHERE ranked.source_position = 1
570
+ ORDER BY outbox.ordinal
571
+ LIMIT ?`)
572
+ .all(...parameters)
573
+ .map(readPendingEnvelope);
574
+ };
575
+ }
576
+ function validateLimits(limits) {
577
+ const values = [
578
+ limits.criticalEventBytes,
579
+ limits.criticalEventCount,
580
+ limits.runtimeDeliveryBytes,
581
+ limits.runtimeDeliveryCount,
582
+ limits.standardEventBytes,
583
+ limits.standardEventCount,
584
+ ];
585
+ if (values.some((value) => !Number.isSafeInteger(value) || value < 1)) {
586
+ throw new Error("Session event outbox limits must be positive integers");
587
+ }
588
+ if (limits.criticalEventBytes < limits.standardEventBytes ||
589
+ limits.criticalEventCount < limits.standardEventCount) {
590
+ throw new Error("Critical Session event capacity must include the standard capacity");
591
+ }
592
+ }
593
+ function runtimeDeliveryState(row) {
594
+ const state = rowString(row, "state");
595
+ if (state !== "received" && state !== "relay_committed" && state !== "processed") {
596
+ throw new Error("SQLite returned an invalid Runtime delivery state");
597
+ }
598
+ return state;
248
599
  }
249
600
  function isDaemonExecutionState(value) {
250
601
  return (value === "cancelled" ||
@@ -1 +1 @@
1
- {"version":3,"file":"session-event-outbox.js","sourceRoot":"","sources":["../../src/relay-connection/session-event-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,GAIrB,MAAM,0BAA0B,CAAC;AAElC,SAAS,mBAAmB,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAWD,MAAM,OAAO,kBAAkB;IAClB,SAAS,CAAe;IAEjC,YAAY,IAAY;QACpB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgCvB,CAAC,CAAC;QACC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAE,CAAC;QACpG,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACnC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,YAAY,CAC5G,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;OAGzB,CAAC,CAAC;QACD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;IACH,CAAC;IAEQ,cAAc,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,WAAmB,EAA0B,EAAE;QAC5G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;iBAC1B,OAAO,CACJ;yDACqC,CACxC;iBACA,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7C,IACI,eAAe,KAAK,SAAS;oBAC7B,aAAa,KAAK,WAAW;oBAC7B,OAAO,SAAS,KAAK,QAAQ;oBAC7B,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAChC,CAAC;oBACC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAC9D,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS;iBACT,OAAO,CACJ;;gDAE4B,CAC/B;iBACA,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;gBACH,SAAS;gBACT,SAAS;gBACT,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,aAAa;aACvB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;IAEO,mBAAmB,GAAG,CAAC,SAAiB,EAAE,KAA2B,EAAQ,EAAE;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChH,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GACT,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;YACnG,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClH,CAAC,CAAC;IAEO,mBAAmB,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAW,EAAE;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;aACrB,OAAO,CAAC,+EAA+E,CAAC;aACxF,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC;IAChF,CAAC,CAAC;IAEO,WAAW,GAAG,CAAC,eAA4C,EAAW,EAAE,CAC7E,IAAI,CAAC,SAAS;SACT,OAAO,CACJ;+CAC+B,CAClC;SACA,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;IAEtE,UAAU,GAAG,CAAC,SAAgC,EAAW,EAAE;QAChE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;iBAC3B,OAAO,CACJ;;;;;iDAK6B,CAChC;iBACA,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,SAAS,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;iBAC1B,OAAO,CACJ;iDAC6B,CAChC;iBACA,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;IAEO,KAAK,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEO,OAAO,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,SAAS,GAAkB,IAAI,EAAU,EAAE;QAC/F,MAAM,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,SAAS,IAAI,SAAS,EAAE,CAAC;QACpG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;iBACrB,OAAO,CACJ;gCACY,CACf;iBACA,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,eAAe,GACjB,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,aAAa,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,QAAQ,GAAyB;gBACnC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,kBAAkB;gBACxB,OAAO;gBACP,SAAS;gBACT,MAAM,EACF,SAAS,KAAK,IAAI;oBACd,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE;oBAC1D,CAAC,CAAC;wBACI,SAAS;wBACT,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE;qBACtC;aACd,CAAC;YACF,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS;iBACT,OAAO,CACJ;;;;wDAIoC,CACvC;iBACA,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS;iBACT,OAAO,CACJ;;iCAEa,CAChB;iBACA,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;IAEO,OAAO,GAAG,GAAsB,EAAE,CACvC,IAAI,CAAC,SAAS;SACT,OAAO,CACJ;;0BAEU,CACb;SACA,GAAG,EAAE;SACL,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEzB,YAAY,GAAG,CAAC,KAAa,EAAqB,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS;aAChB,OAAO,CACJ;;;;;;;;;;;;;yBAaS,CACZ;aACA,GAAG,CAAC,KAAK,CAAC;aACV,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC,CAAC;CACL;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC1C,OAAO,CACH,KAAK,KAAK,WAAW;QACrB,KAAK,KAAK,aAAa;QACvB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,WAAW,CACxB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"session-event-outbox.js","sourceRoot":"","sources":["../../src/relay-connection/session-event-outbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-daemon.d.ts","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"AAyHA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,EAA4B,KAAK,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAwwD5G,wBAAsB,SAAS,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE,WAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CA2Hf"}
1
+ {"version":3,"file":"run-daemon.d.ts","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"AAgIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,OAAO,EAA4B,KAAK,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AA6iE5G,wBAAsB,SAAS,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE,WAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CA2Hf"}