@powersync/service-core 0.0.0-dev-20241007145127 → 0.0.0-dev-20241015084348

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 (90) hide show
  1. package/CHANGELOG.md +9 -5
  2. package/dist/api/diagnostics.js +167 -105
  3. package/dist/api/diagnostics.js.map +1 -1
  4. package/dist/entry/commands/compact-action.js +73 -9
  5. package/dist/entry/commands/compact-action.js.map +1 -1
  6. package/dist/migrations/db/migrations/1727099539247-custom-write-checkpoint-index.d.ts +3 -0
  7. package/dist/migrations/db/migrations/1727099539247-custom-write-checkpoint-index.js +31 -0
  8. package/dist/migrations/db/migrations/1727099539247-custom-write-checkpoint-index.js.map +1 -0
  9. package/dist/replication/AbstractReplicationJob.d.ts +1 -1
  10. package/dist/replication/AbstractReplicationJob.js.map +1 -1
  11. package/dist/replication/AbstractReplicator.d.ts +2 -2
  12. package/dist/replication/AbstractReplicator.js +66 -3
  13. package/dist/replication/AbstractReplicator.js.map +1 -1
  14. package/dist/replication/ReplicationEngine.js.map +1 -1
  15. package/dist/replication/replication-index.d.ts +1 -1
  16. package/dist/replication/replication-index.js +1 -1
  17. package/dist/replication/replication-index.js.map +1 -1
  18. package/dist/routes/endpoints/checkpointing.js +5 -2
  19. package/dist/routes/endpoints/checkpointing.js.map +1 -1
  20. package/dist/runner/teardown.js +66 -4
  21. package/dist/runner/teardown.js.map +1 -1
  22. package/dist/storage/BucketStorage.d.ts +25 -7
  23. package/dist/storage/BucketStorage.js.map +1 -1
  24. package/dist/storage/MongoBucketStorage.d.ts +12 -5
  25. package/dist/storage/MongoBucketStorage.js +44 -23
  26. package/dist/storage/MongoBucketStorage.js.map +1 -1
  27. package/dist/storage/ReplicationEventPayload.d.ts +14 -0
  28. package/dist/storage/ReplicationEventPayload.js +2 -0
  29. package/dist/storage/ReplicationEventPayload.js.map +1 -0
  30. package/dist/storage/SourceTable.d.ts +8 -0
  31. package/dist/storage/SourceTable.js +9 -1
  32. package/dist/storage/SourceTable.js.map +1 -1
  33. package/dist/storage/StorageEngine.d.ts +10 -2
  34. package/dist/storage/StorageEngine.js +23 -3
  35. package/dist/storage/StorageEngine.js.map +1 -1
  36. package/dist/storage/StorageProvider.d.ts +9 -2
  37. package/dist/storage/mongo/MongoBucketBatch.d.ts +12 -4
  38. package/dist/storage/mongo/MongoBucketBatch.js +59 -21
  39. package/dist/storage/mongo/MongoBucketBatch.js.map +1 -1
  40. package/dist/storage/mongo/MongoStorageProvider.d.ts +1 -1
  41. package/dist/storage/mongo/MongoStorageProvider.js +3 -2
  42. package/dist/storage/mongo/MongoStorageProvider.js.map +1 -1
  43. package/dist/storage/mongo/MongoSyncBucketStorage.d.ts +3 -2
  44. package/dist/storage/mongo/MongoSyncBucketStorage.js +71 -10
  45. package/dist/storage/mongo/MongoSyncBucketStorage.js.map +1 -1
  46. package/dist/storage/mongo/MongoWriteCheckpointAPI.d.ts +18 -0
  47. package/dist/storage/mongo/MongoWriteCheckpointAPI.js +90 -0
  48. package/dist/storage/mongo/MongoWriteCheckpointAPI.js.map +1 -0
  49. package/dist/storage/mongo/db.d.ts +3 -2
  50. package/dist/storage/mongo/db.js +1 -0
  51. package/dist/storage/mongo/db.js.map +1 -1
  52. package/dist/storage/mongo/models.d.ts +7 -1
  53. package/dist/storage/storage-index.d.ts +2 -0
  54. package/dist/storage/storage-index.js +2 -0
  55. package/dist/storage/storage-index.js.map +1 -1
  56. package/dist/storage/write-checkpoint.d.ts +55 -0
  57. package/dist/storage/write-checkpoint.js +16 -0
  58. package/dist/storage/write-checkpoint.js.map +1 -0
  59. package/dist/util/config/compound-config-collector.js +2 -1
  60. package/dist/util/config/compound-config-collector.js.map +1 -1
  61. package/dist/util/config/types.d.ts +1 -0
  62. package/package.json +5 -5
  63. package/src/api/diagnostics.ts +1 -1
  64. package/src/entry/commands/compact-action.ts +4 -2
  65. package/src/migrations/db/migrations/1727099539247-custom-write-checkpoint-index.ts +37 -0
  66. package/src/replication/AbstractReplicationJob.ts +2 -2
  67. package/src/replication/AbstractReplicator.ts +5 -4
  68. package/src/replication/ReplicationEngine.ts +1 -1
  69. package/src/replication/replication-index.ts +1 -1
  70. package/src/routes/endpoints/checkpointing.ts +5 -2
  71. package/src/runner/teardown.ts +3 -3
  72. package/src/storage/BucketStorage.ts +32 -9
  73. package/src/storage/MongoBucketStorage.ts +70 -29
  74. package/src/storage/ReplicationEventPayload.ts +16 -0
  75. package/src/storage/SourceTable.ts +10 -1
  76. package/src/storage/StorageEngine.ts +34 -5
  77. package/src/storage/StorageProvider.ts +10 -2
  78. package/src/storage/mongo/MongoBucketBatch.ts +82 -27
  79. package/src/storage/mongo/MongoStorageProvider.ts +4 -3
  80. package/src/storage/mongo/MongoSyncBucketStorage.ts +17 -15
  81. package/src/storage/mongo/MongoWriteCheckpointAPI.ts +136 -0
  82. package/src/storage/mongo/db.ts +4 -1
  83. package/src/storage/mongo/models.ts +8 -1
  84. package/src/storage/storage-index.ts +2 -0
  85. package/src/storage/write-checkpoint.ts +67 -0
  86. package/src/util/config/compound-config-collector.ts +2 -1
  87. package/src/util/config/types.ts +1 -0
  88. package/test/src/data_storage.test.ts +42 -10
  89. package/test/src/util.ts +1 -2
  90. package/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,6 @@
1
- import { BucketStorageFactory } from './BucketStorage.js';
2
1
  import * as util from '../util/util-index.js';
2
+ import { BucketStorageFactory } from './BucketStorage.js';
3
+ import { WriteCheckpointMode } from './write-checkpoint.js';
3
4
  export interface ActiveStorage {
4
5
  storage: BucketStorageFactory;
5
6
  shutDown(): Promise<void>;
@@ -8,7 +9,13 @@ export interface ActiveStorage {
8
9
  */
9
10
  tearDown(): Promise<boolean>;
10
11
  }
11
- export interface GetStorageOptions {
12
+ /**
13
+ * Settings which can be modified by various modules in their initialization.
14
+ */
15
+ export interface StorageSettings {
16
+ writeCheckpointMode: WriteCheckpointMode;
17
+ }
18
+ export interface GetStorageOptions extends StorageSettings {
12
19
  resolvedConfig: util.ResolvedPowerSyncConfig;
13
20
  }
14
21
  export interface BucketStorageProvider {
@@ -1,10 +1,12 @@
1
- import { SqlSyncRules } from '@powersync/service-sync-rules';
1
+ import { SqlEventDescriptor, SqlSyncRules } from '@powersync/service-sync-rules';
2
2
  import * as mongo from 'mongodb';
3
- import { BucketStorageBatch, FlushedResult, SaveOptions } from '../BucketStorage.js';
3
+ import { DisposableObserver } from '@powersync/lib-services-framework';
4
+ import { BucketBatchStorageListener, BucketStorageBatch, FlushedResult, SaveOptions } from '../BucketStorage.js';
4
5
  import { SourceTable } from '../SourceTable.js';
6
+ import { CustomWriteCheckpointOptions } from '../write-checkpoint.js';
5
7
  import { PowerSyncMongo } from './db.js';
6
8
  import { CurrentBucket } from './models.js';
7
- export declare class MongoBucketBatch implements BucketStorageBatch {
9
+ export declare class MongoBucketBatch extends DisposableObserver<BucketBatchStorageListener> implements BucketStorageBatch {
8
10
  private readonly client;
9
11
  readonly db: PowerSyncMongo;
10
12
  readonly session: mongo.ClientSession;
@@ -12,6 +14,7 @@ export declare class MongoBucketBatch implements BucketStorageBatch {
12
14
  private readonly group_id;
13
15
  private readonly slot_name;
14
16
  private batch;
17
+ private write_checkpoint_batch;
15
18
  /**
16
19
  * Last LSN received associated with a checkpoint.
17
20
  *
@@ -27,6 +30,7 @@ export declare class MongoBucketBatch implements BucketStorageBatch {
27
30
  */
28
31
  last_flushed_op: bigint | null;
29
32
  constructor(db: PowerSyncMongo, sync_rules: SqlSyncRules, group_id: number, slot_name: string, last_checkpoint_lsn: string | null, no_checkpoint_before_lsn: string);
33
+ addCustomWriteCheckpoint(checkpoint: CustomWriteCheckpointOptions): void;
30
34
  get lastCheckpointLsn(): string | null;
31
35
  flush(): Promise<FlushedResult | null>;
32
36
  private flushInner;
@@ -34,7 +38,7 @@ export declare class MongoBucketBatch implements BucketStorageBatch {
34
38
  private saveOperation;
35
39
  private withTransaction;
36
40
  private withReplicationTransaction;
37
- abort(): Promise<void>;
41
+ [Symbol.asyncDispose](): Promise<void>;
38
42
  commit(lsn: string): Promise<boolean>;
39
43
  keepalive(lsn: string): Promise<boolean>;
40
44
  save(record: SaveOptions): Promise<FlushedResult | null>;
@@ -45,5 +49,9 @@ export declare class MongoBucketBatch implements BucketStorageBatch {
45
49
  truncate(sourceTables: SourceTable[]): Promise<FlushedResult | null>;
46
50
  truncateSingle(sourceTable: SourceTable): Promise<bigint>;
47
51
  markSnapshotDone(tables: SourceTable[], no_checkpoint_before_lsn: string): Promise<SourceTable[]>;
52
+ /**
53
+ * Gets relevant {@link SqlEventDescriptor}s for the given {@link SourceTable}
54
+ */
55
+ protected getTableEvents(table: SourceTable): SqlEventDescriptor[];
48
56
  }
49
57
  export declare function currentBucketKey(b: CurrentBucket): string;
@@ -1,10 +1,11 @@
1
1
  import * as bson from 'bson';
2
2
  import * as mongo from 'mongodb';
3
- import { container, errors, logger } from '@powersync/lib-services-framework';
3
+ import { container, DisposableObserver, errors, logger } from '@powersync/lib-services-framework';
4
4
  import * as util from '../../util/util-index.js';
5
5
  import { mergeToast } from '../BucketStorage.js';
6
6
  import { SourceTable } from '../SourceTable.js';
7
7
  import { MongoIdSequence } from './MongoIdSequence.js';
8
+ import { batchCreateCustomWriteCheckpoints } from './MongoWriteCheckpointAPI.js';
8
9
  import { cacheKey, OperationBatch, RecordOperation } from './OperationBatch.js';
9
10
  import { PersistedBatch } from './PersistedBatch.js';
10
11
  import { BSON_DESERIALIZE_OPTIONS, idPrefixFilter, replicaIdEquals, serializeLookup } from './util.js';
@@ -18,9 +19,11 @@ const MAX_ROW_SIZE = 15 * 1024 * 1024;
18
19
  //
19
20
  // In the future, we can investigate allowing multiple replication streams operating independently.
20
21
  const replicationMutex = new util.Mutex();
21
- export class MongoBucketBatch {
22
+ export class MongoBucketBatch extends DisposableObserver {
22
23
  constructor(db, sync_rules, group_id, slot_name, last_checkpoint_lsn, no_checkpoint_before_lsn) {
24
+ super();
23
25
  this.batch = null;
26
+ this.write_checkpoint_batch = [];
24
27
  /**
25
28
  * Last LSN received associated with a checkpoint.
26
29
  *
@@ -34,14 +37,20 @@ export class MongoBucketBatch {
34
37
  * For tests only - not for persistence logic.
35
38
  */
36
39
  this.last_flushed_op = null;
37
- this.db = db;
38
40
  this.client = db.client;
39
- this.sync_rules = sync_rules;
41
+ this.db = db;
40
42
  this.group_id = group_id;
41
- this.slot_name = slot_name;
42
- this.session = this.client.startSession();
43
43
  this.last_checkpoint_lsn = last_checkpoint_lsn;
44
44
  this.no_checkpoint_before_lsn = no_checkpoint_before_lsn;
45
+ this.session = this.client.startSession();
46
+ this.slot_name = slot_name;
47
+ this.sync_rules = sync_rules;
48
+ }
49
+ addCustomWriteCheckpoint(checkpoint) {
50
+ this.write_checkpoint_batch.push({
51
+ ...checkpoint,
52
+ sync_rules_id: this.group_id
53
+ });
45
54
  }
46
55
  get lastCheckpointLsn() {
47
56
  return this.last_checkpoint_lsn;
@@ -56,6 +65,8 @@ export class MongoBucketBatch {
56
65
  result = r;
57
66
  }
58
67
  }
68
+ await batchCreateCustomWriteCheckpoints(this.db, this.write_checkpoint_batch);
69
+ this.write_checkpoint_batch = [];
59
70
  return result;
60
71
  }
61
72
  async flushInner() {
@@ -408,8 +419,9 @@ export class MongoBucketBatch {
408
419
  }, { session });
409
420
  });
410
421
  }
411
- async abort() {
422
+ async [Symbol.asyncDispose]() {
412
423
  await this.session.endSession();
424
+ super[Symbol.dispose]();
413
425
  }
414
426
  async commit(lsn) {
415
427
  await this.flush();
@@ -423,22 +435,23 @@ export class MongoBucketBatch {
423
435
  logger.info(`Waiting until ${this.no_checkpoint_before_lsn} before creating checkpoint, currently at ${lsn}`);
424
436
  return false;
425
437
  }
438
+ const now = new Date();
439
+ const update = {
440
+ last_checkpoint_lsn: lsn,
441
+ last_checkpoint_ts: now,
442
+ last_keepalive_ts: now,
443
+ snapshot_done: true,
444
+ last_fatal_error: null
445
+ };
426
446
  if (this.persisted_op != null) {
427
- const now = new Date();
428
- await this.db.sync_rules.updateOne({
429
- _id: this.group_id
430
- }, {
431
- $set: {
432
- last_checkpoint: this.persisted_op,
433
- last_checkpoint_lsn: lsn,
434
- last_checkpoint_ts: now,
435
- last_keepalive_ts: now,
436
- snapshot_done: true,
437
- last_fatal_error: null
438
- }
439
- }, { session: this.session });
440
- this.persisted_op = null;
447
+ update.last_checkpoint = this.persisted_op;
441
448
  }
449
+ await this.db.sync_rules.updateOne({
450
+ _id: this.group_id
451
+ }, {
452
+ $set: update
453
+ }, { session: this.session });
454
+ this.persisted_op = null;
442
455
  this.last_checkpoint_lsn = lsn;
443
456
  return true;
444
457
  }
@@ -469,6 +482,25 @@ export class MongoBucketBatch {
469
482
  return true;
470
483
  }
471
484
  async save(record) {
485
+ const { after, before, sourceTable, tag } = record;
486
+ for (const event of this.getTableEvents(sourceTable)) {
487
+ this.iterateListeners((cb) => cb.replicationEvent?.({
488
+ batch: this,
489
+ table: sourceTable,
490
+ data: {
491
+ op: tag,
492
+ after: after && util.isCompleteRow(after) ? after : undefined,
493
+ before: before && util.isCompleteRow(before) ? before : undefined
494
+ },
495
+ event
496
+ }));
497
+ }
498
+ /**
499
+ * Return if the table is just an event table
500
+ */
501
+ if (!sourceTable.syncData && !sourceTable.syncParameters) {
502
+ return null;
503
+ }
472
504
  logger.debug(`Saving ${record.tag}:${record.before?.id}/${record.after?.id}`);
473
505
  this.batch ?? (this.batch = new OperationBatch());
474
506
  this.batch.push(new RecordOperation(record));
@@ -581,6 +613,12 @@ export class MongoBucketBatch {
581
613
  return copy;
582
614
  });
583
615
  }
616
+ /**
617
+ * Gets relevant {@link SqlEventDescriptor}s for the given {@link SourceTable}
618
+ */
619
+ getTableEvents(table) {
620
+ return this.sync_rules.event_descriptors.filter((evt) => [...evt.getSourceTables()].some((sourceTable) => sourceTable.matches(table)));
621
+ }
584
622
  }
585
623
  export function currentBucketKey(b) {
586
624
  return `${b.bucket}/${b.table}/${b.id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBucketBatch.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoBucketBatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoBucketBatch.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoBucketBatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAIL,UAAU,EAEX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEvG;;GAEG;AACH,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,6FAA6F;AAC7F,6FAA6F;AAC7F,4CAA4C;AAC5C,EAAE;AACF,mGAAmG;AACnG,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AAE1C,MAAM,OAAO,gBAAiB,SAAQ,kBAA8C;IA+BlF,YACE,EAAkB,EAClB,UAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,mBAAkC,EAClC,wBAAgC;QAEhC,KAAK,EAAE,CAAC;QA7BF,UAAK,GAA0B,IAAI,CAAC;QACpC,2BAAsB,GAAmC,EAAE,CAAC;QAEpE;;;;;;WAMG;QACK,wBAAmB,GAAkB,IAAI,CAAC;QAI1C,iBAAY,GAAkB,IAAI,CAAC;QAE3C;;WAEG;QACI,oBAAe,GAAkB,IAAI,CAAC;QAW3C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,wBAAwB,CAAC,UAAwC;QAC/D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,GAAG,UAAU;YACb,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,MAAM,GAAyB,IAAI,CAAC;QACxC,qDAAqD;QACrD,wCAAwC;QACxC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,MAAM,iCAAiC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9E,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,WAAW,GAA0B,IAAI,CAAC;QAE9C,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,KAAK,CAAC,MAAM,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC7F,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAE/D,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzB,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAA4B,EAC5B,KAAqB,EACrB,MAAuB;QAEvB,qFAAqF;QACrF,2BAA2B;QAC3B,EAAE;QACF,mFAAmF;QACnF,wFAAwF;QACxF,uEAAuE;QACvE,mFAAmF;QACnF,MAAM,WAAW,GAAgB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QAExC,MAAM,UAAU,GAA8D,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAC1G;YACE;gBACE,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;iBAC1B;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;iBAC9B;aACF;SACF,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;QACF,IAAI,KAAK,EAAE,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,8DAA8D;QAC9D,IAAI,WAAW,GAA0B,IAAI,CAAC;QAC9C,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,mCAAmC;QACnC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBACjB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzE,CAAC,CAAC,CAAC;YACH,IAAI,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CACtC;gBACE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;aACtB,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;YACF,IAAI,KAAK,EAAE,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,cAAc,GAA0B,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAE/F,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;gBAC1E,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,4EAA4E;oBAC5E,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAe,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,yCAAyC;oBACzC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAiB,EAAE,QAAQ,CAAC,CAAC;oBACxD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,cAAe,CAAC,sBAAsB,EAAE,EAAE,CAAC;oBAC7C,8BAA8B;oBAC9B,0CAA0C;oBAC1C,MAAM,cAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnD,cAAc,GAAG,IAAI,CAAC;oBACtB,gEAAgE;oBAChE,2CAA2C;oBAC3C,kEAAkE;oBAClE,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC;gBAC7C,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,aAAa,CACnB,KAAqB,EACrB,SAA0B,EAC1B,YAAwC,EACxC,KAAsB;QAEtB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAEvC,IAAI,gBAAgB,GAAoB,EAAE,CAAC;QAC3C,IAAI,WAAW,GAAoB,EAAE,CAAC;QACtC,IAAI,gBAAgB,GAAkB,EAAE,CAAC;QACzC,IAAI,WAAW,GAAkB,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAc,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QAE1F,IAAI,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,4CAA4C;gBAC5C,gBAAgB,GAAG,EAAE,CAAC;gBACtB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CACT,6CAA6C,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CACpH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAE,MAAM,CAAC,IAAqB,CAAC,MAAM,EAAE,wBAAwB,CAAc,CAAC;gBAC3G,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAClC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAClC,KAAK,GAAG,UAAU,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,4CAA4C;gBAC5C,gBAAgB,GAAG,EAAE,CAAC;gBACtB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CACT,6CAA6C,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CACpH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAClC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,SAAkC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,sDAAsD;gBACtD,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAC;gBACpD,6EAA6E;gBAC7E,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wDAAwD;gBACxD,KAAK,GAAG,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAC1C,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC1B,CAAC,CAAC,CACH,CAAC;gBACF,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAC;gBAEpD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,mBAAmB,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACvF;oBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;oBACnC,QAAQ,EAAE;wBACR,gBAAgB,EAAE,IAAI,CAAC,SAAS;wBAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;qBACxC;iBACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACjF,oBAAoB;YACpB,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,oBAAoB;gBACpB,KAAK,CAAC,cAAc,CAAC;oBACnB,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,QAAQ;oBACnB,KAAK,EAAE,WAAW;oBAClB,cAAc,EAAE,gBAAgB;oBAChC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;gBACH,4DAA4D;gBAC5D,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,wBAAwB;gBACxB,KAAK,CAAC,iBAAiB,CAAC;oBACtB,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,QAAQ;oBACnB,WAAW;oBACX,SAAS,EAAE,EAAE;oBACb,gBAAgB;iBACjB,CAAC,CAAC;gBACH,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,EAAE;QACF,gFAAgF;QAChF,2DAA2D;QAC3D,EAAE;QACF,uEAAuE;QACvE,IAAI,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,mBAAmB;YACnB,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;oBACvF,MAAM,EAAE,KAAK;oBACb,WAAW;iBACZ,CAAC,CAAC;gBAEH,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC7B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,oCAAoC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAC1G;wBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;wBACnC,QAAQ,EAAE;4BACR,gBAAgB,EAAE,IAAI,CAAC,SAAS;4BAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;yBACxC;qBACF,CACF,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,oCAAoC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAC3G,CAAC;gBACJ,CAAC;gBAED,eAAe;gBACf,KAAK,CAAC,cAAc,CAAC;oBACnB,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,OAAO;oBAClB,SAAS;oBACT,KAAK,EAAE,WAAW;oBAClB,cAAc,EAAE,gBAAgB;iBACjC,CAAC,CAAC;gBACH,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAChC,OAAO;wBACL,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,EAAE,EAAE,CAAC,CAAC,EAAE;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,aAAa;gBACb,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CACrG,WAAW,EACX,KAAK,CACN,CAAC;gBAEF,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;oBAC9B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,yCAAyC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAC/G;wBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;wBACnC,QAAQ,EAAE;4BACR,gBAAgB,EAAE,IAAI,CAAC,SAAS;4BAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;yBACxC;qBACF,CACF,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,yCAAyC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CACxG,CAAC;gBACJ,CAAC;gBAED,KAAK,CAAC,iBAAiB,CAAC;oBACtB,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,OAAO;oBAClB,WAAW;oBACX,SAAS,EAAE,cAAc;oBACzB,gBAAgB;iBACjB,CAAC,CAAC;gBACH,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrC,OAAO,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAA+B,IAAI,CAAC;QAE9C,iDAAiD;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,mBAAmB;YACnB,MAAM,SAAS,GAAc,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;YACjF,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACjC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YACH,MAAM,GAAG;gBACP,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,SAAU;gBAChB,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,WAAW;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3D,wEAAwE;YACxE,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,EAAuB;QACnD,MAAM,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAChC,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,EAAE,EAAE,CAAC;gBACb,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,CAAC;wBAClF,sEAAsE;oBACxE,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAU,CAAC,CAAC;oBAC/C,CAAC;oBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBACxE,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC,EACD,EAAE,eAAe,EAAE,KAAK,EAAE,CAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,WAAmB,EACnB,QAAiF;QAEjF,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACpC,QAAQ,IAAI,CAAC,CAAC;YACd,IAAI,QAAQ,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,UAAU,QAAQ,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAClE;gBACE,GAAG,EAAE,MAAM;aACZ,EACD;gBACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3B,IAAI,EAAE;oBACJ,6CAA6C;oBAC7C,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf;aACF,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,OAAO;gBACvB,OAAO;aACR,CACF,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAE/D,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE/B,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CACpC;gBACE,GAAG,EAAE,MAAM;aACZ,EACD;gBACE,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;iBACpB;aACF,EACD;gBACE,OAAO;aACR,CACF,CAAC;YAEF,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAChC;gBACE,GAAG,EAAE,IAAI,CAAC,QAAQ;aACnB,EACD;gBACE,IAAI,EAAE;oBACJ,iBAAiB,EAAE,IAAI,IAAI,EAAE;iBAC9B;aACF,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvE,qEAAqE;YACrE,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,wBAAwB,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,wBAAwB,6CAA6C,GAAG,EAAE,CAAC,CAAC;YAC9G,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAA8B;YACxC,mBAAmB,EAAE,GAAG;YACxB,kBAAkB,EAAE,GAAG;YACvB,iBAAiB,EAAE,GAAG;YACtB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAChC;YACE,GAAG,EAAE,IAAI,CAAC,QAAQ;SACnB,EACD;YACE,IAAI,EAAE,MAAM;SACb,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACxE,QAAQ;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,sEAAsE;YACtE,2BAA2B;YAC3B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAChC;YACE,GAAG,EAAE,IAAI,CAAC,QAAQ;SACnB,EACD;YACE,IAAI,EAAE;gBACJ,mBAAmB,EAAE,GAAG;gBACxB,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI,IAAI,EAAE;aAC9B;SACF,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3B,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACpB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE;oBACJ,EAAE,EAAE,GAAG;oBACP,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBAC7D,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;iBAClE;gBACD,KAAK;aACN,CAAC,CACH,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,IAAI,cAAc,EAAE,EAAC;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,kDAAkD;YAClD,MAAM,CAAC,GAAG,GAAG,CAAC;YACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,YAA2B;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACpC,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAA2B;QACxC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC/B,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,OAAQ,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAwB;QAC3C,IAAI,OAAO,GAAkB,IAAI,CAAC;QAElC,0FAA0F;QAC1F,yFAAyF;QACzF,MAAM,WAAW,GAAG,IAAI,CAAC;QAEzB,IAAI,cAAc,GAAG,WAAW,CAAC;QACjC,OAAO,cAAc,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,WAAW,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBACtG,MAAM,mBAAmB,GAAsC;oBAC7D,GAAG,EAAE,cAAc,CAAY,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC/E,CAAC;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC5D,UAAU,EAAE;wBACV,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC;qBACX;oBACD,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAE5D,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;oBACxB,cAAc,CAAC,cAAc,CAAC;wBAC5B,MAAM,EAAE,KAAK;wBACb,cAAc,EAAE,KAAK,CAAC,OAAO;wBAC7B,SAAS,EAAE,EAAE;wBACb,KAAK,EAAE,WAAW;wBAClB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;qBACvB,CAAC,CAAC;oBACH,cAAc,CAAC,iBAAiB,CAAC;wBAC/B,MAAM,EAAE,KAAK;wBACb,gBAAgB,EAAE,KAAK,CAAC,OAAO;wBAC/B,SAAS,EAAE,EAAE;wBACb,WAAW,EAAE,WAAW;wBACxB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;qBACvB,CAAC,CAAC;oBAEH,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC;gBACD,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC7C,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE9B,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAqB,EAAE,wBAAgC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CACpC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EACrB;gBACE,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;YAEF,IAAI,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC7D,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;gBAEzD,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAChC;oBACE,GAAG,EAAE,IAAI,CAAC,QAAQ;iBACnB,EACD;oBACE,IAAI,EAAE;wBACJ,oBAAoB,EAAE,wBAAwB;wBAC9C,iBAAiB,EAAE,IAAI,IAAI,EAAE;qBAC9B;iBACF,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,WAAW,CAC1B,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,gBAAgB,CACvB,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,KAAkB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BucketStorageProvider, ActiveStorage, GetStorageOptions } from '../StorageProvider.js';
1
+ import { ActiveStorage, BucketStorageProvider, GetStorageOptions } from '../StorageProvider.js';
2
2
  export declare class MongoStorageProvider implements BucketStorageProvider {
3
3
  get type(): string;
4
4
  getStorage(options: GetStorageOptions): Promise<ActiveStorage>;
@@ -1,7 +1,7 @@
1
+ import { logger } from '@powersync/lib-services-framework';
1
2
  import * as db from '../../db/db-index.js';
2
3
  import { MongoBucketStorage } from '../MongoBucketStorage.js';
3
4
  import { PowerSyncMongo } from './db.js';
4
- import { logger } from '@powersync/lib-services-framework';
5
5
  export class MongoStorageProvider {
6
6
  get type() {
7
7
  return 'mongodb';
@@ -13,7 +13,8 @@ export class MongoStorageProvider {
13
13
  return {
14
14
  storage: new MongoBucketStorage(database, {
15
15
  // TODO currently need the entire resolved config due to this
16
- slot_name_prefix: resolvedConfig.slot_name_prefix
16
+ slot_name_prefix: resolvedConfig.slot_name_prefix,
17
+ write_checkpoint_mode: options.writeCheckpointMode
17
18
  }),
18
19
  shutDown: () => client.close(),
19
20
  tearDown: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"MongoStorageProvider.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,MAAM,OAAO,oBAAoB;IAC/B,IAAI,IAAI;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAEnC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3F,OAAO;YACL,OAAO,EAAE,IAAI,kBAAkB,CAAC,QAAQ,EAAE;gBACxC,6DAA6D;gBAC7D,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;aAClD,CAAC;YACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC;gBACjE,OAAO,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACpC,CAAC;SACsB,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"MongoStorageProvider.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,OAAO,oBAAoB;IAC/B,IAAI,IAAI;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAEnC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3F,OAAO;YACL,OAAO,EAAE,IAAI,kBAAkB,CAAC,QAAQ,EAAE;gBACxC,6DAA6D;gBAC7D,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;gBACjD,qBAAqB,EAAE,OAAO,CAAC,mBAAmB;aACnD,CAAC;YACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC;gBACjE,OAAO,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACpC,CAAC;SACsB,CAAC;IAC5B,CAAC;CACF"}
@@ -1,8 +1,9 @@
1
1
  import { SqliteJsonRow, SqliteJsonValue, SqlSyncRules } from '@powersync/service-sync-rules';
2
+ import { DisposableObserver } from '@powersync/lib-services-framework';
2
3
  import * as util from '../../util/util-index.js';
3
- import { BucketDataBatchOptions, BucketStorageBatch, CompactOptions, FlushedResult, ParseSyncRulesOptions, PersistedSyncRulesContent, ResolveTableOptions, ResolveTableResult, StartBatchOptions, SyncBucketDataBatch, SyncRulesBucketStorage, SyncRuleStatus, TerminateOptions } from '../BucketStorage.js';
4
+ import { BucketDataBatchOptions, BucketStorageBatch, CompactOptions, FlushedResult, ParseSyncRulesOptions, PersistedSyncRulesContent, ResolveTableOptions, ResolveTableResult, StartBatchOptions, SyncBucketDataBatch, SyncRulesBucketStorage, SyncRulesBucketStorageListener, SyncRuleStatus, TerminateOptions } from '../BucketStorage.js';
4
5
  import { MongoBucketStorage } from '../MongoBucketStorage.js';
5
- export declare class MongoSyncBucketStorage implements SyncRulesBucketStorage {
6
+ export declare class MongoSyncBucketStorage extends DisposableObserver<SyncRulesBucketStorageListener> implements SyncRulesBucketStorage {
6
7
  readonly factory: MongoBucketStorage;
7
8
  readonly group_id: number;
8
9
  private readonly sync_rules;
@@ -1,4 +1,57 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
1
53
  import * as bson from 'bson';
54
+ import { DisposableObserver } from '@powersync/lib-services-framework';
2
55
  import * as db from '../../db/db-index.js';
3
56
  import * as util from '../../util/util-index.js';
4
57
  import { DEFAULT_DOCUMENT_BATCH_LIMIT, DEFAULT_DOCUMENT_CHUNK_LIMIT_BYTES } from '../BucketStorage.js';
@@ -8,8 +61,9 @@ import { SyncRuleState } from './models.js';
8
61
  import { MongoBucketBatch } from './MongoBucketBatch.js';
9
62
  import { MongoCompactor } from './MongoCompactor.js';
10
63
  import { BSON_DESERIALIZE_OPTIONS, idPrefixFilter, mapOpEntry, readSingleBatch, serializeLookup } from './util.js';
11
- export class MongoSyncBucketStorage {
64
+ export class MongoSyncBucketStorage extends DisposableObserver {
12
65
  constructor(factory, group_id, sync_rules, slot_name) {
66
+ super();
13
67
  this.factory = factory;
14
68
  this.group_id = group_id;
15
69
  this.sync_rules = sync_rules;
@@ -34,15 +88,16 @@ export class MongoSyncBucketStorage {
34
88
  };
35
89
  }
36
90
  async startBatch(options, callback) {
37
- const doc = await this.db.sync_rules.findOne({
38
- _id: this.group_id
39
- }, { projection: { last_checkpoint_lsn: 1, no_checkpoint_before: 1 } });
40
- const checkpoint_lsn = doc?.last_checkpoint_lsn ?? null;
41
- const batch = new MongoBucketBatch(this.db, this.sync_rules.parsed(options).sync_rules, this.group_id, this.slot_name, checkpoint_lsn, doc?.no_checkpoint_before ?? options.zeroLSN);
91
+ const env_1 = { stack: [], error: void 0, hasError: false };
42
92
  try {
93
+ const doc = await this.db.sync_rules.findOne({
94
+ _id: this.group_id
95
+ }, { projection: { last_checkpoint_lsn: 1, no_checkpoint_before: 1 } });
96
+ const checkpoint_lsn = doc?.last_checkpoint_lsn ?? null;
97
+ const batch = __addDisposableResource(env_1, new MongoBucketBatch(this.db, this.sync_rules.parsed(options).sync_rules, this.group_id, this.slot_name, checkpoint_lsn, doc?.no_checkpoint_before ?? options.zeroLSN), true);
98
+ this.iterateListeners((cb) => cb.batchStarted?.(batch));
43
99
  await callback(batch);
44
100
  await batch.flush();
45
- await batch.abort();
46
101
  if (batch.last_flushed_op) {
47
102
  return { flushed_op: String(batch.last_flushed_op) };
48
103
  }
@@ -50,9 +105,14 @@ export class MongoSyncBucketStorage {
50
105
  return null;
51
106
  }
52
107
  }
53
- catch (e) {
54
- await batch.abort();
55
- throw e;
108
+ catch (e_1) {
109
+ env_1.error = e_1;
110
+ env_1.hasError = true;
111
+ }
112
+ finally {
113
+ const result_1 = __disposeResources(env_1);
114
+ if (result_1)
115
+ await result_1;
56
116
  }
57
117
  }
58
118
  async resolveTable(options) {
@@ -89,6 +149,7 @@ export class MongoSyncBucketStorage {
89
149
  await col.insertOne(doc, { session });
90
150
  }
91
151
  const sourceTable = new SourceTable(doc._id, connection_tag, objectId, schema, table, replicationColumns, doc.snapshot_done ?? true);
152
+ sourceTable.syncEvent = options.sync_rules.tableTriggersEvent(sourceTable);
92
153
  sourceTable.syncData = options.sync_rules.tableSyncsData(sourceTable);
93
154
  sourceTable.syncParameters = options.sync_rules.tableSyncsParameters(sourceTable);
94
155
  const truncate = await col
@@ -1 +1 @@
1
- {"version":3,"file":"MongoSyncBucketStorage.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoSyncBucketStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoSyncBucketStorage.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoSyncBucketStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { CustomWriteCheckpointFilters, CustomWriteCheckpointOptions, LastWriteCheckpointFilters, ManagedWriteCheckpointFilters, ManagedWriteCheckpointOptions, WriteCheckpointAPI, WriteCheckpointMode } from '../write-checkpoint.js';
2
+ import { PowerSyncMongo } from './db.js';
3
+ export type MongoCheckpointAPIOptions = {
4
+ db: PowerSyncMongo;
5
+ mode: WriteCheckpointMode;
6
+ };
7
+ export declare class MongoWriteCheckpointAPI implements WriteCheckpointAPI {
8
+ readonly db: PowerSyncMongo;
9
+ readonly mode: WriteCheckpointMode;
10
+ constructor(options: MongoCheckpointAPIOptions);
11
+ batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;
12
+ createCustomWriteCheckpoint(options: CustomWriteCheckpointOptions): Promise<bigint>;
13
+ createManagedWriteCheckpoint(checkpoint: ManagedWriteCheckpointOptions): Promise<bigint>;
14
+ lastWriteCheckpoint(filters: LastWriteCheckpointFilters): Promise<bigint | null>;
15
+ protected lastCustomWriteCheckpoint(filters: CustomWriteCheckpointFilters): Promise<bigint | null>;
16
+ protected lastManagedWriteCheckpoint(filters: ManagedWriteCheckpointFilters): Promise<bigint | null>;
17
+ }
18
+ export declare function batchCreateCustomWriteCheckpoints(db: PowerSyncMongo, checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;