@spine-event-engine/server 2.0.0-snapshot.16 → 2.0.0-snapshot.20

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 (74) hide show
  1. package/README.md +17 -3
  2. package/REFERENCE.md +66 -12
  3. package/dist/context/bounded-context.d.ts +72 -14
  4. package/dist/context/bounded-context.d.ts.map +1 -1
  5. package/dist/context/bounded-context.js +130 -49
  6. package/dist/context/bounded-context.js.map +1 -1
  7. package/dist/context/effective-tenant.d.ts +9 -0
  8. package/dist/context/effective-tenant.d.ts.map +1 -0
  9. package/dist/context/effective-tenant.js +58 -0
  10. package/dist/context/effective-tenant.js.map +1 -0
  11. package/dist/context/tenant-index.d.ts.map +1 -1
  12. package/dist/context/tenant-index.js +70 -1
  13. package/dist/context/tenant-index.js.map +1 -1
  14. package/dist/delivery/delivery.d.ts.map +1 -1
  15. package/dist/delivery/delivery.js +270 -26
  16. package/dist/delivery/delivery.js.map +1 -1
  17. package/dist/delivery/inbox-storage.d.ts +7 -0
  18. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  19. package/dist/delivery/inbox-storage.js +110 -0
  20. package/dist/delivery/inbox-storage.js.map +1 -1
  21. package/dist/entity/entity-metadata.d.ts +2 -2
  22. package/dist/entity/entity-metadata.js +2 -2
  23. package/dist/entity/entity-metadata.js.map +1 -1
  24. package/dist/entity/entity-storage-descriptor.d.ts +24 -4
  25. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  26. package/dist/entity/entity-storage-descriptor.js +69 -23
  27. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  28. package/dist/entity/entity.d.ts +19 -18
  29. package/dist/entity/entity.d.ts.map +1 -1
  30. package/dist/entity/entity.js +61 -24
  31. package/dist/entity/entity.js.map +1 -1
  32. package/dist/entity/spec-scanner.d.ts +13 -1
  33. package/dist/entity/spec-scanner.d.ts.map +1 -1
  34. package/dist/entity/spec-scanner.js +20 -3
  35. package/dist/entity/spec-scanner.js.map +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/repository/command-routing.d.ts +63 -10
  40. package/dist/repository/command-routing.d.ts.map +1 -1
  41. package/dist/repository/command-routing.js +41 -8
  42. package/dist/repository/command-routing.js.map +1 -1
  43. package/dist/repository/event-routing.d.ts +64 -9
  44. package/dist/repository/event-routing.d.ts.map +1 -1
  45. package/dist/repository/event-routing.js +42 -7
  46. package/dist/repository/event-routing.js.map +1 -1
  47. package/dist/repository/repository.d.ts +96 -10
  48. package/dist/repository/repository.d.ts.map +1 -1
  49. package/dist/repository/repository.js +437 -133
  50. package/dist/repository/repository.js.map +1 -1
  51. package/dist/repository/state-update-routing.d.ts +67 -8
  52. package/dist/repository/state-update-routing.d.ts.map +1 -1
  53. package/dist/repository/state-update-routing.js +45 -6
  54. package/dist/repository/state-update-routing.js.map +1 -1
  55. package/dist/server/server.d.ts.map +1 -1
  56. package/dist/server/server.js +407 -109
  57. package/dist/server/server.js.map +1 -1
  58. package/dist/services/registered-targets.d.ts +73 -0
  59. package/dist/services/registered-targets.d.ts.map +1 -0
  60. package/dist/services/registered-targets.js +127 -0
  61. package/dist/services/registered-targets.js.map +1 -0
  62. package/dist/services/spine-services.d.ts +26 -12
  63. package/dist/services/spine-services.d.ts.map +1 -1
  64. package/dist/services/spine-services.js +1044 -962
  65. package/dist/services/spine-services.js.map +1 -1
  66. package/dist/stand/stand.d.ts +73 -1
  67. package/dist/stand/stand.d.ts.map +1 -1
  68. package/dist/stand/stand.js +220 -48
  69. package/dist/stand/stand.js.map +1 -1
  70. package/dist/stand/subscription-observer.d.ts.map +1 -1
  71. package/dist/stand/subscription-observer.js +4 -11
  72. package/dist/stand/subscription-observer.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +12 -12
@@ -18,7 +18,7 @@ import { TenantIdSchema } from "@spine-event-engine/proto";
18
18
  import { WorkerIdSchema } from "@spine-event-engine/proto/delivery";
19
19
  import { AlreadyPickedUp, DeliveryMonitor, FailedPickUp, FailedReception, } from "./delivery-monitor.js";
20
20
  import { Inbox, InboxTargets } from "./inbox.js";
21
- import { InboxStorage } from "./inbox-storage.js";
21
+ import { InboxStorage, InboxStorageClock } from "./inbox-storage.js";
22
22
  import { ShardIndex } from "./shard-index.js";
23
23
  import { ShardedWorkRegistry } from "./sharded-work-registry.js";
24
24
  import { withDeliveryCommitFence } from "../repository/commit-fence.js";
@@ -208,20 +208,34 @@ export class Delivery {
208
208
  }).run();
209
209
  }
210
210
  }
211
+ /**
212
+ * Processes inbox pages while retaining one shard session.
213
+ */
211
214
  class DeliveryDrain {
212
215
  input;
213
216
  #statistics = counts();
214
217
  #failures = [];
215
218
  #deduplication;
216
219
  #blockedTargets = new Set();
220
+ #removedInPage = new Set();
217
221
  #current;
218
222
  #ownershipLost = false;
219
223
  #failureLimitReached = false;
224
+ /**
225
+ * Creates a drain for one acquired shard session.
226
+ *
227
+ * @param input Supplies the inbox, callbacks, and shard session.
228
+ */
220
229
  constructor(input) {
221
230
  this.input = input;
222
231
  this.#current = input.session;
223
232
  this.#deduplication = new DeliveryDeduplication(input.inbox);
224
233
  }
234
+ /**
235
+ * Executes delivery and releases the shard session.
236
+ *
237
+ * @returns The terminal delivery outcome and counts.
238
+ */
225
239
  async run() {
226
240
  let run;
227
241
  try {
@@ -234,34 +248,69 @@ class DeliveryDrain {
234
248
  }
235
249
  return (await this.#release()) ? run : this.#complete("FAILED");
236
250
  }
251
+ /**
252
+ * Removes the session and reports completion when release succeeds.
253
+ *
254
+ * @returns Whether the session was released.
255
+ */
237
256
  async #release() {
238
257
  const released = await safelyValue(() => this.input.shards.release(this.#current, this.input.options.operation), false);
239
258
  if (released)
240
259
  await safely(() => this.#completeMonitoring());
241
260
  return released;
242
261
  }
262
+ /**
263
+ * Checks whether monitoring permits this drain to start.
264
+ *
265
+ * @returns Whether page processing may start.
266
+ */
243
267
  async #canStart() {
244
268
  if (!(await safelyBoolean(() => this.input.monitor.shouldContinueAfter("DELIVERY"))))
245
269
  return false;
246
270
  return safely(() => this.input.monitor.onDeliveryStarted(this.input.shard));
247
271
  }
272
+ /**
273
+ * Reads and processes inbox pages until the shard is drained or stopped.
274
+ *
275
+ * @returns The terminal delivery outcome.
276
+ */
248
277
  async #readPages() {
249
278
  let after;
279
+ let deliveredInScan = false;
250
280
  for (;;) {
251
281
  const messages = await this.#readPage(after);
252
- if (messages.length === 0)
253
- return this.#complete("DRAINED");
282
+ this.#removedInPage.clear();
283
+ if (messages.length === 0) {
284
+ if (!deliveredInScan)
285
+ return this.#complete("DRAINED");
286
+ after = undefined;
287
+ deliveredInScan = false;
288
+ continue;
289
+ }
254
290
  const deliveredBefore = this.#statistics.delivered;
255
291
  if (!(await this.#processPage(messages)))
256
292
  return this.#complete("STOPPED");
257
293
  if (!(await this.#cleanupPage(messages)))
258
294
  return this.#complete("STOPPED");
259
- const next = this.#nextPage(messages, deliveredBefore);
260
- if (next.complete)
261
- return this.#complete("DRAINED");
262
- after = next.after;
295
+ deliveredInScan ||= this.#statistics.delivered !== deliveredBefore;
296
+ if (messages.length < this.input.pageSize) {
297
+ if (!deliveredInScan)
298
+ return this.#complete("DRAINED");
299
+ after = undefined;
300
+ deliveredInScan = false;
301
+ continue;
302
+ }
303
+ const survivor = messages.findLast((message) => !this.#removedInPage.has(message));
304
+ if (survivor !== undefined)
305
+ after = this.#continuation([survivor]);
263
306
  }
264
307
  }
308
+ /**
309
+ * Reads the next inbox page after an optional continuation.
310
+ *
311
+ * @param after Supplies the prior page position, when present.
312
+ * @returns The ordered inbox messages in the next page.
313
+ */
265
314
  #readPage(after) {
266
315
  return this.input.inbox.read(this.input.shard, {
267
316
  limit: this.input.pageSize,
@@ -269,8 +318,14 @@ class DeliveryDrain {
269
318
  ...(this.input.options.operation ?? {}),
270
319
  });
271
320
  }
321
+ /**
322
+ * Processes every message in one page.
323
+ *
324
+ * @param messages Supplies the inbox page to process.
325
+ * @returns Whether page processing may continue.
326
+ */
272
327
  async #processPage(messages) {
273
- const page = this.#deduplication.page(messages);
328
+ const page = this.#deduplication.page(messages, this.#retentionTime());
274
329
  for (const message of messages) {
275
330
  if (!(await this.#processMessage(message, page)))
276
331
  return false;
@@ -279,6 +334,13 @@ class DeliveryDrain {
279
334
  }
280
335
  return true;
281
336
  }
337
+ /**
338
+ * Processes one message unless it is skipped or its target is blocked.
339
+ *
340
+ * @param message Supplies the inbox message.
341
+ * @param page Provides duplicate checks for this page.
342
+ * @returns Whether processing may continue.
343
+ */
282
344
  async #processMessage(message, page) {
283
345
  if (this.input.options.operation?.signal?.aborted)
284
346
  return false;
@@ -294,22 +356,47 @@ class DeliveryDrain {
294
356
  return this.#removeDuplicate(message, target);
295
357
  return this.#deliver(message, target);
296
358
  }
359
+ /**
360
+ * Determines whether an inbox message is ineligible for endpoint delivery.
361
+ *
362
+ * @param message Supplies the message to check.
363
+ * @returns Whether the message should be skipped.
364
+ */
297
365
  #shouldSkip(message) {
298
366
  return (message.status !== "TO_DELIVER" ||
299
367
  !isEndpointMessage(message) ||
300
368
  (this.input.options.acceptMessage !== undefined && !this.input.options.acceptMessage(message)));
301
369
  }
370
+ /**
371
+ * Builds the key used to block further messages for one target.
372
+ *
373
+ * @param message Supplies the inbox message.
374
+ * @returns The target type and ID key.
375
+ */
302
376
  #targetKey(message) {
303
377
  return `${message.inboxId.targetTypeUrl}:${InboxTargets.key(message.inboxId.targetId)}`;
304
378
  }
379
+ /**
380
+ * Checks monitoring and verifies that the shard session remains current.
381
+ *
382
+ * @returns Whether this message may be processed.
383
+ */
305
384
  async #mayProcess() {
306
385
  return ((await safelyBoolean(() => this.input.monitor.shouldContinueAfter("PAGE"))) &&
307
386
  (await this.#validate()));
308
387
  }
388
+ /**
389
+ * Removes a duplicate message and records a failure if removal fails.
390
+ *
391
+ * @param message Supplies the duplicate message.
392
+ * @param target Identifies the target to block after a failure.
393
+ * @returns Whether processing may continue.
394
+ */
309
395
  async #removeDuplicate(message, target) {
310
396
  try {
311
397
  if (!(await this.input.inbox.removeDuplicate(message, this.#current, this.input.options.operation)))
312
398
  throw new Error("Inbox duplicate was not removed.");
399
+ this.#removedInPage.add(message);
313
400
  this.input.options.onDuplicateRemoved?.(message);
314
401
  }
315
402
  catch (error) {
@@ -318,6 +405,13 @@ class DeliveryDrain {
318
405
  }
319
406
  return true;
320
407
  }
408
+ /**
409
+ * Delivers one message and records its outcome.
410
+ *
411
+ * @param message Supplies the inbox message.
412
+ * @param target Identifies the message target.
413
+ * @returns Whether processing may continue.
414
+ */
321
415
  async #deliver(message, target) {
322
416
  try {
323
417
  this.#statistics.accepted += 1;
@@ -333,6 +427,14 @@ class DeliveryDrain {
333
427
  }
334
428
  return true;
335
429
  }
430
+ /**
431
+ * Records endpoint failure and runs the configured recovery action.
432
+ *
433
+ * @param message Supplies the failed inbox message.
434
+ * @param target Identifies the message target.
435
+ * @param error Supplies the endpoint or acknowledgement failure.
436
+ * @returns Completion after the recovery action finishes.
437
+ */
336
438
  async #handleReceptionFailure(message, target, error) {
337
439
  this.#recordFailure(message, error);
338
440
  const reception = new FailedReception(message, error, () => this.#acknowledge(message), () => this.#repeat(message));
@@ -341,21 +443,45 @@ class DeliveryDrain {
341
443
  !(await safely(() => reception.markDelivered().execute())))
342
444
  this.#blockedTargets.add(target);
343
445
  }
446
+ /**
447
+ * Marks a message delivered after checking the shard session.
448
+ *
449
+ * @param message Supplies the inbox message to acknowledge.
450
+ * @returns Completion after the message is marked delivered.
451
+ */
344
452
  async #acknowledge(message) {
345
453
  if (!(await this.#validate()))
346
454
  throw new Error("Shard ownership was lost.");
347
455
  await this.#markDelivered(message);
348
456
  }
457
+ /**
458
+ * Dispatches the message again and acknowledges it.
459
+ *
460
+ * @param message Supplies the inbox message to repeat.
461
+ * @returns Completion after dispatch and acknowledgement.
462
+ */
349
463
  async #repeat(message) {
350
464
  await this.#dispatch(message);
351
465
  await this.#acknowledge(message);
352
466
  }
467
+ /**
468
+ * Dispatches a message while validating the shard session before the call.
469
+ *
470
+ * @param message Supplies the inbox message for the endpoint.
471
+ * @returns Completion after endpoint dispatch.
472
+ */
353
473
  async #dispatch(message) {
354
474
  await withDeliveryCommitFence(async () => {
355
475
  if (!(await this.#validate()))
356
476
  throw new Error("Shard ownership was lost.");
357
477
  }, () => Promise.resolve(this.input.options.onMessage(message)));
358
478
  }
479
+ /**
480
+ * Marks a message delivered and updates local counts and callbacks.
481
+ *
482
+ * @param message Supplies the inbox message to acknowledge.
483
+ * @returns Completion after durable acknowledgement.
484
+ */
359
485
  async #markDelivered(message) {
360
486
  if ((await this.input.inbox.markDelivered(message, this.input.options.operation)) === undefined)
361
487
  throw new Error("Inbox message was not marked delivered.");
@@ -363,36 +489,73 @@ class DeliveryDrain {
363
489
  this.#statistics.delivered += 1;
364
490
  this.input.options.onDelivered?.(message);
365
491
  }
492
+ /**
493
+ * Removes expired delivered messages from one page when supported.
494
+ *
495
+ * @param messages Supplies the inbox page to clean up.
496
+ * @returns Whether cleanup completed while the session remained valid.
497
+ */
366
498
  async #cleanupPage(messages) {
367
499
  if (this.input.inbox.removeDelivered === undefined)
368
500
  return true;
369
501
  if (!(await this.#validate()))
370
502
  return false;
503
+ const now = this.#retentionTime().getTime();
371
504
  for (const message of messages) {
372
- if (message.status === "DELIVERED" && !(await this.#removeDelivered(message)))
373
- return false;
505
+ if (message.status === "DELIVERED" &&
506
+ (message.keepUntil === undefined || message.keepUntil.getTime() <= now)) {
507
+ const removed = await this.#removeDelivered(message);
508
+ if (removed === undefined)
509
+ return false;
510
+ if (removed)
511
+ this.#removedInPage.add(message);
512
+ }
374
513
  }
375
514
  return true;
376
515
  }
516
+ /**
517
+ * Removes one expired delivered message when supported.
518
+ *
519
+ * @param message Supplies the delivered message to remove.
520
+ * @returns Whether the row was removed, or undefined if the session was lost.
521
+ */
377
522
  async #removeDelivered(message) {
378
523
  if (this.input.inbox.removeDelivered === undefined)
379
- return true;
380
- if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
381
524
  return false;
525
+ if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
526
+ return undefined;
382
527
  const removed = await this.input.inbox.removeDelivered(message, this.#current, this.input.options.operation);
383
- return !this.input.options.operation?.signal?.aborted && (removed || (await this.#validate()));
528
+ if (this.input.options.operation?.signal?.aborted || (!removed && !(await this.#validate())))
529
+ return undefined;
530
+ return removed;
384
531
  }
385
- #nextPage(messages, deliveredBefore) {
386
- if (this.#statistics.delivered !== deliveredBefore)
387
- return { complete: false };
532
+ /**
533
+ * Creates the continuation following the last message in a page.
534
+ *
535
+ * @param messages Supplies the non-empty inbox page.
536
+ * @returns The continuation identifying its last message.
537
+ */
538
+ #continuation(messages) {
388
539
  const last = messages.at(-1);
389
- if (last === undefined || messages.length < this.input.pageSize)
390
- return { complete: true };
391
- return {
392
- complete: false,
393
- after: { messageId: last.id.value, whenReceived: last.whenReceived, version: last.version },
394
- };
540
+ if (last === undefined)
541
+ throw new Error("Inbox page has no continuation.");
542
+ return { messageId: last.id.value, whenReceived: last.whenReceived, version: last.version };
543
+ }
544
+ /**
545
+ * Reads the inbox retention clock or the current time.
546
+ *
547
+ * @returns The time used to evaluate message retention.
548
+ */
549
+ #retentionTime() {
550
+ return this.input.inbox instanceof Inbox
551
+ ? InboxStorageClock.read(this.input.inbox.storage)
552
+ : new Date();
395
553
  }
554
+ /**
555
+ * Checks the shard session and records when it is lost.
556
+ *
557
+ * @returns Whether the shard session remains valid.
558
+ */
396
559
  async #validate() {
397
560
  const current = await safelyValue(() => this.input.shards.validateOwnership(this.#current, this.input.options.operation), undefined);
398
561
  if (current === undefined)
@@ -401,15 +564,32 @@ class DeliveryDrain {
401
564
  this.#current = current;
402
565
  return current !== undefined;
403
566
  }
567
+ /**
568
+ * Records an ephemeral delivery failure up to the configured limit.
569
+ *
570
+ * @param message Supplies the failed inbox message.
571
+ * @param error Supplies the observed failure.
572
+ */
404
573
  #recordFailure(message, error) {
405
574
  this.#statistics.failed += 1;
406
575
  if (this.#failures.length < deliveryFailureLimit)
407
576
  this.#failures.push(Object.freeze({ message: snapshot(message), error }));
408
577
  this.#failureLimitReached = this.#failures.length === deliveryFailureLimit;
409
578
  }
579
+ /**
580
+ * Creates a terminal result from the current counters and failures.
581
+ *
582
+ * @param status Identifies the terminal delivery outcome.
583
+ * @returns The immutable delivery result.
584
+ */
410
585
  #complete(status) {
411
586
  return result(status, this.#statistics, this.#failures);
412
587
  }
588
+ /**
589
+ * Sends delivery completion to the monitor.
590
+ *
591
+ * @returns Completion after the monitor callback settles.
592
+ */
413
593
  #completeMonitoring() {
414
594
  return Promise.resolve(this.input.monitor.onDeliveryCompleted(Object.freeze({
415
595
  processed: this.#statistics.processed,
@@ -465,6 +645,14 @@ async function safelyBoolean(action) {
465
645
  return false;
466
646
  }
467
647
  }
648
+ /**
649
+ * Returns an action result or a fallback when the action fails.
650
+ *
651
+ * @typeParam T Action result type.
652
+ * @param action Supplies the action to run.
653
+ * @param fallback Supplies the result to use after failure.
654
+ * @returns The action result or fallback value.
655
+ */
468
656
  async function safelyValue(action, fallback) {
469
657
  try {
470
658
  return await action();
@@ -478,32 +666,68 @@ function isEndpointMessage(message) {
478
666
  message.label === "UPDATE_SUBSCRIBER" ||
479
667
  message.label === "REACT_UPON_EVENT");
480
668
  }
669
+ /**
670
+ * Tracks recently delivered messages for one inbox.
671
+ */
481
672
  class DeliveryDeduplication {
482
673
  #recent;
674
+ /**
675
+ * Creates or reuses recent delivery state for the supplied inbox.
676
+ *
677
+ * @param inbox Supplies the inbox used as the deduplication key.
678
+ */
483
679
  constructor(inbox) {
484
680
  const current = recentDeliveries.get(inbox);
485
681
  this.#recent = current ?? new RecentDeliveries();
486
682
  if (current === undefined)
487
683
  recentDeliveries.set(inbox, this.#recent);
488
684
  }
489
- page(messages) {
490
- return new DeliveryPageDeduplication(messages, this.#recent);
685
+ /**
686
+ * Creates duplicate checks for one page and retention time.
687
+ *
688
+ * @param messages Supplies the messages in the page.
689
+ * @param now Supplies the time used to check message retention.
690
+ * @returns Duplicate checks for the page.
691
+ */
692
+ page(messages, now) {
693
+ return new DeliveryPageDeduplication(messages, this.#recent, now);
491
694
  }
695
+ /**
696
+ * Records a message as recently delivered.
697
+ *
698
+ * @param message Supplies the delivered message.
699
+ */
492
700
  recordDelivered(message) {
493
701
  this.#recent.add(message);
494
702
  }
495
703
  }
704
+ /**
705
+ * Checks duplicates within a page and the recent-delivery cache.
706
+ */
496
707
  class DeliveryPageDeduplication {
497
708
  recent;
498
709
  #identities;
499
- constructor(messages, recent) {
710
+ /**
711
+ * Creates duplicate checks from retained messages in one page.
712
+ *
713
+ * @param messages Supplies the inbox page.
714
+ * @param recent Provides recently delivered message identities.
715
+ * @param now Supplies the time used to check message retention.
716
+ */
717
+ constructor(messages, recent, now) {
500
718
  this.recent = recent;
501
719
  this.#identities = new Set(messages
502
720
  .filter((message) => message.status === "DELIVERED" &&
503
721
  message.keepUntil !== undefined &&
504
- message.keepUntil.getTime() > Date.now())
722
+ message.keepUntil.getTime() > now.getTime())
505
723
  .map((message) => RecentDeliveries.key(message)));
506
724
  }
725
+ /**
726
+ * Checks whether a message appeared earlier in the page or cache.
727
+ *
728
+ * @param message Supplies the message to check.
729
+ * @returns Whether this message is a duplicate.
730
+ */
507
731
  isDuplicate(message) {
508
732
  const identity = RecentDeliveries.key(message);
509
733
  if (this.#identities.has(identity) || this.recent.has(identity))
@@ -512,11 +736,25 @@ class DeliveryPageDeduplication {
512
736
  return false;
513
737
  }
514
738
  }
739
+ /**
740
+ * Stores a bounded set of recently delivered message identities.
741
+ */
515
742
  class RecentDeliveries {
516
743
  #identities = new Map();
744
+ /**
745
+ * Checks whether an identity is in the recent-delivery set.
746
+ *
747
+ * @param identity Supplies the encoded message identity.
748
+ * @returns Whether that identity is present.
749
+ */
517
750
  has(identity) {
518
751
  return this.#identities.has(identity);
519
752
  }
753
+ /**
754
+ * Adds a message identity and removes the oldest entry when over capacity.
755
+ *
756
+ * @param message Supplies the delivered message.
757
+ */
520
758
  add(message) {
521
759
  const identity = RecentDeliveries.key(message);
522
760
  this.#identities.delete(identity);
@@ -527,6 +765,12 @@ class RecentDeliveries {
527
765
  this.#identities.delete(oldest);
528
766
  }
529
767
  }
768
+ /**
769
+ * Creates the identity key used for recent-delivery checks.
770
+ *
771
+ * @param message Supplies the message to identify.
772
+ * @returns The serialized message identity.
773
+ */
530
774
  static key(message) {
531
775
  return JSON.stringify([
532
776
  message.signalId,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAiB,MAAM,oCAAoC,CAAC;AAInF,OAAO,EACL,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,MAAM,oBAAoB,GAAG,GAAG,CAAC;AA0GjC;;GAEG;AACH,MAAM,OAAO,QAAQ;IACnB,kBAAkB;IAElB;;OAEG;IACM,OAAO,CAAiB;IAEjC;;OAEG;IACM,cAAc,CAAiB;IAExC;;OAEG;IACM,QAAQ,CAAmB;IAEpC;;OAEG;IACM,MAAM,CAAW;IAE1B;;OAEG;IACM,IAAI,CAAS;IAEtB;;OAEG;IACM,QAAQ,CAAS;IAE1B;;OAEG;IACM,KAAK,CAAgB;IAE9B;;OAEG;IACM,MAAM,CAAuB;IAC7B,QAAQ,CAAkB;IAEnC;;;;OAIG;IACH,YAAY,OAAwB;QAClC,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,EAC7C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3F,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;gBACnC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;QACxC,IAAI,CAAC,KAAK;YACR,OAAO,CAAC,KAAK;gBACb,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,YAAY;gBACpB,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,eAAe,EAAE,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,OAA2B;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EACJ,GAAG,CAAC,MAAM,KAAK,SAAS;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ;oBACvB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;wBACxB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAA8B;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YACxF,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;SACtC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,MAAM,CAAC,MAAM,CAAC;YACZ,MAAM,EACJ,GAAG,CAAC,MAAM,KAAK,SAAS;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ;oBACvB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;wBACxB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,WAAW;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAqB,EAAE,KAAyB;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,CAAC,KAA8C;QACzD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAuB;QAC7C,OAAO,MAAM,CAAC,MAAM,CAClB,OAAO,CAAC,WAAW;YACjB,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;aAClD;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAqB,EAAE,KAAuB;QAC/D,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;YAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;YACpF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpB,YAAY;oBACV,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACvF,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC3B,YAAY;oBACV,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACvF,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiB,EAAE,OAA6B;QAC1D,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CACtB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACrF,CAAC;YACF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CACtB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACjF,CAAC;YACF,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,aAAa,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;SACN,CAAC,CAAC,GAAG,EAAE,CAAC;IACX,CAAC;CACF;AAED,MAAM,aAAa;IASY;IARpB,WAAW,GAAG,MAAM,EAAE,CAAC;IACvB,SAAS,GAAsB,EAAE,CAAC;IAClC,cAAc,CAAwB;IACtC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,QAAQ,CAAsB;IAC9B,cAAc,GAAG,KAAK,CAAC;IACvB,oBAAoB,GAAG,KAAK,CAAC;IAE7B,YAA6B,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;QACzD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,GAAgB,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAC5E,KAAK,CACN,CAAC;QACF,IAAI,QAAQ;YAAE,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACf,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,KAA6D,CAAC;QAClE,SAAS,CAAC;YACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACnD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAA6D;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC1B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAiC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,IAAI,IAAI,CAAC,oBAAoB;gBAAE,OAAO,KAAK,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAqB,EAAE,IAA+C;QAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC;QAChE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,OAAO,CACL,OAAO,CAAC,MAAM,KAAK,YAAY;YAC/B,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC3B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAC/F,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,OAAqB;QAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,CACL,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAqB,EAAE,MAAc;QAC1D,IAAI,CAAC;YACH,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CACtC,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAC7B,CAAC;gBAEF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAqB,EAAE,MAAc;QAClD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7F,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,OAAqB,EACrB,MAAc,EACd,KAAc;QAEd,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,eAAe,CACnC,OAAO,EACP,KAAK,EACL,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAChC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,EACtD,SAAS,CAAC,aAAa,EAAE,CAC1B,CAAC;QACF,IACE,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAqB;QACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,MAAM,uBAAuB,CAC3B,KAAK,IAAI,EAAE;YACT,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9E,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAqB;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS;YAC7F,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAiC;QAClD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAqB;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CACpD,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAC7B,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,SAAS,CAAC,QAAiC,EAAE,eAAuB;QAClE,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,eAAe;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3F,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EACtF,SAAS,CACV,CAAC;QACF,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;;YACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC7B,OAAO,OAAO,KAAK,SAAS,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,OAAqB,EAAE,KAAc;QAClD,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,oBAAoB;YAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,oBAAoB,CAAC;IAC7E,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB;QACjB,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CACpC,MAAM,CAAC,MAAM,CAAC;YACZ,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;YACrC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;YACrC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;SACH,CAAC,CAChC,CACF,CAAC;IACJ,CAAC;CACF;AAyGD,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AAClF,CAAC;AACD,SAAS,cAAc,CAAC,MAAgB;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAC5D,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAa,CAAC;AACjB,CAAC;AACD,SAAS,MAAM;IACb,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;AACD,SAAS,MAAM,CACb,MAA6B,EAC7B,KAAK,GAAG,MAAM,EAAE,EAChB,WAAuC,EAAE;IAEzC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACxF,OAAO,GAAG,CAAC;AACb,CAAC;AACD,SAAS,QAAQ,CAAC,OAAqB;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,OAAO;QACV,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;YAChB,GAAG,OAAO,CAAC,EAAE;YACb,KAAK,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,KAAK,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACjE,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;KACvF,CAAC,CAAC;AACL,CAAC;AACD,KAAK,UAAU,MAAM,CAAC,MAAkC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,KAAK,UAAU,aAAa,CAAC,MAAwC;IACnE,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,KAAK,UAAU,WAAW,CAAI,MAA4B,EAAE,QAAW;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AACD,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,OAAO,CACL,OAAO,CAAC,KAAK,KAAK,gBAAgB;QAClC,OAAO,CAAC,KAAK,KAAK,mBAAmB;QACrC,OAAO,CAAC,KAAK,KAAK,kBAAkB,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB;IAChB,OAAO,CAAmB;IAEnC,YAAY,KAAoB;QAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS;YAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,QAAiC;QACpC,OAAO,IAAI,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,yBAAyB;IAKV;IAJV,WAAW,CAAc;IAElC,YACE,QAAiC,EAChB,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;QAEzC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CACxB,QAAQ;aACL,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,MAAM,KAAK,WAAW;YAC9B,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAC3C;aACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,gBAAgB;IACX,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEpD,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,OAAqB;QACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAqB;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,OAAO,CAAC,aAAa;YAC7B,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAmC,CAAC"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type { StorageContext, StorageFactory } from "@spine-event-engine/storage
2
2
  import { type InboxMessage, type InboxMessageId, type InboxReadOptions, type InboxWriteResult } from "./inbox.js";
3
3
  import { ShardIndex } from "./shard-index.js";
4
4
  import type { DeliveryWorkSession } from "./delivery-ports.js";
5
+ /**
6
+ * Internal clock access for concrete local inbox delivery.
7
+ * @internal
8
+ */
9
+ export declare const InboxStorageClock: Readonly<{
10
+ read(storage: InboxStorage): Date;
11
+ }>;
5
12
  /**
6
13
  * Stores direct generated inbox records in the configured durable family.
7
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-storage.d.ts","sourceRoot":"","sources":["../../src/delivery/inbox-storage.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAiB,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGjG,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D;;GAEG;AACH,qBAAa,YAAY;;IAKvB;;;;OAIG;gBACS,OAAO,EAAE,mBAAmB;IAOxC;;;;;;OAMG;IACG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IA0B/F;;;;;OAKG;IACG,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWxE;;;;;OAKG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB7D;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA2B7E;;;;;;;OAOG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,OAAO,qBAAqB,EAAE,wBAAwB,GAC/D,OAAO,CAAC,OAAO,CAAC;IASnB;;;;;;;OAOG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,OAAO,qBAAqB,EAAE,wBAAwB,GAC/D,OAAO,CAAC,OAAO,CAAC;CAsEpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"inbox-storage.d.ts","sourceRoot":"","sources":["../../src/delivery/inbox-storage.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAiB,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGjG,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC;IAAE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CAAE,CAU5E,CAAC;AAEH;;GAEG;AACH,qBAAa,YAAY;;IAOvB;;;;OAIG;gBACS,OAAO,EAAE,mBAAmB;IAQxC;;;;;;OAMG;IACG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IA0B/F;;;;;OAKG;IACG,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWxE;;;;;OAKG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB7D;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA2B7E;;;;;;;OAOG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,OAAO,qBAAqB,EAAE,wBAAwB,GAC/D,OAAO,CAAC,OAAO,CAAC;IASnB;;;;;;;OAOG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,OAAO,qBAAqB,EAAE,wBAAwB,GAC/D,OAAO,CAAC,OAAO,CAAC;CAsEpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}