@powersync/service-core 1.23.0 → 1.23.2

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 (88) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/api/RouteAPI.d.ts +25 -11
  3. package/dist/replication/AbstractReplicator.d.ts +20 -1
  4. package/dist/replication/AbstractReplicator.js +106 -47
  5. package/dist/replication/AbstractReplicator.js.map +1 -1
  6. package/dist/routes/RouterEngine.d.ts +1 -0
  7. package/dist/routes/RouterEngine.js +6 -1
  8. package/dist/routes/RouterEngine.js.map +1 -1
  9. package/dist/routes/configure-fastify.d.ts +52 -44
  10. package/dist/routes/configure-fastify.js +15 -2
  11. package/dist/routes/configure-fastify.js.map +1 -1
  12. package/dist/routes/endpoints/admin.js +2 -1
  13. package/dist/routes/endpoints/admin.js.map +1 -1
  14. package/dist/routes/endpoints/checkpointing.js +1 -3
  15. package/dist/routes/endpoints/checkpointing.js.map +1 -1
  16. package/dist/storage/BucketStorageBatch.d.ts +60 -11
  17. package/dist/storage/BucketStorageBatch.js.map +1 -1
  18. package/dist/storage/ChecksumCache.d.ts +11 -6
  19. package/dist/storage/ChecksumCache.js +5 -4
  20. package/dist/storage/ChecksumCache.js.map +1 -1
  21. package/dist/storage/PersistedSyncConfigContent.d.ts +3 -0
  22. package/dist/storage/PersistedSyncConfigContent.js +2 -0
  23. package/dist/storage/PersistedSyncConfigContent.js.map +1 -1
  24. package/dist/storage/SyncRulesBucketStorage.d.ts +35 -5
  25. package/dist/storage/SyncRulesBucketStorage.js.map +1 -1
  26. package/dist/storage/WriteCheckpointAPI.d.ts +1 -1
  27. package/dist/sync/BucketChecksumState.d.ts +5 -2
  28. package/dist/sync/BucketChecksumState.js +36 -8
  29. package/dist/sync/BucketChecksumState.js.map +1 -1
  30. package/dist/sync/RequestTracker.d.ts +7 -0
  31. package/dist/sync/RequestTracker.js +12 -0
  32. package/dist/sync/RequestTracker.js.map +1 -1
  33. package/dist/sync/sync.js +118 -38
  34. package/dist/sync/sync.js.map +1 -1
  35. package/dist/system/ServiceContext.d.ts +2 -0
  36. package/dist/system/ServiceContext.js +2 -0
  37. package/dist/system/ServiceContext.js.map +1 -1
  38. package/dist/tracing/PerformanceTracer.d.ts +7 -1
  39. package/dist/tracing/PerformanceTracer.js +8 -0
  40. package/dist/tracing/PerformanceTracer.js.map +1 -1
  41. package/dist/util/checkpointing.d.ts +3 -8
  42. package/dist/util/checkpointing.js +1 -16
  43. package/dist/util/checkpointing.js.map +1 -1
  44. package/dist/util/config/compound-config-collector.js +10 -2
  45. package/dist/util/config/compound-config-collector.js.map +1 -1
  46. package/dist/util/config/defaults.d.ts +1 -0
  47. package/dist/util/config/defaults.js +1 -0
  48. package/dist/util/config/defaults.js.map +1 -1
  49. package/dist/util/config/types.d.ts +1 -0
  50. package/dist/util/util-index.d.ts +1 -0
  51. package/dist/util/util-index.js +1 -0
  52. package/dist/util/util-index.js.map +1 -1
  53. package/dist/util/utils.d.ts +1 -1
  54. package/dist/util/utils.js +1 -1
  55. package/dist/util/write-checkpoint-batcher.d.ts +19 -0
  56. package/dist/util/write-checkpoint-batcher.js +90 -0
  57. package/dist/util/write-checkpoint-batcher.js.map +1 -0
  58. package/package.json +5 -5
  59. package/src/api/RouteAPI.ts +25 -11
  60. package/src/replication/AbstractReplicator.ts +134 -47
  61. package/src/routes/RouterEngine.ts +7 -1
  62. package/src/routes/configure-fastify.ts +25 -2
  63. package/src/routes/endpoints/admin.ts +2 -1
  64. package/src/routes/endpoints/checkpointing.ts +1 -4
  65. package/src/storage/BucketStorageBatch.ts +61 -11
  66. package/src/storage/ChecksumCache.ts +27 -14
  67. package/src/storage/PersistedSyncConfigContent.ts +4 -0
  68. package/src/storage/SyncRulesBucketStorage.ts +42 -5
  69. package/src/storage/WriteCheckpointAPI.ts +1 -1
  70. package/src/sync/BucketChecksumState.ts +65 -8
  71. package/src/sync/RequestTracker.ts +20 -0
  72. package/src/sync/sync.ts +148 -44
  73. package/src/system/ServiceContext.ts +7 -0
  74. package/src/tracing/PerformanceTracer.ts +18 -1
  75. package/src/util/checkpointing.ts +3 -22
  76. package/src/util/config/compound-config-collector.ts +13 -1
  77. package/src/util/config/defaults.ts +1 -0
  78. package/src/util/config/types.ts +1 -0
  79. package/src/util/util-index.ts +1 -0
  80. package/src/util/utils.ts +1 -1
  81. package/src/util/write-checkpoint-batcher.ts +122 -0
  82. package/test/src/checksum_cache.test.ts +22 -0
  83. package/test/src/config.test.ts +42 -0
  84. package/test/src/diagnostics.test.ts +13 -12
  85. package/test/src/routes/admin.test.ts +12 -10
  86. package/test/src/sync/BucketChecksumState.test.ts +41 -1
  87. package/test/src/util/checkpointing.test.ts +170 -0
  88. package/tsconfig.tsbuildinfo +1 -1
@@ -184,7 +184,8 @@ export const validate = routeDefinition({
184
184
  replicationStreamName: '',
185
185
  storageVersion: storage.LEGACY_STORAGE_VERSION,
186
186
  sync_rules_content: content,
187
- compiled_plan: null
187
+ compiled_plan: null,
188
+ syncConfigState: storage.SyncRuleState.PROCESSING
188
189
  });
189
190
  const connectionStatus = await apiHandler.getConnectionStatus();
190
191
  if (!connectionStatus) {
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/routes/endpoints/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAEL,UAAU,EAEV,YAAY,EACZ,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;IAC9B,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACtG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EACJ,MAAM,EAAE,EACN,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EACrB,EACF,GAAG,OAAO,CAAC;QAEZ,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAEzE,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC/C,OAAO,EAAE;oBACP,OAAO,EAAE,EAAE;oBACX,IAAI,EAAE,EAAE;iBACT;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6BAA6B;aACrC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;IAC9B,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACvG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC;QAEnE,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAChD,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EACJ,aAAa,EAAE,EAAE,mBAAmB,EAAE,EACvC,GAAG,eAAe,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;QAErE,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAChD,UAAU,EACV,MAAM,EAAE,OAAO,IAAI,IAAI,EACvB;YACE,eAAe;YACf,gBAAgB,EAAE,MAAM,CAAC,SAAS;YAClC,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;SACb,EACD,MAAM,EAAE,OAAO,CAChB,CAAC;QAEF,MAAM,gBAAgB,GACpB,SAAS,IAAI,IAAI;YACf,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,GAAG,CAAC,kBAAkB,CAC1B,UAAU,EACV,SAAS,CAAC,OAAO,EACjB;gBACE,eAAe;gBACf,gBAAgB,EAAE,MAAM,CAAC,SAAS;gBAClC,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,KAAK;aACd,EACD,SAAS,CAAC,OAAO,CAClB,CAAC;QAER,OAAO,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAChD,WAAW,EAAE;gBACX;oBACE,GAAG,MAAM;oBACT,6BAA6B;oBAC7B,YAAY,EAAE,MAAM,CAAC,GAAG;iBACzB;aACF;YACD,iBAAiB,EAAE,aAAa;YAChC,oBAAoB,EAAE,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;IAC9B,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACrG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAEzE,OAAO,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;IAC9B,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACrG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EACJ,OAAO,EAAE,EAAE,eAAe,EAAE,EAC7B,GAAG,OAAO,CAAC;QACZ,MAAM,EACJ,aAAa,EAAE,EAAE,mBAAmB,EAAE,EACvC,GAAG,eAAe,CAAC;QACpB,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;QAChE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;gBAC5B,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,WAAW,EAAE,gDAAgD;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;gBAC5B,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,WAAW,EAAE,uBAAuB;aACrC,CAAC,CAAC;QACL,CAAC;QACD,uEAAuE;QACvE,6HAA6H;QAC7H,iGAAiG;QACjG,wDAAwD;QACxD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,eAAe,CACzD,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACjE,yFAAyF;YACzF,4DAA4D;YAC5D,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;QAEtD,OAAO,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC9C,WAAW,EAAE;gBACX;oBACE,kDAAkD;oBAClD,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,SAAS,EAAE,SAAS,CAAC,qBAAqB;iBAC3C;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,iCAAkC,SAAQ,OAAO,CAAC,0BAA0B;IAE7D;IACA;IAFnB,YACmB,UAAwB,EACxB,MAAoB,EACrC,IAA4C;QAE5C,KAAK,CAAC,IAAI,CAAC,CAAC;QAJK,eAAU,GAAV,UAAU,CAAc;QACxB,WAAM,GAAN,MAAM,CAAc;IAIvC,CAAC;IAED,MAAM,CAAC,OAAuC;QAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAChE,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE;YAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,QAAwC,CAAC;QAC7C,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,cAAc,EAAE,uBAAuB;YACvC,IAAI,kBAAkB;gBACpB,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;oBACrC,cAAc,EAAE,uBAAuB;oBACvC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;iBAC3B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;IACtC,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;IAC9B,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACpG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EACJ,OAAO,EAAE,EAAE,eAAe,EAAE,EAC7B,GAAG,OAAO,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAEzD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,IAAI,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE;YAC3E,eAAe;YACf,mBAAmB,EAAE,CAAC;YACtB,qBAAqB,EAAE,EAAE;YACzB,cAAc,EAAE,OAAO,CAAC,sBAAsB;YAC9C,kBAAkB,EAAE,OAAO;YAC3B,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC7C,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/F,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE;YACnE,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,gBAAgB,CAAC,SAAS;YAC5C,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,KAAK;SACd,CAAC,CAAE,CAAC;QAEL,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,OAAO,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/routes/endpoints/admin.ts"],"names":[],"mappings":"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"}
@@ -42,12 +42,10 @@ export const writeCheckpoint2 = routeDefinition({
42
42
  validator: schema.createTsCodecValidator(WriteCheckpointRequest, { allowAdditional: true }),
43
43
  handler: async (payload) => {
44
44
  const { token_payload, service_context } = payload.context;
45
- const apiHandler = service_context.routerEngine.getAPI();
46
45
  const { replicationHead, writeCheckpoint } = await util.createWriteCheckpoint({
47
46
  userId: token_payload.userIdString,
48
47
  clientId: payload.params.client_id,
49
- api: apiHandler,
50
- storage: service_context.storageEngine.activeBucketStorage
48
+ batcher: service_context.writeCheckpointBatcher
51
49
  });
52
50
  logger.info(`Write checkpoint for ${token_payload.userIdString}/${payload.params.client_id}: ${writeCheckpoint} | ${replicationHead}`);
53
51
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointing.js","sourceRoot":"","sources":["../../../src/routes/endpoints/checkpointing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpointing.js","sourceRoot":"","sources":["../../../src/routes/endpoints/checkpointing.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ import { SourceTable, TableSnapshotStatus } from './SourceTable.js';
7
7
  import { BatchedCustomWriteCheckpointOptions } from './storage-index.js';
8
8
  import { ResolveTablesOptions, ResolveTablesResult } from './SyncRulesBucketStorage.js';
9
9
  export declare const DEFAULT_BUCKET_BATCH_COMMIT_OPTIONS: ResolvedBucketBatchCommitOptions;
10
+ /**
11
+ * Storage writer for a source-specific unit of replication work.
12
+ *
13
+ * A batch evaluates source row changes against the hydrated sync config,
14
+ * persists bucket operations and parameter lookup rows, tracks source table and
15
+ * snapshot state, records the committed source position for visible
16
+ * checkpoints, and stores restart cursors for sources with PowerSync-managed
17
+ * resume state.
18
+ */
10
19
  export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageListener>, AsyncDisposable {
11
20
  /**
12
21
  * Alias for [Symbol.asyncDispose]
@@ -21,19 +30,26 @@ export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageLis
21
30
  */
22
31
  readonly skipExistingRows: boolean;
23
32
  /**
24
- * Save an op, and potentially flush.
33
+ * Queue one normalized source row operation and potentially flush.
25
34
  *
26
- * This can be an insert, update or delete op.
35
+ * When flushed, the operation is evaluated against data and parameter
36
+ * queries. That may produce bucket operations, parameter lookup rows, and
37
+ * current-data updates. `save()` may trigger that flush automatically when
38
+ * the batch reaches its size limits, but a flush does not create a checkpoint
39
+ * by itself.
27
40
  */
28
41
  save(record: SaveOptions): Promise<FlushedResult | null>;
29
42
  /**
30
- * Replicate a truncate op - deletes all data in the specified tables.
43
+ * Replicate a truncate operation by removing all currently replicated rows
44
+ * for the specified source tables.
31
45
  */
32
46
  truncate(sourceTables: SourceTable[]): Promise<FlushedResult | null>;
33
47
  /**
34
- * Drop one or more tables.
48
+ * Drop one or more source table mappings.
35
49
  *
36
- * This is the same as truncate, but additionally removes the SourceTable record.
50
+ * This performs the same logical row removal as `truncate()`, then removes
51
+ * the stored `SourceTable` record. It is used for table drops, renames,
52
+ * replica identity changes, and superseded mappings.
37
53
  */
38
54
  drop(sourceTables: SourceTable[]): Promise<FlushedResult | null>;
39
55
  /**
@@ -46,19 +62,24 @@ export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageLis
46
62
  */
47
63
  flush(options?: BatchBucketFlushOptions): Promise<FlushedResult | null>;
48
64
  /**
49
- * Flush and commit any saved ops. This creates a new checkpoint by default.
65
+ * Flush saved ops and advance the committed source checkpoint position.
50
66
  *
51
- * Only call this after a transaction.
67
+ * Only call this at a source transaction, page, snapshot, or other boundary
68
+ * where it is valid for clients to observe all flushed changes together. A
69
+ * single commit may include multiple complete source transactions, but must
70
+ * not split one source transaction across checkpoint boundaries.
52
71
  */
53
72
  commit(lsn: string, options?: BucketBatchCommitOptions): Promise<CheckpointResult>;
54
73
  /**
55
- * Advance the checkpoint LSN position, without any associated op.
74
+ * Advance the committed source checkpoint position without associated row
75
+ * operations.
56
76
  *
57
- * This must only be called when not inside a transaction.
77
+ * Use this for source heartbeats, marker-only events, and idle-source write
78
+ * checkpoint progress. This must only be called outside a source transaction.
58
79
  */
59
80
  keepalive(lsn: string): Promise<CheckpointResult>;
60
81
  /**
61
- * Set the LSN that replication should resume from.
82
+ * Set the source position that replication should resume from after restart.
62
83
  *
63
84
  * This can be used for:
64
85
  * 1. Setting the LSN for a snapshot, before starting replication.
@@ -66,6 +87,10 @@ export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageLis
66
87
  *
67
88
  * Not required if the source database keeps track of this, for example with
68
89
  * PostgreSQL logical replication slots.
90
+ *
91
+ * This is for restart safety only. If the same source position should become
92
+ * visible to clients, also call `commit()` or `keepalive()` at a valid source
93
+ * boundary.
69
94
  */
70
95
  setResumeLsn(lsn: string): Promise<void>;
71
96
  /**
@@ -74,7 +99,20 @@ export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageLis
74
99
  * Not relevant for streams where the source keeps track of replication progress, such as Postgres.
75
100
  */
76
101
  resumeFromLsn: string | null;
102
+ /**
103
+ * Mark table snapshots complete and record the source position that
104
+ * checkpoints must not precede for those tables.
105
+ */
77
106
  markTableSnapshotDone(tables: SourceTable[], no_checkpoint_before_lsn?: string): Promise<SourceTable[]>;
107
+ /**
108
+ * Mark a source table as requiring snapshot work again.
109
+ *
110
+ * Use this when a table that was previously considered snapshot-complete
111
+ * must be copied again before it can safely contribute to checkpoints. Common
112
+ * cases include detected schema or replica identity changes, interrupted
113
+ * re-snapshot work, or other source metadata changes that make the existing
114
+ * replicated rows no longer trustworthy.
115
+ */
78
116
  markTableSnapshotRequired(table: SourceTable): Promise<void>;
79
117
  /**
80
118
  * Mark the full replication snapshot as done without validating individual source table snapshot state.
@@ -96,14 +134,25 @@ export interface BucketStorageBatch extends ObserverClient<BucketBatchStorageLis
96
134
  markSnapshotDone(no_checkpoint_before_lsn: string, options?: {
97
135
  throwOnConflict?: boolean;
98
136
  }): Promise<void>;
137
+ /**
138
+ * Persist resumable table snapshot progress such as row counts or source
139
+ * cursors.
140
+ */
99
141
  updateTableProgress(table: SourceTable, progress: Partial<TableSnapshotStatus>): Promise<SourceTable>;
100
142
  /**
101
143
  * Get the current status for an existing source table without creating or resolving a replacement table.
102
144
  */
103
145
  getSourceTableStatus(table: SourceTable): Promise<SourceTable | null>;
146
+ /**
147
+ * Resolve discovered source metadata against the active sync config and
148
+ * persisted source table state.
149
+ *
150
+ * @returns Current mappings that should receive replicated rows, plus
151
+ * outdated mappings that the source connector should drop.
152
+ */
104
153
  resolveTables(options: ResolveTablesOptions): Promise<ResolveTablesResult>;
105
154
  /**
106
- * Queues the creation of a custom Write Checkpoint. This will be persisted after operations are flushed.
155
+ * Queue a custom write checkpoint to be persisted after operations are flushed.
107
156
  */
108
157
  addCustomWriteCheckpoint(checkpoint: BatchedCustomWriteCheckpointOptions): void;
109
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BucketStorageBatch.js","sourceRoot":"","sources":["../../src/storage/BucketStorageBatch.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,mCAAmC,GAAqC;IACnF,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAkJF,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
1
+ {"version":3,"file":"BucketStorageBatch.js","sourceRoot":"","sources":["../../src/storage/BucketStorageBatch.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,mCAAmC,GAAqC;IACnF,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAoMF,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
@@ -10,19 +10,24 @@ export interface FetchPartialBucketChecksum {
10
10
  }
11
11
  export type PartialOrFullChecksum = PartialChecksum | BucketChecksum;
12
12
  export type PartialChecksumMap = Map<string, PartialOrFullChecksum>;
13
- export type FetchChecksums = (batch: FetchPartialBucketChecksum[]) => Promise<PartialChecksumMap>;
14
- export interface ChecksumCacheOptions {
13
+ export type FetchChecksums<TContext = undefined> = (batch: FetchPartialBucketChecksum[], context: TContext) => Promise<PartialChecksumMap>;
14
+ export interface ChecksumCacheOptions<TContext = undefined> {
15
15
  /**
16
16
  * Upstream checksum implementation.
17
17
  *
18
18
  * This fetches a batch of either entire bucket checksums, or a partial range.
19
19
  */
20
- fetchChecksums: FetchChecksums;
20
+ fetchChecksums: FetchChecksums<TContext>;
21
21
  /**
22
22
  * Maximum number of cached checksums.
23
23
  */
24
24
  maxSize?: number;
25
+ /**
26
+ * How long to keep cached checksums before refreshing them.
27
+ */
28
+ ttlMs?: number;
25
29
  }
30
+ export declare const DEFAULT_CHECKSUM_CACHE_TTL_MS: number;
26
31
  /**
27
32
  * Implement a LRU cache for checksum requests. Each (bucket, checkpoint) request is cached separately,
28
33
  * while the lookups occur in batches.
@@ -32,7 +37,7 @@ export interface ChecksumCacheOptions {
32
37
  *
33
38
  * We use the LRUCache fetchMethod to deduplicate in-progress requests.
34
39
  */
35
- export declare class ChecksumCache {
40
+ export declare class ChecksumCache<TContext = undefined> {
36
41
  /**
37
42
  * The primary checksum cache, with key of `${checkpoint}/${bucket}`.
38
43
  */
@@ -42,7 +47,7 @@ export declare class ChecksumCache {
42
47
  */
43
48
  private bucketCheckpoints;
44
49
  private fetchChecksums;
45
- constructor(options: ChecksumCacheOptions);
50
+ constructor(options: ChecksumCacheOptions<TContext>);
46
51
  clear(): void;
47
52
  getChecksums(checkpoint: InternalOpId, buckets: BucketChecksumRequest[]): Promise<BucketChecksum[]>;
48
53
  /**
@@ -52,5 +57,5 @@ export declare class ChecksumCache {
52
57
  *
53
58
  * @returns a Map with exactly one entry for each bucket requested
54
59
  */
55
- getChecksumMap(checkpoint: InternalOpId, buckets: BucketChecksumRequest[]): Promise<ChecksumMap>;
60
+ getChecksumMap(checkpoint: InternalOpId, buckets: BucketChecksumRequest[], fetchContext?: TContext): Promise<ChecksumMap>;
56
61
  }
@@ -3,7 +3,8 @@ import { LRUCache } from 'lru-cache/min';
3
3
  import { addBucketChecksums } from '../util/utils.js';
4
4
  // Approximately 5MB of memory, if we assume 50 bytes per entry
5
5
  const DEFAULT_MAX_SIZE = 100_000;
6
- const TTL_MS = 3_600_000;
6
+ // Default to 1h
7
+ export const DEFAULT_CHECKSUM_CACHE_TTL_MS = 1 * 3_600_000;
7
8
  /**
8
9
  * Implement a LRU cache for checksum requests. Each (bucket, checkpoint) request is cached separately,
9
10
  * while the lookups occur in batches.
@@ -60,7 +61,7 @@ export class ChecksumCache {
60
61
  // We use a TTL so that counts can eventually be refreshed
61
62
  // after a compact. This only has effect if the bucket has
62
63
  // not been checked in the meantime.
63
- ttl: TTL_MS,
64
+ ttl: options.ttlMs ?? DEFAULT_CHECKSUM_CACHE_TTL_MS,
64
65
  ttlResolution: 1_000,
65
66
  allowStale: false
66
67
  });
@@ -81,7 +82,7 @@ export class ChecksumCache {
81
82
  *
82
83
  * @returns a Map with exactly one entry for each bucket requested
83
84
  */
84
- async getChecksumMap(checkpoint, buckets) {
85
+ async getChecksumMap(checkpoint, buckets, fetchContext) {
85
86
  // Buckets that don't have a cached checksum for this checkpoint yet
86
87
  let toFetch = new Set();
87
88
  // Newly fetched results
@@ -201,7 +202,7 @@ export class ChecksumCache {
201
202
  bucketRequests.push(bucketRequest);
202
203
  }
203
204
  // Fetch partial checksums from upstream
204
- const results = await this.fetchChecksums(bucketRequests);
205
+ const results = await this.fetchChecksums(bucketRequests, fetchContext);
205
206
  for (let bucket of toFetch) {
206
207
  const result = results.get(bucket);
207
208
  const toAdd = add.get(bucket);
@@ -1 +1 @@
1
- {"version":3,"file":"ChecksumCache.js","sourceRoot":"","sources":["../../src/storage/ChecksumCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChecksumCache.js","sourceRoot":"","sources":["../../src/storage/ChecksumCache.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SyncConfigWithErrors } from '@powersync/service-sync-rules';
2
2
  import { Logger } from 'winston';
3
+ import { SyncRuleState } from './BucketStorage.js';
3
4
  import { SerializedSyncPlan, UpdateSyncRulesOptions } from './BucketStorageFactory.js';
4
5
  import { ParsedSyncConfigSet } from './ParsedSyncConfigSet.js';
5
6
  import { PersistedSyncConfigStatus } from './PersistedSyncConfigStatus.js';
@@ -26,6 +27,7 @@ export declare abstract class PersistedSyncConfigContent implements PersistedSyn
26
27
  readonly storageVersion: number;
27
28
  readonly logger: Logger;
28
29
  readonly syncConfigId: PersistedSyncConfigId | null;
30
+ readonly syncConfigState: SyncRuleState;
29
31
  constructor(data: PersistedSyncConfigContentData);
30
32
  /**
31
33
  * Load the storage config.
@@ -53,6 +55,7 @@ export interface PersistedSyncConfigContentData {
53
55
  readonly replicationStreamName: string;
54
56
  readonly storageVersion: number;
55
57
  readonly syncConfigId?: PersistedSyncConfigId | null;
58
+ readonly syncConfigState: SyncRuleState;
56
59
  }
57
60
  export type PersistedSyncConfigId = string;
58
61
  export interface ParseSyncConfigOptions {
@@ -54,6 +54,7 @@ export class PersistedSyncConfigContent {
54
54
  storageVersion;
55
55
  logger;
56
56
  syncConfigId;
57
+ syncConfigState;
57
58
  constructor(data) {
58
59
  this.replicationStreamId = data.replicationStreamId;
59
60
  this.sync_rules_content = data.sync_rules_content;
@@ -61,6 +62,7 @@ export class PersistedSyncConfigContent {
61
62
  this.replicationStreamName = data.replicationStreamName;
62
63
  this.storageVersion = data.storageVersion;
63
64
  this.syncConfigId = data.syncConfigId ?? null;
65
+ this.syncConfigState = data.syncConfigState;
64
66
  this.logger = defaultLogger.child({ prefix: `[${this.replicationStreamName}] ` });
65
67
  }
66
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PersistedSyncConfigContent.js","sourceRoot":"","sources":["../../src/storage/PersistedSyncConfigContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACrG,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EAInB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EAEZ,uBAAuB,EACvB,SAAS,EACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAKtC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,2BAA2B,CAAC;AASzF,MAAM,UAAU,+BAA+B,CAAC,OAA+C;IAC7F,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAExE,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,mEAAmE;QACnE,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACnF,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE;QACnF,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;IAEH,2GAA2G;IAC3G,+FAA+F;IAC/F,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;IAE5C,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,QAAQ,GAA8B,KAAK,CAAC,QAAQ,IAAI;gBAC5D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;gBAClC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;aAC/B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtE,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAE/B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AAEH,MAAM,OAAgB,0BAA0B;IACrC,mBAAmB,CAAS;IAC5B,kBAAkB,CAAS;IAC3B,aAAa,CAA4B;IACzC,qBAAqB,CAAS;IAC9B,cAAc,CAAS;IACvB,MAAM,CAAS;IACf,YAAY,CAA+B;IAEpD,YAAY,IAAoC;QAC9C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,WAAW,EACrB,+BAA+B,IAAI,CAAC,cAAc,2BAA2B,IAAI,CAAC,mBAAmB,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACO,iBAAiB,CAAC,OAA+B;QACzD,OAAO,+BAA+B,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,IAAI,cAA8B,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IACE,aAAa,CAAC,gBAAgB;YAC9B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAC7E,CAAC;YACD,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,uBAAuB,CAAC;QAC3C,CAAC;QAED,IAAI,QAAwC,CAAC;QAC7C,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,WAAW,EAAE,CAAC,MAAM,CAAC;YACrB,cAAc;YACd,IAAI,kBAAkB;gBACpB,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnF,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAgD;QAC9D,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3E,OAAO;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAC3E,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;CAMF"}
1
+ {"version":3,"file":"PersistedSyncConfigContent.js","sourceRoot":"","sources":["../../src/storage/PersistedSyncConfigContent.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ import { StorageVersionConfig } from './StorageVersionConfig.js';
13
13
  import { SyncStorageWriteCheckpointAPI } from './WriteCheckpointAPI.js';
14
14
  /**
15
15
  * Storage for a specific replication stream.
16
+ *
17
+ * Replication writes source changes, source table metadata, snapshot progress,
18
+ * resume positions, and checkpoint boundaries through this interface. The sync
19
+ * API reads the same stream state as checkpoints, checksums, bucket data,
20
+ * parameter lookup rows, and write-checkpoint acknowledgements.
16
21
  */
17
22
  export interface SyncRulesBucketStorage extends ObserverClient<SyncRulesBucketStorageListener>, SyncStorageWriteCheckpointAPI {
18
23
  readonly replicationStreamId: number;
@@ -21,12 +26,17 @@ export interface SyncRulesBucketStorage extends ObserverClient<SyncRulesBucketSt
21
26
  readonly factory: BucketStorageFactory;
22
27
  readonly logger: Logger;
23
28
  /**
24
- * Create a new writer.
29
+ * Create a writer for a source-specific unit of replication work.
25
30
  *
26
- * The writer must be flushed and disposed when done.
31
+ * The writer may be used for a long-running streaming attempt, a table
32
+ * snapshot, a page of snapshot work, or a short setup step. Pending work
33
+ * that should be persisted must be flushed, committed, or kept alive at the
34
+ * appropriate source boundary before the writer is disposed.
27
35
  */
28
36
  createWriter(options: CreateWriterOptions): Promise<BucketStorageBatch>;
29
37
  /**
38
+ * Callback wrapper around `createWriter()`.
39
+ *
30
40
  * @deprecated Use `createWriter()` with `await using` instead.
31
41
  */
32
42
  startBatch(options: CreateWriterOptions, callback: (batch: BucketStorageBatch) => Promise<void>): Promise<FlushedResult | null>;
@@ -77,7 +87,7 @@ export interface SyncRulesBucketStorage extends ObserverClient<SyncRulesBucketSt
77
87
  *
78
88
  * This is a best-effort optimization:
79
89
  * 1. This may include more changes than what actually occurred.
80
- * 2. This may return invalidateDataBuckets or invalidateParameterBuckets instead of of returning
90
+ * 2. This may return invalidateDataBuckets or invalidateParameterBuckets instead of returning
81
91
  * specific changes.
82
92
  * @param options
83
93
  */
@@ -99,7 +109,7 @@ export interface SyncRulesBucketStorage extends ObserverClient<SyncRulesBucketSt
99
109
  * @param dataBuckets current bucket states
100
110
  * @param options batch size options
101
111
  */
102
- getBucketDataBatch(checkpoint: util.InternalOpId, dataBuckets: BucketDataRequest[], options?: BucketDataBatchOptions): AsyncIterable<SyncBucketDataChunk>;
112
+ getBucketDataBatch(checkpoint: ReplicationCheckpoint, dataBuckets: BucketDataRequest[], options?: BucketDataBatchOptions): AsyncIterable<SyncBucketDataChunk>;
103
113
  /**
104
114
  * Compute checksums for a given list of buckets.
105
115
  *
@@ -108,7 +118,7 @@ export interface SyncRulesBucketStorage extends ObserverClient<SyncRulesBucketSt
108
118
  * This may be slow, depending on the size of the buckets.
109
119
  * The checksums are cached internally to compensate for this, but does not cover all cases.
110
120
  */
111
- getChecksums(checkpoint: util.InternalOpId, buckets: BucketChecksumRequest[]): Promise<util.ChecksumMap>;
121
+ getChecksums(checkpoint: ReplicationCheckpoint, buckets: BucketChecksumRequest[], options?: BucketChecksumOptions): Promise<util.ChecksumMap>;
112
122
  /**
113
123
  * Clear checksum cache. Primarily intended for tests.
114
124
  */
@@ -131,6 +141,10 @@ export interface BucketChecksumRequest {
131
141
  bucket: string;
132
142
  source: BucketDataSource;
133
143
  }
144
+ export interface BucketChecksumOptions {
145
+ requestHint?: BucketRequestHint;
146
+ }
147
+ export type BucketRequestHint = 'bulk' | 'incremental';
134
148
  export interface ReplicationStreamStatus {
135
149
  /**
136
150
  * Source position to resume replication from.
@@ -143,6 +157,9 @@ export interface ReplicationStreamStatus {
143
157
  }
144
158
  export interface ResolveTablesOptions {
145
159
  connection_id: number;
160
+ /**
161
+ * Source table or collection metadata discovered during snapshot or streaming.
162
+ */
146
163
  source: SourceEntityDescriptor;
147
164
  /**
148
165
  * For tests only - custom id generator for stable ids.
@@ -154,10 +171,22 @@ export interface ResolveTablesOptions {
154
171
  parsedSyncConfig?: ParsedSyncConfigSet;
155
172
  }
156
173
  export interface ResolveTablesResult {
174
+ /**
175
+ * Current source table mappings that should receive replicated data.
176
+ */
157
177
  tables: SourceTable[];
178
+ /**
179
+ * Outdated source table mappings that should be removed by the connector.
180
+ */
158
181
  dropTables: SourceTable[];
159
182
  }
183
+ /**
184
+ * Options for creating a storage writer.
185
+ */
160
186
  export interface CreateWriterOptions extends ParseSyncConfigOptions {
187
+ /**
188
+ * Source-specific zero or empty replication position.
189
+ */
161
190
  zeroLSN: string;
162
191
  /**
163
192
  * Whether or not to store a copy of the current data.
@@ -293,6 +322,7 @@ export interface TerminateOptions extends ClearStorageOptions {
293
322
  clearStorage: boolean;
294
323
  }
295
324
  export interface BucketDataBatchOptions {
325
+ requestHint?: BucketRequestHint;
296
326
  /** Limit number of documents returned. Defaults to 1000. */
297
327
  limit?: number;
298
328
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SyncRulesBucketStorage.js","sourceRoot":"","sources":["../../src/storage/SyncRulesBucketStorage.ts"],"names":[],"mappings":"AA4YA;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAE5C;IACA;IAFX,YACW,KAAa,EACb,SAAyC;QAElD,KAAK,CAAC,yCAAyC,KAAK,GAAG,CAAC,CAAC;QAHhD,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAgC;IAGpD,CAAC;CACF;AAqDD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,kBAAkB,EAAE,IAAI,GAAG,EAAU;IACrC,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI,GAAG,EAAU;IAC1C,0BAA0B,EAAE,IAAI;CACjC,CAAC"}
1
+ {"version":3,"file":"SyncRulesBucketStorage.js","sourceRoot":"","sources":["../../src/storage/SyncRulesBucketStorage.ts"],"names":[],"mappings":"AAibA;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAE5C;IACA;IAFX,YACW,KAAa,EACb,SAAyC;QAElD,KAAK,CAAC,yCAAyC,KAAK,GAAG,CAAC,CAAC;QAHhD,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAgC;IAGpD,CAAC;CACF;AAqDD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,kBAAkB,EAAE,IAAI,GAAG,EAAU;IACrC,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI,GAAG,EAAU;IAC1C,0BAA0B,EAAE,IAAI;CACjC,CAAC"}
@@ -50,7 +50,7 @@ export type LastWriteCheckpointFilters = CustomWriteCheckpointFilters | ManagedW
50
50
  export interface BaseWriteCheckpointAPI {
51
51
  readonly writeCheckpointMode: WriteCheckpointMode;
52
52
  setWriteCheckpointMode(mode: WriteCheckpointMode): void;
53
- createManagedWriteCheckpoint(checkpoint: ManagedWriteCheckpointOptions): Promise<bigint>;
53
+ createManagedWriteCheckpoints(checkpoints: ManagedWriteCheckpointOptions[]): Promise<Map<string, bigint>>;
54
54
  }
55
55
  /**
56
56
  * Write Checkpoint API to be used in conjunction with a {@link SyncRulesBucketStorage}.
@@ -3,7 +3,9 @@ import * as storage from '../storage/storage-index.js';
3
3
  import * as util from '../util/util-index.js';
4
4
  import { Logger } from '@powersync/lib-services-framework';
5
5
  import { JwtPayload } from '../auth/JwtPayload.js';
6
+ import { PerformanceTracer } from '../tracing/PerformanceTracer.js';
6
7
  import { SyncContext } from './SyncContext.js';
8
+ export type SyncCheckpointTraceCategory = 'checkpoint' | 'parameters' | 'checksum' | 'acquiring_lock' | 'bucket_data' | 'sending';
7
9
  export interface BucketChecksumStateOptions {
8
10
  syncContext: SyncContext;
9
11
  bucketStorage: BucketChecksumStateStorage;
@@ -65,7 +67,7 @@ export declare class BucketChecksumState {
65
67
  * @param next The updated checkpoint
66
68
  * @returns A {@link CheckpointLine} if any of the buckets watched by this connected was updated, or otherwise `null`.
67
69
  */
68
- buildNextCheckpointLine(next: storage.StorageCheckpointUpdate): Promise<CheckpointLine | null>;
70
+ buildNextCheckpointLine(next: storage.StorageCheckpointUpdate, tracer?: PerformanceTracer<SyncCheckpointTraceCategory>): Promise<CheckpointLine | null>;
69
71
  }
70
72
  declare const INVALIDATE_ALL_BUCKETS: unique symbol;
71
73
  export interface CheckpointUpdate {
@@ -111,7 +113,7 @@ export declare class BucketParameterState {
111
113
  */
112
114
  translateResolvedBucket(description: ResolvedBucket, lookupIndex: Map<string, number>): util.ClientBucketDescription;
113
115
  isSubscribedToStream(desc: BucketSource): boolean;
114
- getCheckpointUpdate(checkpoint: storage.StorageCheckpointUpdate): Promise<CheckpointUpdate>;
116
+ getCheckpointUpdate(checkpoint: storage.StorageCheckpointUpdate, tracer: PerformanceTracer<SyncCheckpointTraceCategory>): Promise<CheckpointUpdate>;
115
117
  /**
116
118
  * For static buckets, we can keep track of which buckets have been updated.
117
119
  */
@@ -124,6 +126,7 @@ export declare class BucketParameterState {
124
126
  export interface CheckpointLine {
125
127
  checkpointLine: util.StreamingSyncCheckpointDiff | util.StreamingSyncCheckpoint;
126
128
  bucketsToFetch: ResolvedBucket[];
129
+ bucketDataRequestHint: storage.BucketRequestHint;
127
130
  /**
128
131
  * Call when a checkpoint line is being sent to a client, to update the internal state.
129
132
  */