@syncular/client 0.0.6-185 → 0.0.6-188

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 (81) hide show
  1. package/dist/client.d.ts +14 -71
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +81 -406
  4. package/dist/client.js.map +1 -1
  5. package/dist/create-client.d.ts +0 -2
  6. package/dist/create-client.d.ts.map +1 -1
  7. package/dist/create-client.js +2 -3
  8. package/dist/create-client.js.map +1 -1
  9. package/dist/engine/SyncEngine.d.ts +1 -0
  10. package/dist/engine/SyncEngine.d.ts.map +1 -1
  11. package/dist/engine/SyncEngine.js +21 -6
  12. package/dist/engine/SyncEngine.js.map +1 -1
  13. package/dist/handlers/create-handler.d.ts +5 -0
  14. package/dist/handlers/create-handler.d.ts.map +1 -1
  15. package/dist/handlers/create-handler.js +123 -4
  16. package/dist/handlers/create-handler.js.map +1 -1
  17. package/dist/handlers/types.d.ts +7 -0
  18. package/dist/handlers/types.d.ts.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +0 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/internal/blob-schema.d.ts +32 -0
  24. package/dist/internal/blob-schema.d.ts.map +1 -0
  25. package/dist/internal/blob-schema.js +2 -0
  26. package/dist/internal/blob-schema.js.map +1 -0
  27. package/dist/mutations.d.ts.map +1 -1
  28. package/dist/mutations.js +15 -6
  29. package/dist/mutations.js.map +1 -1
  30. package/dist/plugins/incrementing-version.d.ts.map +1 -1
  31. package/dist/plugins/incrementing-version.js +20 -8
  32. package/dist/plugins/incrementing-version.js.map +1 -1
  33. package/dist/plugins/types.d.ts +26 -1
  34. package/dist/plugins/types.d.ts.map +1 -1
  35. package/dist/plugins/types.js.map +1 -1
  36. package/dist/pull-engine.d.ts +8 -2
  37. package/dist/pull-engine.d.ts.map +1 -1
  38. package/dist/pull-engine.js +150 -26
  39. package/dist/pull-engine.js.map +1 -1
  40. package/dist/push-engine.d.ts.map +1 -1
  41. package/dist/push-engine.js +21 -5
  42. package/dist/push-engine.js.map +1 -1
  43. package/dist/schema.d.ts +2 -2
  44. package/dist/schema.d.ts.map +1 -1
  45. package/dist/sync-loop.d.ts +3 -1
  46. package/dist/sync-loop.d.ts.map +1 -1
  47. package/dist/sync-loop.js +382 -139
  48. package/dist/sync-loop.js.map +1 -1
  49. package/package.json +76 -3
  50. package/src/client.test.ts +72 -155
  51. package/src/client.ts +113 -572
  52. package/src/create-client.ts +1 -6
  53. package/src/engine/SyncEngine.test.ts +90 -0
  54. package/src/engine/SyncEngine.ts +29 -9
  55. package/src/handlers/create-handler.ts +197 -4
  56. package/src/handlers/types.ts +11 -0
  57. package/src/index.ts +1 -2
  58. package/src/internal/blob-schema.ts +40 -0
  59. package/src/mutations.ts +17 -6
  60. package/src/plugins/incrementing-version.ts +36 -7
  61. package/src/plugins/types.ts +42 -0
  62. package/src/pull-engine.test.ts +494 -0
  63. package/src/pull-engine.ts +193 -29
  64. package/src/push-engine.ts +31 -5
  65. package/src/schema.ts +2 -2
  66. package/src/sync-loop.ts +538 -145
  67. package/dist/blobs/index.d.ts +0 -6
  68. package/dist/blobs/index.d.ts.map +0 -1
  69. package/dist/blobs/index.js +0 -6
  70. package/dist/blobs/index.js.map +0 -1
  71. package/dist/blobs/migrate.d.ts +0 -14
  72. package/dist/blobs/migrate.d.ts.map +0 -1
  73. package/dist/blobs/migrate.js +0 -59
  74. package/dist/blobs/migrate.js.map +0 -1
  75. package/dist/blobs/types.d.ts +0 -62
  76. package/dist/blobs/types.d.ts.map +0 -1
  77. package/dist/blobs/types.js +0 -5
  78. package/dist/blobs/types.js.map +0 -1
  79. package/src/blobs/index.ts +0 -6
  80. package/src/blobs/migrate.ts +0 -67
  81. package/src/blobs/types.ts +0 -84
@@ -0,0 +1,32 @@
1
+ import type { Generated } from 'kysely';
2
+ export interface SyncBlobCacheTable {
3
+ hash: string;
4
+ size: number;
5
+ mime_type: string;
6
+ body: Uint8Array;
7
+ encrypted: number;
8
+ key_id: string | null;
9
+ cached_at: number;
10
+ last_accessed_at: number;
11
+ }
12
+ type BlobUploadStatus = 'pending' | 'uploading' | 'uploaded' | 'confirming' | 'complete' | 'failed';
13
+ export interface SyncBlobOutboxTable {
14
+ id: Generated<number>;
15
+ hash: string;
16
+ size: number;
17
+ mime_type: string;
18
+ body: Uint8Array;
19
+ encrypted: number;
20
+ key_id: string | null;
21
+ status: BlobUploadStatus;
22
+ attempt_count: number;
23
+ error: string | null;
24
+ created_at: number;
25
+ updated_at: number;
26
+ }
27
+ export interface SyncInternalBlobClientDb {
28
+ sync_blob_cache: SyncBlobCacheTable;
29
+ sync_blob_outbox: SyncBlobOutboxTable;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=blob-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-schema.d.ts","sourceRoot":"","sources":["../../src/internal/blob-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,gBAAgB,GACjB,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,kBAAkB,CAAC;IACpC,gBAAgB,EAAE,mBAAmB,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=blob-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-schema.js","sourceRoot":"","sources":["../../src/internal/blob-schema.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
package/dist/mutations.js CHANGED
@@ -680,16 +680,25 @@ export function createPushCommit(config) {
680
680
  const combined = await config.transport.sync({
681
681
  clientId: requestToSend.clientId,
682
682
  push: {
683
- clientCommitId: requestToSend.clientCommitId,
684
- operations: requestToSend.operations,
685
- schemaVersion: requestToSend.schemaVersion,
683
+ commits: [
684
+ {
685
+ clientCommitId: requestToSend.clientCommitId,
686
+ operations: requestToSend.operations,
687
+ schemaVersion: requestToSend.schemaVersion,
688
+ },
689
+ ],
686
690
  },
687
691
  });
688
- if (!combined.push) {
692
+ const rawResponse = combined.push?.commits.find((commit) => commit.clientCommitId === requestToSend.clientCommitId);
693
+ if (!rawResponse) {
689
694
  throw new Error('Server returned no push response');
690
695
  }
691
- const rawResponse = combined.push;
692
- let response = rawResponse;
696
+ let response = {
697
+ ok: true,
698
+ status: rawResponse.status,
699
+ commitSeq: rawResponse.commitSeq,
700
+ results: rawResponse.results,
701
+ };
693
702
  if (sortedPlugins.length > 0) {
694
703
  // Run afterPush in reverse priority order (higher numbers first)
695
704
  for (const plugin of [...sortedPlugins].reverse()) {
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAsH/C,SAAS,eAAe,CACtB,OAAgC,EAChC,IAAwB,EACC;IACzB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAAA,CAChC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAiB;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,CAAC,CAAC;AAAA,CACV;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,GAAW,EAAW;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAAA,CAChC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAQ;IAC9C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,sDAAsD,CACnF,CAAC;IACJ,CAAC;AAAA,CACF;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAQ;IAChD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,uDAAuD,CACtF,CAAC;IACJ,CAAC;AAAA,CACF;AAED,KAAK,UAAU,eAAe,CAAI,IAMjC,EAA0B;IACzB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAgB;aAC1B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;WAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;;GAExD,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,CAC1C;AAED,KAAK,UAAU,aAAa,CAC1B,GAAmB,EACnB,KAAa,EACb,MAA2D,EAC5C;IACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,GAAG,CAAA;kBACO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAClE,GAAG,CAAC,IAAI,CACf,IAAI,CAAC,GAAG,CACN,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CACzE,CACF;GACF,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAAA,CAChB;AAED,KAAK,UAAU,aAAa,CAC1B,GAAmB,EACnB,KAAa,EACb,QAAgB,EAChB,EAAU,EACV,MAA+B,EAChB;IACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAA;oBACR,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;;GAE3C,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEf,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,+CAA+C;QAC/C,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;AAAA,CACF;AAED,KAAK,UAAU,aAAa,CAC1B,GAAmB,EACnB,KAAa,EACb,QAAgB,EAChB,EAAU,EACV,MAA+B,EAChB;IACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC5D,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IAAA,CACjD,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,MAAM,GAAG,CAAA;aACE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;UACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;GAC3C,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAAA,CAChB;AAED,KAAK,UAAU,aAAa,CAC1B,GAAmB,EACnB,KAAa,EACb,QAAgB,EAChB,EAAU,EACK;IACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,GAAG,CAAA;kBACO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;GAC3C,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAAA,CAChB;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAkD,EACjB;IACjC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAe,CAAC;IAE9C,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,KAAK,EACZ,EAA2C,EAC3C,OAAuB,EACvB,EAAE,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAAA,CACpC;QACD,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,QAAQ,GAA6B;gBACzC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;oBACnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACtC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9C,CAAC;oBACF,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;gBAAA,CACnC;gBACD,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;oBACrB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACtC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAChD,CAAC;oBACF,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBAAA,CACpC;gBACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC7C,MAAM,EAAE,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACzC,OAAO,IAAI,CAAC;oBAAA,CACb,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBAAA,CAChB;gBACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;oBACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC7C,MAAM,EAAE,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBAClC,OAAO,IAAI,CAAC;oBAAA,CACb,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBAAA,CAChB;gBACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC7C,MAAM,EAAE,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACzC,OAAO,IAAI,CAAC;oBAAA,CACb,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBAAA,CAChB;aACF,CAAC;YAEF,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,OAAO,QAAQ,CAAC;QAAA,CACjB;KACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE;YAChB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAQ,MAAkC,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAA,CAC5B;KACF,CAAoC,CAAC;AAAA,CACvC;AAcD,MAAM,UAAU,kBAAkB,CAChC,MAA8B,EACsB;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC;IACrD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,aAAa,GAA4B;QAC7C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;KACvC,CAAC;IAEF,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,cAAc,GAIf,EAAE,CAAC;QAER,MAAM,uBAAuB,GAAG,KAAK,EACnC,SAAwB,EACA,EAAE,CAAC;YAC3B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEjD,MAAM,WAAW,GAAG,MAAM,mCAAmC,CAAC;gBAC5D,OAAO,EAAE,aAAa;gBACtB,GAAG,EAAE,aAAa;gBAClB,UAAU,EAAE,CAAC,SAAS,CAAC;aACxB,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YACpC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;YACJ,CAAC;YACD,IACE,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK;gBACvC,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;gBACzC,aAAa,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EACjC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;YACJ,CAAC;YAED,OAAO,aAAa,CAAC;QAAA,CACtB,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;aACxC,WAAW,EAAE;aACb,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;YAC5C,MAAM,kBAAkB,GAAG,+BAA+B,CACxD,MAAM,CAAC,MAAM,EACb,EAAE,OAAO,EAAE,YAAY,EAAE,CAC1B,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAE1B,MAAM,QAAQ,GAA+B;oBAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;wBACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC5B,MAAM,EAAE,GACN,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAE1D,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE;4BACnC,IAAI,EAAE;gCACJ,QAAQ;gCACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCACzC,GAAG,WAAW;6BACf;yBACF,CAAC,CAAC;wBACH,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,EAAE;4BAC1C,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBAC5D,CAAC,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;4BAC5C,KAAK;4BACL,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,cAAc;4BACvB,YAAY,EAAE,IAAI;yBACnB,CAAC,CAAC;wBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC5C,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,QAAQ,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;wBACrD,MAAM,KAAK,GAAG,kBAAkB,CAC9B,QAAQ,EACR,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACnC,YAAY,CACb,CAAC;wBAEF,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;wBAEvC,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO;4BACP,YAAY,EAAE,IAAI;yBACnB,CAAC,CAAC;wBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACxD,OAAO,EAAE,CAAC;oBAAA,CACX;oBAED,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;wBACrB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;wBAC1D,CAAC;wBACD,MAAM,GAAG,GAAa,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAA8B,EAAE,CAAC;wBAC/C,MAAM,aAAa,GAA8B,EAAE,CAAC;wBAEpD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;4BAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC5B,MAAM,EAAE,GACN,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACb,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC5C,CAAC;wBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;4BACzB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;4BACnB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE;gCACnC,IAAI,EAAE;oCACJ,QAAQ;oCACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oCACzC,GAAG,WAAW;iCACf;6BACF,CAAC,CAAC;4BACH,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,EAAE;gCAC1C,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BAC5D,CAAC,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;gCAC5C,KAAK;gCACL,MAAM,EAAE,EAAE;gCACV,EAAE,EAAE,QAAQ;gCACZ,OAAO,EAAE,cAAc;gCACvB,YAAY,EAAE,IAAI;6BACnB,CAAC,CAAC;4BACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC5C,CAAC,CAAC,OAAO,CAAC,OAAO;gCACjB,CAAC,CAAC,EAAE,CAAC;4BACP,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BAExD,UAAU,CAAC,IAAI,CAAC;gCACd,KAAK,EAAE,KAAK;gCACZ,MAAM,EAAE,EAAE;gCACV,EAAE,EAAE,QAAQ;gCACZ,OAAO;gCACP,YAAY,EAAE,IAAI;6BACnB,CAAC,CAAC;4BAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC1D,CAAC;wBAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,kBAAkB,CAChB,GAAG,EACH,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAC9B,YAAY,CACb,CACF,CAAC;wBAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtB,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC1C,CAAC;wBAED,OAAO,GAAG,CAAC;oBAAA,CACZ;oBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE;4BAC1C,IAAI,EAAE;gCACJ,QAAQ;gCACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCACzC,GAAG,WAAW;6BACf;yBACF,CAAC,CAAC;wBACH,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE;4BAC/C,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBAC5D,CAAC,CAAC;wBAEH,MAAM,sBAAsB,GAC1B,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBACxC,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;4BAC5C,KAAK;4BACL,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,cAAc;4BACvB,YAAY,EAAE,IAAI;yBACnB,CAAC,CAAC;wBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC5C,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,OAAO,GAAG,kBAAkB,CAChC,YAAY,EACZ,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EACvC,YAAY,CACb,CAAC;wBAEF,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;wBAEvD,MAAM,WAAW,GAAG,sBAAsB;4BACxC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,IAAI,IAAI,CAAC;4BAC7B,CAAC,CAAC,aAAa;gCACb,CAAC,CAAC,MAAM,eAAe,CAAC;oCACpB,GAAG,EAAE,GAAG;oCACR,KAAK;oCACL,KAAK,EAAE,EAAE;oCACT,QAAQ;oCACR,aAAa;iCACd,CAAC;gCACJ,CAAC,CAAC,IAAI,CAAC;wBAEX,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,SAAS;4BAClB,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;yBAC7C,CAAC,CAAC;wBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAAA,CACzD;oBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;wBACrB,MAAM,sBAAsB,GAC1B,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBACxC,MAAM,WAAW,GAAG,sBAAsB;4BACxC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,IAAI,IAAI,CAAC;4BAC7B,CAAC,CAAC,aAAa;gCACb,CAAC,CAAC,MAAM,eAAe,CAAC;oCACpB,GAAG,EAAE,GAAG;oCACR,KAAK;oCACL,KAAK,EAAE,EAAE;oCACT,QAAQ;oCACR,aAAa;iCACd,CAAC;gCACJ,CAAC,CAAC,IAAI,CAAC;wBAEX,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAE9C,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;yBAC7C,CAAC,CAAC;wBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAAA,CACzD;oBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE;4BAC1C,IAAI,EAAE;gCACJ,QAAQ;gCACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCACzC,GAAG,WAAW;6BACf;yBACF,CAAC,CAAC;wBACH,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE;4BAC/C,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBAC5D,CAAC,CAAC;wBAEH,MAAM,sBAAsB,GAC1B,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBACxC,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;4BAC5C,KAAK;4BACL,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,cAAc;4BACvB,YAAY,EAAE,IAAI;yBACnB,CAAC,CAAC;wBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC5C,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,OAAO,GAAG,kBAAkB,CAChC,YAAY,EACZ,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EACvC,YAAY,CACb,CAAC;wBAEF,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;wBAEvD,MAAM,WAAW,GAAG,sBAAsB;4BACxC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,IAAI,IAAI,CAAC;4BAC7B,CAAC,CAAC,aAAa;gCACb,CAAC,CAAC,MAAM,eAAe,CAAC;oCACpB,GAAG,EAAE,GAAG;oCACR,KAAK;oCACL,KAAK,EAAE,EAAE;oCACT,QAAQ;oCACR,aAAa;iCACd,CAAC;gCACJ,CAAC,CAAC,IAAI,CAAC;wBAEX,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO,EAAE,SAAS;4BAClB,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;yBAC7C,CAAC,CAAC;wBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAAA,CACzD;iBACF,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClC,OAAO,QAAQ,CAAC;YAAA,CACjB,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,KAAK,CACvB,EAAE,EACF;gBACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;oBACjB,IAAI,IAAI,KAAK,MAAM;wBAAE,OAAO,SAAS,CAAC;oBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,OAAO,SAAS,CAAC;oBAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACxB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAAA,CAC1B;aACF,CACiB,CAAC;YAErB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,gDAAgD;YAChD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/D,OAAO;gBACL,MAAM;gBACN,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;aACpE,CAAC;QAAA,CACH,CAAC,CAAC;QAEL,OAAO;YACL,MAAM;YACN,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;YACzE,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE;SACrC,CAAC;IAAA,CACH,CAAC;AAAA,CACH;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA8B,EACD;IAC7B,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAAA,CACvD;AAoBD,SAAS,gBAAgB,CAAC,OAAwB,EAAmB;IACnE,IAAI,OAAO,eAAe,KAAK,UAAU;QAAE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAoB,CAAC;AAAA,CAC/D;AAED,SAAS,sBAAsB,CAC7B,IAAiC,EACJ;IAC7B,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAgC,CAAC;AAAA,CACxE;AAED,SAAS,WAAW,CAAC,OAAoC,EAAsB;IAC7E,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;AAAA,CAC7E;AAED,KAAK,UAAU,mCAAmC,CAAC,IAIlD,EAA4B;IAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,eAAe,GAAgC,sBAAsB,CAAC;QACxE,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,yBAAyB;YAAE,SAAS;QAChD,eAAe,GAAG,MAAM,MAAM,CAAC,yBAAyB,CACtD,IAAI,CAAC,GAAG,EACR,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC,UAAU,CAAC;AAAA,CACnC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EAC0B;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,cAAc,GAIf,EAAE,CAAC;QAER,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAC5C,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,QAAQ,GAA+B;gBAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;oBACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAEnE,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAA6B,CAAC;oBAElE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE;wBACnC,IAAI,EAAE;4BACJ,QAAQ;4BACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzC,GAAG,WAAW;yBACf;qBACF,CAAC,CAAC;oBAEH,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAE;wBACV,EAAE,EAAE,QAAQ;wBACZ,OAAO;wBACP,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAC;oBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,OAAO,EAAE,CAAC;gBAAA,CACX;gBAED,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;oBACrB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;oBACD,MAAM,GAAG,GAAa,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAA8B,EAAE,CAAC;oBAE/C,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;wBAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC5B,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACnE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC5C,CAAC;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;wBACzB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;wBACnB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE;4BACnC,IAAI,EAAE;gCACJ,QAAQ;gCACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCACzC,GAAG,WAAW;6BACf;yBACF,CAAC,CAAC;wBAEH,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;4BACV,EAAE,EAAE,QAAQ;4BACZ,OAAO;4BACP,YAAY,EAAE,IAAI;yBACnB,CAAC,CAAC;wBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1D,CAAC;oBAED,OAAO,GAAG,CAAC;gBAAA,CACZ;gBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE;wBAC1C,IAAI,EAAE;4BACJ,QAAQ;4BACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzC,GAAG,WAAW;yBACf;qBACF,CAAC,CAAC;oBAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBACrE,MAAM,WAAW,GAAG,sBAAsB;wBACxC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,IAAI,IAAI,CAAC;wBAC7B,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe;4BACvC,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;gCAC3B,KAAK;gCACL,KAAK,EAAE,EAAE;gCACT,QAAQ;gCACR,aAAa;6BACd,CAAC;4BACJ,CAAC,CAAC,IAAI,CAAC;oBAEX,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAE;wBACV,EAAE,EAAE,QAAQ;wBACZ,OAAO,EAAE,SAAS;wBAClB,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;qBAC7C,CAAC,CAAC;oBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAAA,CACzD;gBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;oBACrB,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBACrE,MAAM,WAAW,GAAG,sBAAsB;wBACxC,CAAC,CAAC,CAAC,IAAK,CAAC,WAAW,IAAI,IAAI,CAAC;wBAC7B,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe;4BACvC,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;gCAC3B,KAAK;gCACL,KAAK,EAAE,EAAE;gCACT,QAAQ;gCACR,aAAa;6BACd,CAAC;4BACJ,CAAC,CAAC,IAAI,CAAC;oBAEX,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAE;wBACV,EAAE,EAAE,QAAQ;wBACZ,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;qBAC7C,CAAC,CAAC;oBAEH,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAAA,CACzD;gBAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAAA,CACxC;aACF,CAAC;YAEF,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC;QAAA,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,KAAK,CACvB,EAAE,EACF;YACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;gBACjB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAC;gBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;YAAA,CAC1B;SACF,CACiB,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC;QAElC,MAAM,OAAO,GAAoB;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc;YACd,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;SACzC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,GAA4B;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,IAAI,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU;oBAAE,SAAS;gBACjC,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3C,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,IAAI,EAAE;gBACJ,cAAc,EAAE,aAAa,CAAC,cAAc;gBAC5C,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,aAAa,EAAE,aAAa,CAAC,aAAa;aAC3C;SACF,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,iEAAiE;YACjE,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,SAAS;gBAChC,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;oBACrC,OAAO,EAAE,aAAa;oBACtB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC,MAAM,CAAC;YACT,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAC5B,CAAC,MAAM,CAAC;YACT,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,eAAe,UAAU,UAAU,CACnE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE;YACrC,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE;SAC/C,CAAC;IAAA,CACH,CAAC;AAAA,CACH;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAwB,EACK;IAC7B,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAAA,CACrD"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"incrementing-version.d.ts","sourceRoot":"","sources":["../../src/plugins/incrementing-version.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AAEzE,eAAO,MAAM,gCAAgC,yBAAyB,CAAC;AAEvE,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,gBAAgB,CA0ElB"}
1
+ {"version":3,"file":"incrementing-version.d.ts","sourceRoot":"","sources":["../../src/plugins/incrementing-version.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AAEzE,eAAO,MAAM,gCAAgC,yBAAyB,CAAC;AAEvE,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,gBAAgB,CAuGlB"}
@@ -39,17 +39,29 @@ export function createIncrementingVersionPlugin(options = {}) {
39
39
  kind: INCREMENTING_VERSION_PLUGIN_KIND,
40
40
  name,
41
41
  beforePush(_ctx, request) {
42
+ const nextExpectedBaseVersionByRowForRequest = new Map();
42
43
  const operations = request.operations.map((op) => {
43
- if (typeof op.base_version !== 'number')
44
- return op;
45
44
  const key = makeRowKey(op);
46
- const nextExpected = nextExpectedBaseVersionByRow.get(key);
47
- if (typeof nextExpected !== 'number')
48
- return op;
49
- if (nextExpected > op.base_version) {
50
- return { ...op, base_version: nextExpected };
45
+ const nextExpected = nextExpectedBaseVersionByRowForRequest.get(key) ??
46
+ nextExpectedBaseVersionByRow.get(key);
47
+ const baseVersion = typeof op.base_version === 'number' &&
48
+ typeof nextExpected === 'number' &&
49
+ nextExpected > op.base_version
50
+ ? nextExpected
51
+ : op.base_version;
52
+ const rewrittenOperation = baseVersion === op.base_version
53
+ ? op
54
+ : { ...op, base_version: baseVersion };
55
+ if (op.op === 'delete') {
56
+ nextExpectedBaseVersionByRowForRequest.delete(key);
57
+ return rewrittenOperation;
58
+ }
59
+ if (typeof baseVersion === 'number') {
60
+ touchLru(nextExpectedBaseVersionByRowForRequest, key, baseVersion + 1, maxTrackedRows);
61
+ return rewrittenOperation;
51
62
  }
52
- return op;
63
+ touchLru(nextExpectedBaseVersionByRowForRequest, key, 1, maxTrackedRows);
64
+ return rewrittenOperation;
53
65
  });
54
66
  return { ...request, operations };
55
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"incrementing-version.js","sourceRoot":"","sources":["../../src/plugins/incrementing-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incrementing-version.js","sourceRoot":"","sources":["../../src/plugins/incrementing-version.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
- import type { SyncChange, SyncOperation, SyncPullRequest, SyncPullResponse, SyncPushRequest, SyncPushResponse } from '@syncular/core';
1
+ import type { SyncChange, SyncOperation, SyncPullRequest, SyncPullResponse, SyncPushRequest, SyncPushResponse, SyncTransport } from '@syncular/core';
2
+ import type { Kysely } from 'kysely';
3
+ import type { SyncClientDb } from '../schema';
2
4
  export interface SyncClientPluginContext {
3
5
  actorId: string;
4
6
  clientId: string;
5
7
  }
8
+ export interface SyncClientFeatureRegistry {
9
+ [key: string]: unknown;
10
+ }
11
+ export interface SyncClientPluginLifecycleContext<DB extends SyncClientDb = SyncClientDb> extends SyncClientPluginContext {
12
+ db: Kysely<DB>;
13
+ transport: SyncTransport;
14
+ defineFeature<Name extends keyof SyncClientFeatureRegistry & string>(name: Name, value: SyncClientFeatureRegistry[Name]): void;
15
+ emit(event: string, payload: object): void;
16
+ }
6
17
  export interface SyncClientWsDeliveryMetadata {
7
18
  commitSeq?: number;
8
19
  actorId?: string | null;
@@ -41,6 +52,20 @@ export interface SyncClientPlugin {
41
52
  * @default PluginPriority.DEFAULT (50)
42
53
  */
43
54
  priority?: number;
55
+ /**
56
+ * Called during client construction to attach optional feature APIs.
57
+ * Use this for capability plugins that extend the client surface.
58
+ */
59
+ setup?<DB extends SyncClientDb = SyncClientDb>(ctx: SyncClientPluginLifecycleContext<DB>): void;
60
+ /**
61
+ * Called during client start after core sync migrations succeed.
62
+ * Use this for plugin-owned local schema.
63
+ */
64
+ migrate?<DB extends SyncClientDb = SyncClientDb>(ctx: SyncClientPluginLifecycleContext<DB>): Promise<void> | void;
65
+ /**
66
+ * Called during client destroy for plugin cleanup.
67
+ */
68
+ destroy?<DB extends SyncClientDb = SyncClientDb>(ctx: SyncClientPluginLifecycleContext<DB>): void;
44
69
  /**
45
70
  * Called before sending a push request to the server.
46
71
  * Use this for client-side encryption, payload shaping, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,uDAAuD;;IAEvD,mEAAmE;;IAEnE,2CAA2C;;IAE3C,wCAAwC;;CAEhC,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,CACT,GAAG,EAAE,uBAAuB,EAC5B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAE9C;;;;OAIG;IACH,yBAAyB,CAAC,CACxB,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IAEtE;;;OAGG;IACH,SAAS,CAAC,CACR,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAC7D,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAEhD;;;OAGG;IACH,SAAS,CAAC,CACR,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAC7D,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAEhD;;;;OAIG;IACH,oBAAoB,CAAC,CACnB,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;CACjE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,uDAAuD;IACvD,WAAW,EAAE,EAAE;IACf,mEAAmE;IACnE,UAAU,EAAE,EAAE;IACd,2CAA2C;IAC3C,OAAO,EAAE,EAAE;IACX,wCAAwC;IACxC,SAAS,EAAE,GAAG;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAiDA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,uDAAuD;IACvD,WAAW,EAAE,EAAE;IACf,mEAAmE;IACnE,UAAU,EAAE,EAAE;IACd,2CAA2C;IAC3C,OAAO,EAAE,EAAE;IACX,wCAAwC;IACxC,SAAS,EAAE,GAAG;CACN,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @syncular/client - Sync pull engine
3
3
  */
4
- import type { SyncPullRequest, SyncPullResponse, SyncSubscriptionRequest, SyncTransport } from '@syncular/core';
5
- import { type Kysely } from 'kysely';
4
+ import type { SyncChange, SyncPullRequest, SyncPullResponse, SyncSubscriptionRequest, SyncTransport } from '@syncular/core';
5
+ import { type Kysely, type Transaction } from 'kysely';
6
6
  import { type ClientHandlerCollection } from './handlers/collection';
7
7
  import type { SyncClientPlugin } from './plugins/types';
8
8
  import type { SyncClientDb, SyncSubscriptionStateTable } from './schema';
@@ -39,6 +39,12 @@ export interface SyncPullRequestState {
39
39
  */
40
40
  export declare function buildPullRequest<DB extends SyncClientDb>(db: Kysely<DB>, options: SyncPullOnceOptions): Promise<SyncPullRequestState>;
41
41
  export declare function createFollowupPullState(pullState: SyncPullRequestState, response: SyncPullResponse): SyncPullRequestState;
42
+ export declare function applyIncrementalCommitChanges<DB extends SyncClientDb>(handlers: ClientHandlerCollection<DB>, trx: Transaction<DB>, args: {
43
+ changes: SyncChange[];
44
+ commitSeq?: number | null;
45
+ actorId?: string | null;
46
+ createdAt?: string | null;
47
+ }): Promise<void>;
42
48
  /**
43
49
  * Apply a pull response (run plugins + write to local DB).
44
50
  * Exported for use by the combined sync path in sync-loop.ts.
@@ -1 +1 @@
1
- {"version":3,"file":"pull-engine.d.ts","sourceRoot":"","sources":["../src/pull-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,EAGhB,uBAAuB,EACvB,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,MAAM,EAAyB,MAAM,QAAQ,CAAC;AAC5D,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AA8hBzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAC5D,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,gBAAgB,GACzB,oBAAoB,CA2DtB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,YAAY,EAC7D,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAiQ3B;AAED,wBAAsB,YAAY,CAAC,EAAE,SAAS,YAAY,EACxD,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,mBAAmB,EAC5B,iBAAiB,CAAC,EAAE,oBAAoB,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAe3B"}
1
+ {"version":3,"file":"pull-engine.d.ts","sourceRoot":"","sources":["../src/pull-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EACf,gBAAgB,EAGhB,uBAAuB,EACvB,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,MAAM,EAAO,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AA4oBzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAC5D,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,gBAAgB,GACzB,oBAAoB,CA2DtB;AAED,wBAAsB,6BAA6B,CAAC,EAAE,SAAS,YAAY,EACzE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC,EACrC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,EACpB,IAAI,EAAE;IACJ,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,YAAY,EAC7D,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyQ3B;AAED,wBAAsB,YAAY,CAAC,EAAE,SAAS,YAAY,EACxD,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EACd,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,mBAAmB,EAC5B,iBAAiB,CAAC,EAAE,oBAAoB,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAe3B"}
@@ -252,17 +252,17 @@ async function readAllBytesFromStream(stream) {
252
252
  async function materializeSnapshotChunkRows(transport, request, expectedHash, sha256Override) {
253
253
  const rawStream = await fetchSnapshotChunkStream(transport, request);
254
254
  const decodedStream = await maybeGunzipStream(rawStream);
255
- let rowStream = decodedStream;
255
+ let streamForDecode = decodedStream;
256
256
  let chunkHashPromise = null;
257
257
  if (expectedHash) {
258
- const [hashStream, streamForRows] = decodedStream.tee();
259
- rowStream = streamForRows;
258
+ const [hashStream, decodeStream] = decodedStream.tee();
259
+ streamForDecode = decodeStream;
260
260
  chunkHashPromise = readAllBytesFromStream(hashStream).then((bytes) => computeSha256Hex(bytes, sha256Override));
261
261
  }
262
262
  const rows = [];
263
263
  let materializeError = null;
264
264
  try {
265
- for await (const batch of decodeSnapshotRowStreamBatches(rowStream, SNAPSHOT_APPLY_BATCH_ROWS)) {
265
+ for await (const batch of decodeSnapshotRowStreamBatches(streamForDecode, SNAPSHOT_APPLY_BATCH_ROWS)) {
266
266
  rows.push(...batch);
267
267
  }
268
268
  }
@@ -338,14 +338,14 @@ async function applyChunkedSnapshot(transport, handler, trx, snapshot, scopeValu
338
338
  scopeValues,
339
339
  });
340
340
  const decodedStream = await maybeGunzipStream(rawStream);
341
- let applyStream = decodedStream;
341
+ let streamForDecode = decodedStream;
342
342
  let chunkHashPromise = null;
343
343
  if (chunk.sha256) {
344
- const [hashStream, streamForApply] = decodedStream.tee();
345
- applyStream = streamForApply;
344
+ const [hashStream, decodeStream] = decodedStream.tee();
345
+ streamForDecode = decodeStream;
346
346
  chunkHashPromise = readAllBytesFromStream(hashStream).then((bytes) => computeSha256Hex(bytes, sha256Override));
347
347
  }
348
- const rowBatchIterator = decodeSnapshotRowStreamBatches(applyStream, SNAPSHOT_APPLY_BATCH_ROWS);
348
+ const rowBatchIterator = decodeSnapshotRowStreamBatches(streamForDecode, SNAPSHOT_APPLY_BATCH_ROWS);
349
349
  let pendingBatch = null;
350
350
  let applyError = null;
351
351
  try {
@@ -423,6 +423,92 @@ function parseBootstrapState(value) {
423
423
  return null;
424
424
  }
425
425
  }
426
+ function parseScopeValuesJson(value) {
427
+ if (!value)
428
+ return {};
429
+ try {
430
+ const parsed = typeof value === 'string' ? JSON.parse(value) : value;
431
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
432
+ return {};
433
+ }
434
+ const result = {};
435
+ for (const [key, raw] of Object.entries(parsed)) {
436
+ if (typeof raw === 'string') {
437
+ result[key] = raw;
438
+ continue;
439
+ }
440
+ if (Array.isArray(raw) &&
441
+ raw.every((entry) => typeof entry === 'string')) {
442
+ result[key] = raw;
443
+ }
444
+ }
445
+ return result;
446
+ }
447
+ catch {
448
+ return {};
449
+ }
450
+ }
451
+ function normalizeScopeValuesForCompare(scopes) {
452
+ const normalized = Object.entries(scopes)
453
+ .sort(([left], [right]) => left.localeCompare(right))
454
+ .map(([key, raw]) => [
455
+ key,
456
+ Array.isArray(raw) ? [...raw].sort((a, b) => a.localeCompare(b)) : [raw],
457
+ ]);
458
+ return JSON.stringify(normalized);
459
+ }
460
+ function scopeValuesEqual(left, right) {
461
+ return (normalizeScopeValuesForCompare(left) ===
462
+ normalizeScopeValuesForCompare(right));
463
+ }
464
+ function toScopeArray(value) {
465
+ return Array.isArray(value) ? value : [value];
466
+ }
467
+ function toScopeValue(values) {
468
+ return values.length === 1 ? values[0] : values;
469
+ }
470
+ function resolveBootstrapClearScopes(previous, next) {
471
+ const previousKeys = Object.keys(previous).sort();
472
+ const nextKeys = Object.keys(next).sort();
473
+ for (const nextKey of nextKeys) {
474
+ if (!previousKeys.includes(nextKey)) {
475
+ return null;
476
+ }
477
+ }
478
+ let changedKey = null;
479
+ const narrowed = {};
480
+ for (const key of previousKeys) {
481
+ const previousRaw = previous[key];
482
+ if (!previousRaw)
483
+ continue;
484
+ const previousValues = toScopeArray(previousRaw);
485
+ const nextRaw = next[key];
486
+ const nextValues = nextRaw ? toScopeArray(nextRaw) : [];
487
+ const previousSet = new Set(previousValues);
488
+ const nextSet = new Set(nextValues);
489
+ const removedValues = previousValues.filter((value) => !nextSet.has(value));
490
+ const addedValues = nextValues.filter((value) => !previousSet.has(value));
491
+ if (removedValues.length === 0 && addedValues.length === 0) {
492
+ narrowed[key] = previousRaw;
493
+ continue;
494
+ }
495
+ if (addedValues.length > 0) {
496
+ return null;
497
+ }
498
+ if (changedKey !== null) {
499
+ return null;
500
+ }
501
+ changedKey = key;
502
+ if (removedValues.length === 0) {
503
+ return 'none';
504
+ }
505
+ narrowed[key] = toScopeValue(removedValues);
506
+ }
507
+ if (changedKey === null) {
508
+ return 'none';
509
+ }
510
+ return narrowed;
511
+ }
426
512
  /**
427
513
  * Build a pull request from subscription state. Exported for use
428
514
  * by the combined sync path in sync-loop.ts.
@@ -517,6 +603,37 @@ export function createFollowupPullState(pullState, response) {
517
603
  stateId: pullState.stateId,
518
604
  };
519
605
  }
606
+ export async function applyIncrementalCommitChanges(handlers, trx, args) {
607
+ const ctx = {
608
+ trx,
609
+ commitSeq: args.commitSeq ?? null,
610
+ actorId: args.actorId ?? null,
611
+ createdAt: args.createdAt ?? null,
612
+ };
613
+ for (let index = 0; index < args.changes.length;) {
614
+ const firstChange = args.changes[index];
615
+ if (!firstChange)
616
+ break;
617
+ const handler = getClientHandlerOrThrow(handlers, firstChange.table);
618
+ const contiguousTableChanges = [firstChange];
619
+ index += 1;
620
+ while (index < args.changes.length) {
621
+ const nextChange = args.changes[index];
622
+ if (!nextChange || nextChange.table !== firstChange.table) {
623
+ break;
624
+ }
625
+ contiguousTableChanges.push(nextChange);
626
+ index += 1;
627
+ }
628
+ if (handler.applyChanges && contiguousTableChanges.length > 1) {
629
+ await handler.applyChanges(ctx, contiguousTableChanges);
630
+ continue;
631
+ }
632
+ for (const change of contiguousTableChanges) {
633
+ await handler.applyChange(ctx, change);
634
+ }
635
+ }
636
+ }
520
637
  /**
521
638
  * Apply a pull response (run plugins + write to local DB).
522
639
  * Exported for use by the combined sync path in sync-loop.ts.
@@ -625,11 +742,7 @@ export async function applyPullResponse(db, transport, handlers, options, pullSt
625
742
  if (sub.status === 'revoked') {
626
743
  if (prev?.table) {
627
744
  try {
628
- const scopes = prev.scopes_json
629
- ? typeof prev.scopes_json === 'string'
630
- ? JSON.parse(prev.scopes_json)
631
- : prev.scopes_json
632
- : {};
745
+ const scopes = parseScopeValuesJson(prev.scopes_json);
633
746
  await getClientHandlerOrThrow(handlers, prev.table).clearAll({
634
747
  trx,
635
748
  scopes,
@@ -647,6 +760,23 @@ export async function applyPullResponse(db, transport, handlers, options, pullSt
647
760
  latestCursorBySubscriptionId.delete(sub.id);
648
761
  continue;
649
762
  }
763
+ const nextScopes = sub.scopes ?? def?.scopes ?? {};
764
+ const previousScopes = parseScopeValuesJson(prev?.scopes_json);
765
+ const scopesChanged = !scopeValuesEqual(previousScopes, nextScopes);
766
+ if (sub.bootstrap && prev?.table && scopesChanged) {
767
+ try {
768
+ const clearScopes = resolveBootstrapClearScopes(previousScopes, nextScopes);
769
+ if (clearScopes !== 'none') {
770
+ await getClientHandlerOrThrow(handlers, prev.table).clearAll({
771
+ trx,
772
+ scopes: clearScopes ?? previousScopes,
773
+ });
774
+ }
775
+ }
776
+ catch {
777
+ // ignore missing handler
778
+ }
779
+ }
650
780
  // Apply snapshots (bootstrap mode)
651
781
  if (sub.bootstrap) {
652
782
  for (const snapshot of sub.snapshots ?? []) {
@@ -679,25 +809,19 @@ export async function applyPullResponse(db, transport, handlers, options, pullSt
679
809
  else {
680
810
  // Apply incremental changes
681
811
  for (const commit of sub.commits) {
682
- const commitSeq = commit.commitSeq ?? null;
683
- const actorId = commit.actorId ?? null;
684
- const createdAt = commit.createdAt ?? null;
685
- for (const change of commit.changes) {
686
- const handler = getClientHandlerOrThrow(handlers, change.table);
687
- await handler.applyChange({
688
- trx,
689
- commitSeq,
690
- actorId,
691
- createdAt,
692
- }, change);
693
- }
812
+ await applyIncrementalCommitChanges(handlers, trx, {
813
+ changes: commit.changes,
814
+ commitSeq: commit.commitSeq ?? null,
815
+ actorId: commit.actorId ?? null,
816
+ createdAt: commit.createdAt ?? null,
817
+ });
694
818
  }
695
819
  }
696
820
  // Persist subscription cursor + metadata.
697
821
  // Use cached JSON serialization to avoid repeated stringification
698
822
  const now = Date.now();
699
823
  const paramsJson = serializeJsonCached(def?.params ?? {});
700
- const scopesJson = serializeJsonCached(sub.scopes ?? def?.scopes ?? {});
824
+ const scopesJson = serializeJsonCached(nextScopes);
701
825
  const bootstrapStateJson = sub.bootstrap
702
826
  ? sub.bootstrapState
703
827
  ? serializeJsonCached(sub.bootstrapState)