@indigoai-us/hq-cloud 6.15.55 → 6.15.57

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 (39) hide show
  1. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  2. package/dist/bin/sync-runner-watch-loop.js +21 -15
  3. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  4. package/dist/bin/sync-runner.d.ts +4 -4
  5. package/dist/bin/sync-runner.d.ts.map +1 -1
  6. package/dist/bin/sync-runner.test.js +45 -13
  7. package/dist/bin/sync-runner.test.js.map +1 -1
  8. package/dist/cli/sync.d.ts.map +1 -1
  9. package/dist/cli/sync.js +113 -13
  10. package/dist/cli/sync.js.map +1 -1
  11. package/dist/cli/sync.test.js +85 -0
  12. package/dist/cli/sync.test.js.map +1 -1
  13. package/dist/journal.d.ts +2 -0
  14. package/dist/journal.d.ts.map +1 -1
  15. package/dist/journal.js +12 -1
  16. package/dist/journal.js.map +1 -1
  17. package/dist/sync/event-sync.d.ts +6 -5
  18. package/dist/sync/event-sync.d.ts.map +1 -1
  19. package/dist/sync/event-sync.js +13 -8
  20. package/dist/sync/event-sync.js.map +1 -1
  21. package/dist/sync/event-sync.test.js +8 -4
  22. package/dist/sync/event-sync.test.js.map +1 -1
  23. package/dist/sync/index.d.ts +2 -2
  24. package/dist/sync/index.d.ts.map +1 -1
  25. package/dist/sync/index.js +1 -1
  26. package/dist/sync/index.js.map +1 -1
  27. package/dist/sync/push-receiver.d.ts +43 -11
  28. package/dist/sync/push-receiver.d.ts.map +1 -1
  29. package/dist/sync/push-receiver.js +148 -92
  30. package/dist/sync/push-receiver.js.map +1 -1
  31. package/dist/sync/push-receiver.test.js +132 -4
  32. package/dist/sync/push-receiver.test.js.map +1 -1
  33. package/dist/watcher.d.ts +24 -1
  34. package/dist/watcher.d.ts.map +1 -1
  35. package/dist/watcher.js +54 -10
  36. package/dist/watcher.js.map +1 -1
  37. package/dist/watcher.test.js +176 -0
  38. package/dist/watcher.test.js.map +1 -1
  39. package/package.json +1 -1
@@ -110,6 +110,13 @@ export declare const DEFAULT_RECONNECT_INITIAL_MS = 250;
110
110
  export declare const DEFAULT_RECONNECT_MAX_MS = 30000;
111
111
  /** Maximum distinct paths retained in receiver dedupe state. */
112
112
  export declare const DEFAULT_RECEIVER_DEDUPE_MAX_PATHS = 50000;
113
+ /**
114
+ * One targeted pull may name at most this many distinct paths. This keeps argv
115
+ * size and the scoped planner bounded while still amortizing normal edit bursts.
116
+ */
117
+ export declare const DEFAULT_RECEIVER_BATCH_MAX_PATHS = 256;
118
+ /** Bound raw receipt memory while draining a hot SQS queue into one pass. */
119
+ export declare const DEFAULT_RECEIVER_DRAIN_MAX_MESSAGES = 1000;
113
120
  /**
114
121
  * One SQS message as the receiver consumes it. A structural subset of the AWS
115
122
  * SDK `Message` so a real `SQSClient` response satisfies it without adaptation
@@ -174,6 +181,12 @@ export interface PushReceiverContext {
174
181
  * redeliver it after the visibility timeout.
175
182
  */
176
183
  export type SyncEngineFn = (ctx: PushReceiverContext) => Promise<void>;
184
+ /** One coalesced receiver pass. `events` contains the highest sequence per path. */
185
+ export interface PushReceiverBatchContext {
186
+ readonly events: readonly PushEvent[];
187
+ readonly signal: AbortSignal;
188
+ }
189
+ export type SyncBatchEngineFn = (ctx: PushReceiverBatchContext) => Promise<void>;
177
190
  /**
178
191
  * Best-effort CloudWatch metric publish seam (US-011). Invoked on the
179
192
  * receive-SUCCESS path with the measured save-on-A → visible-on-B latency.
@@ -280,7 +293,15 @@ export interface SqsPushReceiverOptions {
280
293
  * The sync engine that performs the actual targeted pull. The receiver only
281
294
  * invokes this; errors are logged + isolated from the loop.
282
295
  */
283
- syncFn: SyncEngineFn;
296
+ /**
297
+ * Coalesced targeted-pull bridge. New production callers must supply this;
298
+ * the compatibility `syncFn` is only retained for older embedders.
299
+ */
300
+ syncBatchFn?: SyncBatchEngineFn;
301
+ /** @deprecated Use `syncBatchFn` so one received batch becomes one pass. */
302
+ syncFn?: SyncEngineFn;
303
+ /** Delete a message immediately after decode when it cannot need a pull. */
304
+ shouldProcess?: (event: PushEvent) => boolean;
284
305
  /** Structured logger. Default: a no-op (quiet). */
285
306
  logger?: ReceiverLogger;
286
307
  /**
@@ -296,6 +317,10 @@ export interface SqsPushReceiverOptions {
296
317
  disposeDrainMs?: number;
297
318
  /** Maximum distinct paths retained in dedupe state. */
298
319
  dedupeMaxPaths?: number;
320
+ /** Maximum distinct paths folded into one targeted pull. */
321
+ batchMaxPaths?: number;
322
+ /** Maximum raw SQS receipts held while one batch is being formed. */
323
+ drainMaxMessages?: number;
299
324
  /** Reconnect backoff config. */
300
325
  reconnect?: {
301
326
  initialMs?: number;
@@ -331,7 +356,10 @@ export declare class SqsPushReceiver implements PushReceiver {
331
356
  private readonly tenantId;
332
357
  private readonly queueUrl;
333
358
  private readonly sqs;
359
+ private readonly syncBatchFn;
360
+ /** Legacy per-event seam, retained to preserve the old embedding contract. */
334
361
  private readonly syncFn;
362
+ private readonly shouldProcess;
335
363
  private readonly logger;
336
364
  private readonly waitTimeSeconds;
337
365
  private readonly maxMessages;
@@ -342,6 +370,8 @@ export declare class SqsPushReceiver implements PushReceiver {
342
370
  private readonly sleep;
343
371
  private readonly publishMetric;
344
372
  private readonly now;
373
+ private readonly batchMaxPaths;
374
+ private readonly drainMaxMessages;
345
375
  private _connected;
346
376
  private disposed;
347
377
  private disposing;
@@ -359,6 +389,7 @@ export declare class SqsPushReceiver implements PushReceiver {
359
389
  private _dedupedCount;
360
390
  private _decodeFailureCount;
361
391
  private _receiveErrorCount;
392
+ private readonly pendingMessages;
362
393
  constructor(opts: SqsPushReceiverOptions);
363
394
  get connected(): boolean;
364
395
  start(): Promise<void>;
@@ -380,19 +411,20 @@ export declare class SqsPushReceiver implements PushReceiver {
380
411
  */
381
412
  private pollLoop;
382
413
  /**
383
- * Decode → dedupe → dispatch → delete a single SQS message. Decode failures
384
- * and syncFn throws are logged + absorbed (never crash the loop). The message
385
- * is deleted only after a successful handoff so an unprocessed message stays
386
- * on the queue for redelivery (the dedupe path makes redelivery idempotent).
414
+ * Drain immediately-available messages, then collapse them by relative path
415
+ * before one sync pass. SQS caps an individual receive at ten messages, so a
416
+ * hot queue needs several non-blocking receives to form a useful batch.
417
+ *
418
+ * `batchMaxPaths` bounds the targeted planner and argv; `drainMaxMessages`
419
+ * bounds receipt memory. Excess actionable receipts stay in process-local
420
+ * order for the next pass and are never acknowledged early.
387
421
  */
388
- private handleMessage;
422
+ private handleReceivedMessages;
389
423
  /**
390
- * Dedupe + invoke `syncFn`. Returns true only once the event has been
391
- * accounted for successfully (deduped, or syncFn completed) so the caller can
392
- * delete the message. Stores the in-flight promise so `dispose()` can drain
393
- * it.
424
+ * Invoke one coalesced sync pass. The dedupe high-water marks advance only
425
+ * after it completes, preserving redelivery after any pass failure.
394
426
  */
395
- private dispatch;
427
+ private dispatchBatch;
396
428
  /** Delete a message, swallowing transport errors (redelivery is harmless). */
397
429
  private safeDelete;
398
430
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"push-receiver.d.ts","sourceRoot":"","sources":["../../src/sync/push-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-receiver.d.ts","sourceRoot":"","sources":["../../src/sync/push-receiver.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,13 @@ export const DEFAULT_RECONNECT_INITIAL_MS = 250;
111
111
  export const DEFAULT_RECONNECT_MAX_MS = 30_000;
112
112
  /** Maximum distinct paths retained in receiver dedupe state. */
113
113
  export const DEFAULT_RECEIVER_DEDUPE_MAX_PATHS = 50_000;
114
+ /**
115
+ * One targeted pull may name at most this many distinct paths. This keeps argv
116
+ * size and the scoped planner bounded while still amortizing normal edit bursts.
117
+ */
118
+ export const DEFAULT_RECEIVER_BATCH_MAX_PATHS = 256;
119
+ /** Bound raw receipt memory while draining a hot SQS queue into one pass. */
120
+ export const DEFAULT_RECEIVER_DRAIN_MAX_MESSAGES = 1_000;
114
121
  class BoundedSequenceDedupe {
115
122
  maxPaths;
116
123
  seen = new Map();
@@ -274,7 +281,10 @@ export class SqsPushReceiver {
274
281
  tenantId;
275
282
  queueUrl;
276
283
  sqs;
284
+ syncBatchFn;
285
+ /** Legacy per-event seam, retained to preserve the old embedding contract. */
277
286
  syncFn;
287
+ shouldProcess;
278
288
  logger;
279
289
  waitTimeSeconds;
280
290
  maxMessages;
@@ -285,6 +295,8 @@ export class SqsPushReceiver {
285
295
  sleep;
286
296
  publishMetric;
287
297
  now;
298
+ batchMaxPaths;
299
+ drainMaxMessages;
288
300
  _connected = false;
289
301
  disposed = false;
290
302
  disposing = false;
@@ -302,6 +314,7 @@ export class SqsPushReceiver {
302
314
  _dedupedCount = 0;
303
315
  _decodeFailureCount = 0;
304
316
  _receiveErrorCount = 0;
317
+ pendingMessages = [];
305
318
  constructor(opts) {
306
319
  if (!opts.tenantId || opts.tenantId.trim() === "") {
307
320
  throw new Error("SqsPushReceiver: tenantId is required");
@@ -312,7 +325,20 @@ export class SqsPushReceiver {
312
325
  this.tenantId = opts.tenantId;
313
326
  this.queueUrl = opts.queueUrl;
314
327
  this.sqs = opts.sqs;
315
- this.syncFn = opts.syncFn;
328
+ if (opts.syncBatchFn) {
329
+ this.syncBatchFn = opts.syncBatchFn;
330
+ this.syncFn = undefined;
331
+ }
332
+ else if (opts.syncFn) {
333
+ // Compatibility for callers compiled against the old per-event seam.
334
+ // Production wiring supplies syncBatchFn and therefore never enters here.
335
+ this.syncBatchFn = async () => undefined;
336
+ this.syncFn = opts.syncFn;
337
+ }
338
+ else {
339
+ throw new Error("SqsPushReceiver: syncBatchFn is required");
340
+ }
341
+ this.shouldProcess = opts.shouldProcess ?? (() => true);
316
342
  this.logger = opts.logger ?? NOOP_LOGGER;
317
343
  this.waitTimeSeconds = opts.waitTimeSeconds ?? DEFAULT_WAIT_TIME_SECONDS;
318
344
  this.maxMessages = opts.maxMessages ?? DEFAULT_MAX_MESSAGES;
@@ -327,6 +353,8 @@ export class SqsPushReceiver {
327
353
  this.publishMetric =
328
354
  opts.publishMetric ?? ((m) => publishSyncLatencyMetric(m, { logger: undefined }));
329
355
  this.now = opts.now ?? (() => Date.now());
356
+ this.batchMaxPaths = Math.max(1, Math.floor(opts.batchMaxPaths ?? DEFAULT_RECEIVER_BATCH_MAX_PATHS));
357
+ this.drainMaxMessages = Math.max(1, Math.floor(opts.drainMaxMessages ?? DEFAULT_RECEIVER_DRAIN_MAX_MESSAGES));
330
358
  }
331
359
  // ─── PushReceiver surface ────────────────────────────────────────────────
332
360
  get connected() {
@@ -420,6 +448,10 @@ export class SqsPushReceiver {
420
448
  async pollLoop(signal) {
421
449
  let attempt = 0;
422
450
  while (!signal.aborted) {
451
+ if (this.pendingMessages.length > 0) {
452
+ await this.handleReceivedMessages([], signal);
453
+ continue;
454
+ }
423
455
  let received;
424
456
  try {
425
457
  received = await this.sqs.receiveMessage({
@@ -450,123 +482,148 @@ export class SqsPushReceiver {
450
482
  await this.sleep(backoff, signal);
451
483
  continue;
452
484
  }
453
- for (const msg of received.messages) {
454
- if (signal.aborted)
455
- return;
456
- await this.handleMessage(msg);
457
- }
485
+ if (signal.aborted)
486
+ return;
487
+ await this.handleReceivedMessages(received.messages, signal);
458
488
  }
459
489
  }
460
490
  /**
461
- * Decode → dedupe → dispatch → delete a single SQS message. Decode failures
462
- * and syncFn throws are logged + absorbed (never crash the loop). The message
463
- * is deleted only after a successful handoff so an unprocessed message stays
464
- * on the queue for redelivery (the dedupe path makes redelivery idempotent).
491
+ * Drain immediately-available messages, then collapse them by relative path
492
+ * before one sync pass. SQS caps an individual receive at ten messages, so a
493
+ * hot queue needs several non-blocking receives to form a useful batch.
494
+ *
495
+ * `batchMaxPaths` bounds the targeted planner and argv; `drainMaxMessages`
496
+ * bounds receipt memory. Excess actionable receipts stay in process-local
497
+ * order for the next pass and are never acknowledged early.
465
498
  */
466
- async handleMessage(msg) {
499
+ async handleReceivedMessages(initial, signal) {
467
500
  if (this.disposing || this.disposed)
468
501
  return;
469
- let validated;
470
- try {
471
- validated = decodePushEvent(msg.Body ?? "");
502
+ const received = [...this.pendingMessages.splice(0), ...initial];
503
+ // Drain immediately with non-blocking receives until SQS reports empty or
504
+ // the raw receipt bound. SQS may return a short page even while more
505
+ // messages are available, so a partial first page is not an idle signal.
506
+ while (received.length > 0 &&
507
+ received.length < this.drainMaxMessages &&
508
+ !signal.aborted) {
509
+ const next = await this.sqs.receiveMessage({
510
+ queueUrl: this.queueUrl,
511
+ maxMessages: Math.min(this.maxMessages, this.drainMaxMessages - received.length),
512
+ waitTimeSeconds: 0,
513
+ signal,
514
+ });
515
+ if (next.messages.length === 0)
516
+ break;
517
+ const room = this.drainMaxMessages - received.length;
518
+ received.push(...next.messages.slice(0, room));
519
+ this.pendingMessages.push(...next.messages.slice(room));
472
520
  }
473
- catch (err) {
474
- this._decodeFailureCount += 1;
475
- this.logger.warn({
476
- event: "receiver.decode.failed",
477
- tenantId: this.tenantId,
478
- messageId: msg.MessageId,
479
- err: { message: err.message },
480
- }, "push receiver dropped event: decode failed");
481
- // A poison message we can't decode is deleted so it doesn't redeliver
482
- // forever — it carries no actionable path. (Defense in depth.)
483
- await this.safeDelete(msg);
484
- return;
521
+ const selected = new Map();
522
+ const acknowledgedAfterPass = [];
523
+ for (const msg of received) {
524
+ let event;
525
+ try {
526
+ event = decodePushEvent(msg.Body ?? "");
527
+ }
528
+ catch (err) {
529
+ this._decodeFailureCount += 1;
530
+ this.logger.warn({
531
+ event: "receiver.decode.failed",
532
+ tenantId: this.tenantId,
533
+ messageId: msg.MessageId,
534
+ err: { message: err.message },
535
+ }, "push receiver dropped event: decode failed");
536
+ await this.safeDelete(msg);
537
+ continue;
538
+ }
539
+ // Self-echoes are decoded (so identity is trustworthy), then acknowledged
540
+ // immediately. They never consume a targeted-pull pass.
541
+ if (!this.shouldProcess(event)) {
542
+ await this.safeDelete(msg);
543
+ continue;
544
+ }
545
+ const seen = this.seenSequencePerPath.get(event.relativePath);
546
+ if (seen !== undefined && event.sequenceNumber <= seen) {
547
+ this._dedupedCount += 1;
548
+ await this.safeDelete(msg);
549
+ continue;
550
+ }
551
+ const selectedEvent = selected.get(event.relativePath);
552
+ if (!selectedEvent && selected.size >= this.batchMaxPaths) {
553
+ this.pendingMessages.push(msg);
554
+ continue;
555
+ }
556
+ acknowledgedAfterPass.push(msg);
557
+ if (!selectedEvent || event.sequenceNumber > selectedEvent.sequenceNumber) {
558
+ selected.set(event.relativePath, event);
559
+ }
560
+ else {
561
+ this._dedupedCount += 1;
562
+ }
485
563
  }
486
- const handled = await this.dispatch(validated);
564
+ if (selected.size === 0)
565
+ return;
566
+ const events = [...selected.values()];
567
+ const handled = await this.dispatchBatch(events);
487
568
  if (handled) {
488
- // Delete only after a successful handoff or dedupe-skip. A syncFn throw
489
- // leaves the message undeleted so SQS redelivery can retry the targeted
490
- // pull.
491
- await this.safeDelete(msg);
569
+ // All receipts folded into this successful pass are acknowledged together.
570
+ // A failure leaves every one of them for SQS redelivery.
571
+ for (const msg of acknowledgedAfterPass)
572
+ await this.safeDelete(msg);
492
573
  }
493
574
  }
494
575
  /**
495
- * Dedupe + invoke `syncFn`. Returns true only once the event has been
496
- * accounted for successfully (deduped, or syncFn completed) so the caller can
497
- * delete the message. Stores the in-flight promise so `dispose()` can drain
498
- * it.
576
+ * Invoke one coalesced sync pass. The dedupe high-water marks advance only
577
+ * after it completes, preserving redelivery after any pass failure.
499
578
  */
500
- async dispatch(event) {
579
+ async dispatchBatch(events) {
501
580
  if (this.disposing || this.disposed)
502
581
  return false;
503
- const seen = this.seenSequencePerPath.get(event.relativePath);
504
- if (seen !== undefined && event.sequenceNumber <= seen) {
505
- this._dedupedCount += 1;
506
- this.logger.debug({
507
- event: "receiver.event.deduped",
508
- tenantId: this.tenantId,
509
- relativePath: event.relativePath,
510
- sequenceNumber: event.sequenceNumber,
511
- seen,
512
- }, "push receiver deduped event");
513
- return true;
514
- }
515
582
  const controller = new AbortController();
516
583
  this.inFlightAbort = controller;
517
- const ctx = { event, signal: controller.signal };
584
+ const ctx = { events, signal: controller.signal };
518
585
  const holder = { p: null };
519
586
  const startMs = this.now();
520
587
  let handled = false;
521
588
  const p = (async () => {
522
589
  try {
523
- this.logger.debug({
524
- event: "receiver.sync.start",
525
- tenantId: this.tenantId,
526
- relativePath: event.relativePath,
527
- sequenceNumber: event.sequenceNumber,
528
- }, "push receiver invoking sync engine");
529
- await this.syncFn(ctx);
530
- this.seenSequencePerPath.set(event.relativePath, event.sequenceNumber);
531
- this._processedCount += 1;
590
+ this.logger.debug({ event: "receiver.sync.start", tenantId: this.tenantId, pathCount: events.length }, "push receiver invoking coalesced sync engine");
591
+ if (this.syncFn) {
592
+ // Keep the legacy seam's scheduling behaviour intact for existing
593
+ // embedders while production uses the coalesced batch bridge above.
594
+ for (const event of events)
595
+ await this.syncFn({ event, signal: controller.signal });
596
+ }
597
+ else {
598
+ await this.syncBatchFn(ctx);
599
+ }
600
+ for (const event of events) {
601
+ this.seenSequencePerPath.set(event.relativePath, event.sequenceNumber);
602
+ this._processedCount += 1;
603
+ }
532
604
  handled = true;
533
- this.logger.debug({
534
- event: "receiver.sync.completed",
535
- tenantId: this.tenantId,
536
- relativePath: event.relativePath,
537
- sequenceNumber: event.sequenceNumber,
538
- }, "push receiver sync completed");
605
+ this.logger.debug({ event: "receiver.sync.completed", tenantId: this.tenantId, pathCount: events.length }, "push receiver coalesced sync completed");
539
606
  // ── US-011: 3-log chain (3rd link) + p95 latency metric ──────────
540
607
  // Latency = save-on-A (event.eventTimestamp) → visible-on-B (now),
541
608
  // falling back to the local syncFn duration if the event timestamp is
542
609
  // unparseable. Emitted ONLY on the success path so failed syncs don't
543
610
  // skew p95 toward infinity.
544
- const endMs = this.now();
545
- const savedAtMs = Date.parse(event.eventTimestamp);
546
- const latencyMs = Number.isFinite(savedAtMs)
547
- ? Math.max(0, endMs - savedAtMs)
548
- : Math.max(0, endMs - startMs);
549
- const latencySeconds = latencyMs / 1000;
550
- // The 3rd correlated log line — shares `sequenceNumber` with
551
- // watcher.emit (client push) and push.receive (server).
552
- this.logger.info({
553
- event: "fanout.receive",
554
- tenantId: this.tenantId,
555
- relativePath: event.relativePath,
556
- sequenceNumber: event.sequenceNumber,
557
- latencySeconds,
558
- }, "push receiver fanout-receive (round-trip complete)");
559
- // Best-effort metric. Fire-and-forget so observability never sits on
560
- // the dispatch critical path (which gates message deletion) — a slow or
561
- // hung CloudWatch call must not delay the delete/next-poll. Errors are
562
- // swallowed; publishMetric is itself best-effort.
563
- void this.emitLatencyMetric({
564
- tenantId: this.tenantId,
565
- relativePath: event.relativePath,
566
- sequenceNumber: event.sequenceNumber,
567
- latencySeconds,
568
- timestamp: new Date(endMs),
569
- });
611
+ for (const event of events) {
612
+ const endMs = this.now();
613
+ const savedAtMs = Date.parse(event.eventTimestamp);
614
+ const latencyMs = Number.isFinite(savedAtMs)
615
+ ? Math.max(0, endMs - savedAtMs)
616
+ : Math.max(0, endMs - startMs);
617
+ const latencySeconds = latencyMs / 1000;
618
+ this.logger.info({ event: "fanout.receive", tenantId: this.tenantId, relativePath: event.relativePath, sequenceNumber: event.sequenceNumber, latencySeconds }, "push receiver fanout-receive (round-trip complete)");
619
+ void this.emitLatencyMetric({
620
+ tenantId: this.tenantId,
621
+ relativePath: event.relativePath,
622
+ sequenceNumber: event.sequenceNumber,
623
+ latencySeconds,
624
+ timestamp: new Date(endMs),
625
+ });
626
+ }
570
627
  }
571
628
  catch (err) {
572
629
  // Critical: catch, log, return. A misbehaving sync engine must never
@@ -576,8 +633,7 @@ export class SqsPushReceiver {
576
633
  this.logger.error({
577
634
  event: "receiver.sync.failed",
578
635
  tenantId: this.tenantId,
579
- relativePath: event.relativePath,
580
- sequenceNumber: event.sequenceNumber,
636
+ pathCount: events.length,
581
637
  err: { message: e?.message, code: e?.code },
582
638
  }, "push receiver sync engine threw");
583
639
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push-receiver.js","sourceRoot":"","sources":["../../src/sync/push-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-receiver.js","sourceRoot":"","sources":["../../src/sync/push-receiver.ts"],"names":[],"mappings":"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"}