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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @powersync/service-core
2
2
 
3
- ## 0.0.0-dev-20241015084348
3
+ ## 0.0.0-dev-20241016113053
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -24,10 +24,10 @@
24
24
  - Updated dependencies [d51921f]
25
25
  - Updated dependencies [4ecaee2]
26
26
  - Updated dependencies [0e16938]
27
- - @powersync/lib-services-framework@0.0.0-dev-20241015084348
28
- - @powersync/service-sync-rules@0.0.0-dev-20241015084348
29
- - @powersync/service-rsocket-router@0.0.0-dev-20241015084348
30
- - @powersync/service-types@0.0.0-dev-20241015084348
27
+ - @powersync/lib-services-framework@0.0.0-dev-20241016113053
28
+ - @powersync/service-sync-rules@0.0.0-dev-20241016113053
29
+ - @powersync/service-rsocket-router@0.0.0-dev-20241016113053
30
+ - @powersync/service-types@0.0.0-dev-20241016113053
31
31
 
32
32
  ## 0.8.4
33
33
 
@@ -70,6 +70,10 @@ export interface BucketStorageFactory extends DisposableObserverClient<BucketSto
70
70
  * getInstance(await getActiveSyncRules()).getCheckpoint().
71
71
  */
72
72
  getActiveCheckpoint(): Promise<ActiveCheckpoint>;
73
+ /**
74
+ * Yields the latest sync checkpoint.
75
+ */
76
+ watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint>;
73
77
  /**
74
78
  * Yields the latest user write checkpoint whenever the sync checkpoint updates.
75
79
  */
@@ -92,6 +96,7 @@ export interface ActiveCheckpoint {
92
96
  readonly lsn: string | null;
93
97
  hasSyncRules(): boolean;
94
98
  getBucketStorage(): Promise<SyncRulesBucketStorage | null>;
99
+ syncRules: PersistedSyncRules | null;
95
100
  }
96
101
  export interface StorageMetrics {
97
102
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BucketStorage.js","sourceRoot":"","sources":["../../src/storage/BucketStorage.ts"],"names":[],"mappings":"AAqLA,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAyPlE,MAAM,UAAU,UAAU,CAAC,MAA0B,EAAE,SAA6B;IAClF,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"BucketStorage.js","sourceRoot":"","sources":["../../src/storage/BucketStorage.ts"],"names":[],"mappings":"AA4LA,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAyPlE,MAAM,UAAU,UAAU,CAAC,MAA0B,EAAE,SAA6B;IAClF,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -16,6 +16,9 @@ export declare class MongoBucketStorage extends DisposableObserver<BucketStorage
16
16
  readonly db: PowerSyncMongo;
17
17
  constructor(db: PowerSyncMongo, options: {
18
18
  slot_name_prefix: string;
19
+ /**
20
+ * Initial Write Checkpoint Mode
21
+ */
19
22
  write_checkpoint_mode?: WriteCheckpointMode;
20
23
  });
21
24
  getInstance(options: PersistedSyncRulesContent): MongoSyncBucketStorage;
@@ -39,6 +42,7 @@ export declare class MongoBucketStorage extends DisposableObserver<BucketStorage
39
42
  getReplicatingSyncRules(): Promise<PersistedSyncRulesContent[]>;
40
43
  getStoppedSyncRules(): Promise<PersistedSyncRulesContent[]>;
41
44
  batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;
45
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void;
42
46
  createCustomWriteCheckpoint(options: CustomWriteCheckpointOptions): Promise<bigint>;
43
47
  createManagedWriteCheckpoint(options: ManagedWriteCheckpointOptions): Promise<bigint>;
44
48
  lastWriteCheckpoint(filters: LastWriteCheckpointFilters): Promise<bigint | null>;
@@ -49,8 +53,12 @@ export declare class MongoBucketStorage extends DisposableObserver<BucketStorage
49
53
  /**
50
54
  * Instance-wide watch on the latest available checkpoint (op_id + lsn).
51
55
  */
52
- private watchActiveCheckpoint;
56
+ private _watchActiveCheckpoint;
53
57
  private readonly sharedIter;
58
+ /**
59
+ * Watch changes to the active sync rules and checkpoint.
60
+ */
61
+ watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint>;
54
62
  /**
55
63
  * User-specific watch on the latest checkpoint and/or write checkpoint.
56
64
  */
@@ -35,7 +35,7 @@ export class MongoBucketStorage extends DisposableObserver {
35
35
  });
36
36
  // Nothing is done here until a subscriber starts to iterate
37
37
  this.sharedIter = new sync.BroadcastIterable((signal) => {
38
- return this.watchActiveCheckpoint(signal);
38
+ return this._watchActiveCheckpoint(signal);
39
39
  });
40
40
  this.client = db.client;
41
41
  this.db = db;
@@ -217,6 +217,9 @@ export class MongoBucketStorage extends DisposableObserver {
217
217
  async batchCreateCustomWriteCheckpoints(checkpoints) {
218
218
  return this.writeCheckpointAPI.batchCreateCustomWriteCheckpoints(checkpoints);
219
219
  }
220
+ setWriteCheckpointMode(mode) {
221
+ return this.writeCheckpointAPI.setWriteCheckpointMode(mode);
222
+ }
220
223
  async createCustomWriteCheckpoint(options) {
221
224
  return this.writeCheckpointAPI.createCustomWriteCheckpoint(options);
222
225
  }
@@ -304,13 +307,18 @@ export class MongoBucketStorage extends DisposableObserver {
304
307
  return null;
305
308
  }
306
309
  return (await this.storageCache.fetch(doc._id)) ?? null;
307
- }
310
+ },
311
+ syncRules: doc
312
+ ? new MongoPersistedSyncRulesContent(this.db, doc).parsed({
313
+ defaultSchema: ''
314
+ })
315
+ : null
308
316
  };
309
317
  }
310
318
  /**
311
319
  * Instance-wide watch on the latest available checkpoint (op_id + lsn).
312
320
  */
313
- async *watchActiveCheckpoint(signal) {
321
+ async *_watchActiveCheckpoint(signal) {
314
322
  const pipeline = [
315
323
  {
316
324
  $match: {
@@ -323,7 +331,8 @@ export class MongoBucketStorage extends DisposableObserver {
323
331
  operationType: 1,
324
332
  'fullDocument._id': 1,
325
333
  'fullDocument.last_checkpoint': 1,
326
- 'fullDocument.last_checkpoint_lsn': 1
334
+ 'fullDocument.last_checkpoint_lsn': 1,
335
+ 'fullDocument.content': 1
327
336
  }
328
337
  }
329
338
  ];
@@ -341,7 +350,8 @@ export class MongoBucketStorage extends DisposableObserver {
341
350
  projection: {
342
351
  _id: 1,
343
352
  last_checkpoint: 1,
344
- last_checkpoint_lsn: 1
353
+ last_checkpoint_lsn: 1,
354
+ content: 1
345
355
  }
346
356
  });
347
357
  const time = session.clusterTime?.clusterTime ?? null;
@@ -387,6 +397,12 @@ export class MongoBucketStorage extends DisposableObserver {
387
397
  }
388
398
  }
389
399
  }
400
+ /**
401
+ * Watch changes to the active sync rules and checkpoint.
402
+ */
403
+ watchActiveCheckpoint(signal) {
404
+ return wrapWithAbort(this.sharedIter, signal);
405
+ }
390
406
  /**
391
407
  * User-specific watch on the latest checkpoint and/or write checkpoint.
392
408
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBucketStorage.js","sourceRoot":"","sources":["../../src/storage/MongoBucketStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoBucketStorage.js","sourceRoot":"","sources":["../../src/storage/MongoBucketStorage.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,10 @@ export type MongoCheckpointAPIOptions = {
6
6
  };
7
7
  export declare class MongoWriteCheckpointAPI implements WriteCheckpointAPI {
8
8
  readonly db: PowerSyncMongo;
9
- readonly mode: WriteCheckpointMode;
9
+ private _mode;
10
10
  constructor(options: MongoCheckpointAPIOptions);
11
+ get mode(): WriteCheckpointMode;
12
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void;
11
13
  batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;
12
14
  createCustomWriteCheckpoint(options: CustomWriteCheckpointOptions): Promise<bigint>;
13
15
  createManagedWriteCheckpoint(checkpoint: ManagedWriteCheckpointOptions): Promise<bigint>;
@@ -3,15 +3,23 @@ import { WriteCheckpointMode } from '../write-checkpoint.js';
3
3
  export class MongoWriteCheckpointAPI {
4
4
  constructor(options) {
5
5
  this.db = options.db;
6
- this.mode = options.mode;
6
+ this._mode = options.mode;
7
+ }
8
+ get mode() {
9
+ return this._mode;
10
+ }
11
+ setWriteCheckpointMode(mode) {
12
+ this._mode = mode;
7
13
  }
8
14
  async batchCreateCustomWriteCheckpoints(checkpoints) {
9
15
  return batchCreateCustomWriteCheckpoints(this.db, checkpoints);
10
16
  }
11
17
  async createCustomWriteCheckpoint(options) {
12
- if (this.mode !== WriteCheckpointMode.CUSTOM) {
13
- throw new framework.errors.ValidationError(`Creating a custom Write Checkpoint when the current Write Checkpoint mode is set to "${this.mode}"`);
14
- }
18
+ /**
19
+ * Allow creating custom checkpoints even if the current mode is not `custom`.
20
+ * There might be a state where the next sync rules rely on replicating custom
21
+ * write checkpoints, but the current active sync rules uses managed checkpoints.
22
+ */
15
23
  const { checkpoint, user_id, sync_rules_id } = options;
16
24
  const doc = await this.db.custom_write_checkpoints.findOneAndUpdate({
17
25
  user_id: user_id,
@@ -1 +1 @@
1
- {"version":3,"file":"MongoWriteCheckpointAPI.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoWriteCheckpointAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoWriteCheckpointAPI.js","sourceRoot":"","sources":["../../../src/storage/mongo/MongoWriteCheckpointAPI.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export interface ManagedWriteCheckpointFilters extends BaseWriteCheckpointIdenti
47
47
  export type ManagedWriteCheckpointOptions = ManagedWriteCheckpointFilters;
48
48
  export type LastWriteCheckpointFilters = CustomWriteCheckpointFilters | ManagedWriteCheckpointFilters;
49
49
  export interface WriteCheckpointAPI {
50
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void;
50
51
  batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;
51
52
  createCustomWriteCheckpoint(checkpoint: CustomWriteCheckpointOptions): Promise<bigint>;
52
53
  createManagedWriteCheckpoint(checkpoint: ManagedWriteCheckpointOptions): Promise<bigint>;
@@ -1 +1 @@
1
- {"version":3,"file":"write-checkpoint.js","sourceRoot":"","sources":["../../src/storage/write-checkpoint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,wCAAiB,CAAA;IACjB;;;;OAIG;IACH,0CAAmB,CAAA;AACrB,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAsDD,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"write-checkpoint.js","sourceRoot":"","sources":["../../src/storage/write-checkpoint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,wCAAiB,CAAA;IACjB;;;;OAIG;IACH,0CAAmB,CAAA;AACrB,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAwDD,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "version": "0.0.0-dev-20241015084348",
8
+ "version": "0.0.0-dev-20241016113053",
9
9
  "main": "dist/index.js",
10
10
  "license": "FSL-1.1-Apache-2.0",
11
11
  "type": "module",
@@ -33,11 +33,11 @@
33
33
  "uuid": "^9.0.1",
34
34
  "winston": "^3.13.0",
35
35
  "yaml": "^2.3.2",
36
- "@powersync/lib-services-framework": "0.0.0-dev-20241015084348",
36
+ "@powersync/lib-services-framework": "0.0.0-dev-20241016113053",
37
37
  "@powersync/service-jsonbig": "0.17.10",
38
- "@powersync/service-rsocket-router": "0.0.0-dev-20241015084348",
39
- "@powersync/service-sync-rules": "0.0.0-dev-20241015084348",
40
- "@powersync/service-types": "0.0.0-dev-20241015084348"
38
+ "@powersync/service-rsocket-router": "0.0.0-dev-20241016113053",
39
+ "@powersync/service-sync-rules": "0.0.0-dev-20241016113053",
40
+ "@powersync/service-types": "0.0.0-dev-20241016113053"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/async": "^3.2.24",
@@ -90,6 +90,11 @@ export interface BucketStorageFactory
90
90
  */
91
91
  getActiveCheckpoint(): Promise<ActiveCheckpoint>;
92
92
 
93
+ /**
94
+ * Yields the latest sync checkpoint.
95
+ */
96
+ watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint>;
97
+
93
98
  /**
94
99
  * Yields the latest user write checkpoint whenever the sync checkpoint updates.
95
100
  */
@@ -118,6 +123,8 @@ export interface ActiveCheckpoint {
118
123
  hasSyncRules(): boolean;
119
124
 
120
125
  getBucketStorage(): Promise<SyncRulesBucketStorage | null>;
126
+
127
+ syncRules: PersistedSyncRules | null;
121
128
  }
122
129
 
123
130
  export interface StorageMetrics {
@@ -78,6 +78,9 @@ export class MongoBucketStorage
78
78
  db: PowerSyncMongo,
79
79
  options: {
80
80
  slot_name_prefix: string;
81
+ /**
82
+ * Initial Write Checkpoint Mode
83
+ */
81
84
  write_checkpoint_mode?: WriteCheckpointMode;
82
85
  }
83
86
  ) {
@@ -303,6 +306,10 @@ export class MongoBucketStorage
303
306
  return this.writeCheckpointAPI.batchCreateCustomWriteCheckpoints(checkpoints);
304
307
  }
305
308
 
309
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void {
310
+ return this.writeCheckpointAPI.setWriteCheckpointMode(mode);
311
+ }
312
+
306
313
  async createCustomWriteCheckpoint(options: CustomWriteCheckpointOptions): Promise<bigint> {
307
314
  return this.writeCheckpointAPI.createCustomWriteCheckpoint(options);
308
315
  }
@@ -408,14 +415,19 @@ export class MongoBucketStorage
408
415
  return null;
409
416
  }
410
417
  return (await this.storageCache.fetch(doc._id)) ?? null;
411
- }
412
- };
418
+ },
419
+ syncRules: doc
420
+ ? new MongoPersistedSyncRulesContent(this.db, doc).parsed({
421
+ defaultSchema: ''
422
+ })
423
+ : null
424
+ } satisfies ActiveCheckpoint;
413
425
  }
414
426
 
415
427
  /**
416
428
  * Instance-wide watch on the latest available checkpoint (op_id + lsn).
417
429
  */
418
- private async *watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint> {
430
+ private async *_watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint> {
419
431
  const pipeline: mongo.Document[] = [
420
432
  {
421
433
  $match: {
@@ -428,7 +440,8 @@ export class MongoBucketStorage
428
440
  operationType: 1,
429
441
  'fullDocument._id': 1,
430
442
  'fullDocument.last_checkpoint': 1,
431
- 'fullDocument.last_checkpoint_lsn': 1
443
+ 'fullDocument.last_checkpoint_lsn': 1,
444
+ 'fullDocument.content': 1
432
445
  }
433
446
  }
434
447
  ];
@@ -450,7 +463,8 @@ export class MongoBucketStorage
450
463
  projection: {
451
464
  _id: 1,
452
465
  last_checkpoint: 1,
453
- last_checkpoint_lsn: 1
466
+ last_checkpoint_lsn: 1,
467
+ content: 1
454
468
  }
455
469
  }
456
470
  );
@@ -499,6 +513,7 @@ export class MongoBucketStorage
499
513
  if (doc == null) {
500
514
  continue;
501
515
  }
516
+
502
517
  const op = this.makeActiveCheckpoint(doc);
503
518
  // Check for LSN / checkpoint changes - ignore other metadata changes
504
519
  if (lastOp == null || op.lsn != lastOp.lsn || op.checkpoint != lastOp.checkpoint) {
@@ -510,9 +525,16 @@ export class MongoBucketStorage
510
525
 
511
526
  // Nothing is done here until a subscriber starts to iterate
512
527
  private readonly sharedIter = new sync.BroadcastIterable((signal) => {
513
- return this.watchActiveCheckpoint(signal);
528
+ return this._watchActiveCheckpoint(signal);
514
529
  });
515
530
 
531
+ /**
532
+ * Watch changes to the active sync rules and checkpoint.
533
+ */
534
+ watchActiveCheckpoint(signal: AbortSignal): AsyncIterable<ActiveCheckpoint> {
535
+ return wrapWithAbort(this.sharedIter, signal);
536
+ }
537
+
516
538
  /**
517
539
  * User-specific watch on the latest checkpoint and/or write checkpoint.
518
540
  */
@@ -17,11 +17,19 @@ export type MongoCheckpointAPIOptions = {
17
17
 
18
18
  export class MongoWriteCheckpointAPI implements WriteCheckpointAPI {
19
19
  readonly db: PowerSyncMongo;
20
- readonly mode: WriteCheckpointMode;
20
+ private _mode: WriteCheckpointMode;
21
21
 
22
22
  constructor(options: MongoCheckpointAPIOptions) {
23
23
  this.db = options.db;
24
- this.mode = options.mode;
24
+ this._mode = options.mode;
25
+ }
26
+
27
+ get mode() {
28
+ return this._mode;
29
+ }
30
+
31
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void {
32
+ this._mode = mode;
25
33
  }
26
34
 
27
35
  async batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void> {
@@ -29,12 +37,11 @@ export class MongoWriteCheckpointAPI implements WriteCheckpointAPI {
29
37
  }
30
38
 
31
39
  async createCustomWriteCheckpoint(options: CustomWriteCheckpointOptions): Promise<bigint> {
32
- if (this.mode !== WriteCheckpointMode.CUSTOM) {
33
- throw new framework.errors.ValidationError(
34
- `Creating a custom Write Checkpoint when the current Write Checkpoint mode is set to "${this.mode}"`
35
- );
36
- }
37
-
40
+ /**
41
+ * Allow creating custom checkpoints even if the current mode is not `custom`.
42
+ * There might be a state where the next sync rules rely on replicating custom
43
+ * write checkpoints, but the current active sync rules uses managed checkpoints.
44
+ */
38
45
  const { checkpoint, user_id, sync_rules_id } = options;
39
46
  const doc = await this.db.custom_write_checkpoints.findOneAndUpdate(
40
47
  {
@@ -55,6 +55,8 @@ export type ManagedWriteCheckpointOptions = ManagedWriteCheckpointFilters;
55
55
  export type LastWriteCheckpointFilters = CustomWriteCheckpointFilters | ManagedWriteCheckpointFilters;
56
56
 
57
57
  export interface WriteCheckpointAPI {
58
+ setWriteCheckpointMode(mode: WriteCheckpointMode): void;
59
+
58
60
  batchCreateCustomWriteCheckpoints(checkpoints: CustomWriteCheckpointOptions[]): Promise<void>;
59
61
 
60
62
  createCustomWriteCheckpoint(checkpoint: CustomWriteCheckpointOptions): Promise<bigint>;