cojson 0.20.9 → 0.20.10

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 (169) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +20 -0
  3. package/dist/PeerState.d.ts +2 -2
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +3 -3
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/StorageReconciliationAckTracker.d.ts +14 -0
  8. package/dist/StorageReconciliationAckTracker.d.ts.map +1 -0
  9. package/dist/StorageReconciliationAckTracker.js +72 -0
  10. package/dist/StorageReconciliationAckTracker.js.map +1 -0
  11. package/dist/SyncStateManager.js +2 -2
  12. package/dist/SyncStateManager.js.map +1 -1
  13. package/dist/coValueCore/coValueCore.d.ts +2 -1
  14. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  15. package/dist/coValueCore/coValueCore.js +43 -10
  16. package/dist/coValueCore/coValueCore.js.map +1 -1
  17. package/dist/coValues/coList.d.ts +2 -0
  18. package/dist/coValues/coList.d.ts.map +1 -1
  19. package/dist/coValues/coList.js +28 -0
  20. package/dist/coValues/coList.js.map +1 -1
  21. package/dist/coValues/group.d.ts +4 -1
  22. package/dist/coValues/group.d.ts.map +1 -1
  23. package/dist/coValues/group.js +15 -1
  24. package/dist/coValues/group.js.map +1 -1
  25. package/dist/config.d.ts +8 -0
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +14 -0
  28. package/dist/config.js.map +1 -1
  29. package/dist/exports.d.ts +9 -1
  30. package/dist/exports.d.ts.map +1 -1
  31. package/dist/exports.js +5 -1
  32. package/dist/exports.js.map +1 -1
  33. package/dist/localNode.d.ts +7 -3
  34. package/dist/localNode.d.ts.map +1 -1
  35. package/dist/localNode.js +13 -5
  36. package/dist/localNode.js.map +1 -1
  37. package/dist/permissions.d.ts +1 -0
  38. package/dist/permissions.d.ts.map +1 -1
  39. package/dist/queue/LinkedList.d.ts +2 -0
  40. package/dist/queue/LinkedList.d.ts.map +1 -1
  41. package/dist/queue/LinkedList.js +7 -0
  42. package/dist/queue/LinkedList.js.map +1 -1
  43. package/dist/queue/OutgoingLoadQueue.d.ts +4 -1
  44. package/dist/queue/OutgoingLoadQueue.d.ts.map +1 -1
  45. package/dist/queue/OutgoingLoadQueue.js +41 -13
  46. package/dist/queue/OutgoingLoadQueue.js.map +1 -1
  47. package/dist/queue/PriorityBasedMessageQueue.d.ts +1 -0
  48. package/dist/queue/PriorityBasedMessageQueue.d.ts.map +1 -1
  49. package/dist/queue/PriorityBasedMessageQueue.js +11 -1
  50. package/dist/queue/PriorityBasedMessageQueue.js.map +1 -1
  51. package/dist/storage/knownState.d.ts +2 -0
  52. package/dist/storage/knownState.d.ts.map +1 -1
  53. package/dist/storage/knownState.js +11 -0
  54. package/dist/storage/knownState.js.map +1 -1
  55. package/dist/storage/sqlite/client.d.ts +10 -1
  56. package/dist/storage/sqlite/client.d.ts.map +1 -1
  57. package/dist/storage/sqlite/client.js +84 -0
  58. package/dist/storage/sqlite/client.js.map +1 -1
  59. package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
  60. package/dist/storage/sqlite/sqliteMigrations.js +11 -0
  61. package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
  62. package/dist/storage/sqliteAsync/client.d.ts +10 -1
  63. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  64. package/dist/storage/sqliteAsync/client.js +86 -0
  65. package/dist/storage/sqliteAsync/client.js.map +1 -1
  66. package/dist/storage/storageAsync.d.ts +9 -2
  67. package/dist/storage/storageAsync.d.ts.map +1 -1
  68. package/dist/storage/storageAsync.js +19 -0
  69. package/dist/storage/storageAsync.js.map +1 -1
  70. package/dist/storage/storageSync.d.ts +9 -2
  71. package/dist/storage/storageSync.d.ts.map +1 -1
  72. package/dist/storage/storageSync.js +20 -13
  73. package/dist/storage/storageSync.js.map +1 -1
  74. package/dist/storage/types.d.ts +64 -0
  75. package/dist/storage/types.d.ts.map +1 -1
  76. package/dist/storage/types.js.map +1 -1
  77. package/dist/sync.d.ts +44 -2
  78. package/dist/sync.d.ts.map +1 -1
  79. package/dist/sync.js +268 -44
  80. package/dist/sync.js.map +1 -1
  81. package/dist/tests/OutgoingLoadQueue.test.js +137 -39
  82. package/dist/tests/OutgoingLoadQueue.test.js.map +1 -1
  83. package/dist/tests/SQLiteClientAsync.test.js +1 -1
  84. package/dist/tests/SQLiteClientAsync.test.js.map +1 -1
  85. package/dist/tests/StorageApiAsync.test.js +138 -0
  86. package/dist/tests/StorageApiAsync.test.js.map +1 -1
  87. package/dist/tests/StorageApiSync.test.js +154 -0
  88. package/dist/tests/StorageApiSync.test.js.map +1 -1
  89. package/dist/tests/StorageReconciliationAckTracker.test.d.ts +2 -0
  90. package/dist/tests/StorageReconciliationAckTracker.test.d.ts.map +1 -0
  91. package/dist/tests/StorageReconciliationAckTracker.test.js +74 -0
  92. package/dist/tests/StorageReconciliationAckTracker.test.js.map +1 -0
  93. package/dist/tests/SyncStateManager.test.js +18 -0
  94. package/dist/tests/SyncStateManager.test.js.map +1 -1
  95. package/dist/tests/coList.test.js +112 -1
  96. package/dist/tests/coList.test.js.map +1 -1
  97. package/dist/tests/coValueCore.loadFromStorage.test.js +36 -0
  98. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
  99. package/dist/tests/group.test.js +44 -0
  100. package/dist/tests/group.test.js.map +1 -1
  101. package/dist/tests/knownState.lazyLoading.test.js +6 -0
  102. package/dist/tests/knownState.lazyLoading.test.js.map +1 -1
  103. package/dist/tests/messagesTestUtils.d.ts.map +1 -1
  104. package/dist/tests/messagesTestUtils.js +4 -0
  105. package/dist/tests/messagesTestUtils.js.map +1 -1
  106. package/dist/tests/sync.concurrentLoad.test.js +333 -1
  107. package/dist/tests/sync.concurrentLoad.test.js.map +1 -1
  108. package/dist/tests/sync.garbageCollection.test.js +4 -0
  109. package/dist/tests/sync.garbageCollection.test.js.map +1 -1
  110. package/dist/tests/sync.load.test.js +19 -0
  111. package/dist/tests/sync.load.test.js.map +1 -1
  112. package/dist/tests/sync.mesh.test.js +1 -0
  113. package/dist/tests/sync.mesh.test.js.map +1 -1
  114. package/dist/tests/sync.multipleServers.test.js +41 -3
  115. package/dist/tests/sync.multipleServers.test.js.map +1 -1
  116. package/dist/tests/sync.storage.test.js +2 -0
  117. package/dist/tests/sync.storage.test.js.map +1 -1
  118. package/dist/tests/sync.storageAsync.test.js +1 -0
  119. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  120. package/dist/tests/sync.storageReconciliation.test.d.ts +2 -0
  121. package/dist/tests/sync.storageReconciliation.test.d.ts.map +1 -0
  122. package/dist/tests/sync.storageReconciliation.test.js +501 -0
  123. package/dist/tests/sync.storageReconciliation.test.js.map +1 -0
  124. package/dist/tests/testUtils.d.ts +1 -0
  125. package/dist/tests/testUtils.d.ts.map +1 -1
  126. package/dist/tests/testUtils.js +3 -2
  127. package/dist/tests/testUtils.js.map +1 -1
  128. package/package.json +4 -4
  129. package/src/PeerState.ts +10 -3
  130. package/src/StorageReconciliationAckTracker.ts +83 -0
  131. package/src/SyncStateManager.ts +3 -3
  132. package/src/coValueCore/coValueCore.ts +47 -16
  133. package/src/coValues/coList.ts +23 -0
  134. package/src/coValues/group.ts +18 -0
  135. package/src/config.ts +18 -0
  136. package/src/exports.ts +8 -0
  137. package/src/localNode.ts +18 -0
  138. package/src/permissions.ts +1 -1
  139. package/src/queue/LinkedList.ts +10 -0
  140. package/src/queue/OutgoingLoadQueue.ts +57 -15
  141. package/src/queue/PriorityBasedMessageQueue.ts +15 -1
  142. package/src/storage/knownState.ts +14 -0
  143. package/src/storage/sqlite/client.ts +128 -0
  144. package/src/storage/sqlite/sqliteMigrations.ts +11 -0
  145. package/src/storage/sqliteAsync/client.ts +139 -0
  146. package/src/storage/storageAsync.ts +37 -0
  147. package/src/storage/storageSync.ts +41 -16
  148. package/src/storage/types.ts +110 -0
  149. package/src/sync.ts +311 -14
  150. package/src/tests/OutgoingLoadQueue.test.ts +226 -59
  151. package/src/tests/SQLiteClientAsync.test.ts +1 -1
  152. package/src/tests/StorageApiAsync.test.ts +161 -1
  153. package/src/tests/StorageApiSync.test.ts +176 -0
  154. package/src/tests/StorageReconciliationAckTracker.test.ts +99 -0
  155. package/src/tests/SyncStateManager.test.ts +25 -0
  156. package/src/tests/coList.test.ts +138 -0
  157. package/src/tests/coValueCore.loadFromStorage.test.ts +72 -1
  158. package/src/tests/group.test.ts +87 -0
  159. package/src/tests/knownState.lazyLoading.test.ts +36 -1
  160. package/src/tests/messagesTestUtils.ts +4 -0
  161. package/src/tests/sync.concurrentLoad.test.ts +491 -0
  162. package/src/tests/sync.garbageCollection.test.ts +4 -0
  163. package/src/tests/sync.load.test.ts +26 -0
  164. package/src/tests/sync.mesh.test.ts +1 -0
  165. package/src/tests/sync.multipleServers.test.ts +60 -2
  166. package/src/tests/sync.storage.test.ts +2 -0
  167. package/src/tests/sync.storageAsync.test.ts +1 -0
  168. package/src/tests/sync.storageReconciliation.test.ts +697 -0
  169. package/src/tests/testUtils.ts +10 -1
@@ -3,7 +3,7 @@ import type { Signature } from "../../crypto/crypto.js";
3
3
  import type { RawCoID, SessionID } from "../../exports.js";
4
4
  import type { CoValueKnownState } from "../../knownState.js";
5
5
  import type { PeerID } from "../../sync.js";
6
- import type { DBClientInterfaceSync, DBTransactionInterfaceSync, SessionRow, SignatureAfterRow, StoredCoValueRow, StoredSessionRow, TransactionRow } from "../types.js";
6
+ import type { DBClientInterfaceSync, DBTransactionInterfaceSync, SessionRow, SignatureAfterRow, StorageReconciliationLockRow, StoredCoValueRow, StoredSessionRow, TransactionRow, StorageReconciliationAcquireResult } from "../types.js";
7
7
  import type { SQLiteDatabaseDriver } from "./types.js";
8
8
  export type RawCoValueRow = {
9
9
  id: RawCoID;
@@ -37,7 +37,13 @@ export declare class SQLiteClient implements DBClientInterfaceSync, DBTransactio
37
37
  idx: number;
38
38
  signature: Signature;
39
39
  }): void;
40
+ getStorageReconciliationLock(key: string): StorageReconciliationLockRow | undefined;
41
+ putStorageReconciliationLock(entry: StorageReconciliationLockRow): void;
40
42
  transaction(operationsCallback: (tx: DBTransactionInterfaceSync) => unknown): undefined;
43
+ getCoValueIDs(limit: number, offset: number): {
44
+ id: RawCoID;
45
+ }[];
46
+ getCoValueCount(): number;
41
47
  getUnsyncedCoValueIDs(): RawCoID[];
42
48
  trackCoValuesSyncState(updates: {
43
49
  id: RawCoID;
@@ -45,6 +51,9 @@ export declare class SQLiteClient implements DBClientInterfaceSync, DBTransactio
45
51
  synced: boolean;
46
52
  }[]): void;
47
53
  stopTrackingSyncState(id: RawCoID): void;
54
+ tryAcquireStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): StorageReconciliationAcquireResult;
55
+ renewStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, offset: number): void;
56
+ releaseStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): void;
48
57
  getCoValueKnownState(coValueId: string): CoValueKnownState | undefined;
49
58
  }
50
59
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAMF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,YACX,YAAW,qBAAqB,EAAE,0BAA0B;IAE5D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;gBAE9B,EAAE,EAAE,oBAAoB;IAIpC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IA0B5D,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO5D,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,gBAAgB,GAAG,SAAS;IAO/B,0BAA0B,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,cAAc,EAAE;IAiBnB,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE;IAOtB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAQhD,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;IAmBtE,oBAAoB,CAAC,EAAE,EAAE,OAAO;IAShC,4BAA4B,CAAC,SAAS,EAAE,OAAO;IAoD/C,8BAA8B,IAAI,OAAO,EAAE;IAW3C,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,GAAG,MAAM;IAqB1E,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IAS7B,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KACtB;IAOD,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,0BAA0B,KAAK,OAAO;IAK3E,qBAAqB,IAAI,OAAO,EAAE;IAQlC,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,GAC1D,IAAI;IAgBP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CA6BvE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { logger } from "../../logger.js";
2
2
  import { DeletedCoValueDeletionStatus } from "../types.js";
3
+ import { STORAGE_RECONCILIATION_CONFIG } from "../../config.js";
3
4
  export function getErrorMessage(error) {
4
5
  return error instanceof Error ? error.message : "Unknown error";
5
6
  }
@@ -134,10 +135,30 @@ export class SQLiteClient {
134
135
  addSignatureAfter({ sessionRowID, idx, signature, }) {
135
136
  this.db.run("INSERT INTO signatureAfter (ses, idx, signature) VALUES (?, ?, ?)", [sessionRowID, idx, signature]);
136
137
  }
138
+ getStorageReconciliationLock(key) {
139
+ return this.db.get("SELECT * FROM storageReconciliationLocks WHERE key = ?", [key]);
140
+ }
141
+ putStorageReconciliationLock(entry) {
142
+ const { key, holderSessionId, acquiredAt, releasedAt, lastProcessedOffset, } = entry;
143
+ this.db.run(`INSERT OR REPLACE INTO storageReconciliationLocks (key, holderSessionId, acquiredAt, releasedAt, lastProcessedOffset) VALUES (?, ?, ?, ?, ?)`, [
144
+ key,
145
+ holderSessionId,
146
+ acquiredAt,
147
+ releasedAt ?? null,
148
+ lastProcessedOffset,
149
+ ]);
150
+ }
137
151
  transaction(operationsCallback) {
138
152
  this.db.transaction(() => operationsCallback(this));
139
153
  return undefined;
140
154
  }
155
+ getCoValueIDs(limit, offset) {
156
+ return this.db.query("SELECT id FROM coValues WHERE rowID > ? ORDER BY rowID LIMIT ?", [offset, limit]);
157
+ }
158
+ getCoValueCount() {
159
+ const row = this.db.get("SELECT COUNT(*) as count FROM coValues", []);
160
+ return row?.count ?? 0;
161
+ }
141
162
  getUnsyncedCoValueIDs() {
142
163
  const rows = this.db.query("SELECT DISTINCT co_value_id FROM unsynced_covalues", []);
143
164
  return rows.map((row) => row.co_value_id);
@@ -155,6 +176,69 @@ export class SQLiteClient {
155
176
  stopTrackingSyncState(id) {
156
177
  this.db.run("DELETE FROM unsynced_covalues WHERE co_value_id = ?", [id]);
157
178
  }
179
+ tryAcquireStorageReconciliationLock(sessionId, peerId) {
180
+ let result = {
181
+ acquired: false,
182
+ reason: "not_due",
183
+ };
184
+ this.transaction(() => {
185
+ const now = Date.now();
186
+ const lockKey = `lock#${peerId}`;
187
+ const lockRow = this.getStorageReconciliationLock(lockKey);
188
+ if (lockRow?.releasedAt &&
189
+ now - lockRow.releasedAt <
190
+ STORAGE_RECONCILIATION_CONFIG.RECONCILIATION_INTERVAL_MS) {
191
+ result = { acquired: false, reason: "not_due" };
192
+ return;
193
+ }
194
+ const expiresAt = lockRow
195
+ ? lockRow.acquiredAt + STORAGE_RECONCILIATION_CONFIG.LOCK_TTL_MS
196
+ : 0;
197
+ const isLockHeldByOtherSession = lockRow?.holderSessionId !== sessionId;
198
+ if (lockRow &&
199
+ !lockRow.releasedAt &&
200
+ expiresAt >= now &&
201
+ isLockHeldByOtherSession) {
202
+ result = { acquired: false, reason: "lock_held" };
203
+ return;
204
+ }
205
+ const lastProcessedOffset = lockRow && !lockRow.releasedAt ? (lockRow.lastProcessedOffset ?? 0) : 0;
206
+ this.putStorageReconciliationLock({
207
+ key: lockKey,
208
+ holderSessionId: sessionId,
209
+ acquiredAt: now,
210
+ lastProcessedOffset,
211
+ });
212
+ result = { acquired: true, lastProcessedOffset };
213
+ });
214
+ return result;
215
+ }
216
+ renewStorageReconciliationLock(sessionId, peerId, offset) {
217
+ const lockKey = `lock#${peerId}`;
218
+ const lockRow = this.getStorageReconciliationLock(lockKey);
219
+ if (lockRow &&
220
+ lockRow.holderSessionId === sessionId &&
221
+ !lockRow.releasedAt) {
222
+ this.putStorageReconciliationLock({
223
+ ...lockRow,
224
+ lastProcessedOffset: offset,
225
+ });
226
+ }
227
+ }
228
+ releaseStorageReconciliationLock(sessionId, peerId) {
229
+ this.transaction(() => {
230
+ const lockKey = `lock#${peerId}`;
231
+ const releasedAt = Date.now();
232
+ const lockRow = this.getStorageReconciliationLock(lockKey);
233
+ if (lockRow?.holderSessionId === sessionId) {
234
+ this.putStorageReconciliationLock({
235
+ ...lockRow,
236
+ releasedAt,
237
+ lastProcessedOffset: 0,
238
+ });
239
+ }
240
+ });
241
+ }
158
242
  getCoValueKnownState(coValueId) {
159
243
  // First check if the CoValue exists
160
244
  const coValueRow = this.db.get("SELECT rowID FROM coValues WHERE id = ?", [coValueId]);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteMigrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiD/C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAMtE"}
1
+ {"version":3,"file":"sqliteMigrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA4D/C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAMtE"}
@@ -47,6 +47,17 @@ export const migrations = {
47
47
  ) WITHOUT ROWID;`,
48
48
  "CREATE INDEX IF NOT EXISTS deletedCoValuesByStatus ON deletedCoValues (status);",
49
49
  ],
50
+ 6: [
51
+ `CREATE TABLE IF NOT EXISTS storageReconciliationLocks (
52
+ key TEXT PRIMARY KEY,
53
+ holderSessionId TEXT NOT NULL,
54
+ acquiredAt INTEGER NOT NULL,
55
+ expiresAt INTEGER NOT NULL,
56
+ lastProcessedOffset INTEGER NOT NULL DEFAULT 0,
57
+ releasedAt INTEGER
58
+ ) WITHOUT ROWID;`,
59
+ ],
60
+ 7: ["ALTER TABLE storageReconciliationLocks DROP COLUMN expiresAt;"],
50
61
  };
51
62
  export function getSQLiteMigrationQueries(version) {
52
63
  return Object.keys(migrations)
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteMigrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB;;;;;;;OAOG;QACH,qEAAqE;QACrE;;;;OAIG;QACH,2DAA2D;KAC5D;IACD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB,kEAAkE;KACnE;IACD,CAAC,EAAE;QACD;;;;;OAKG;QACH,iGAAiG;KAClG;IACD,CAAC,EAAE;QACD;;;qBAGiB;QACjB,iFAAiF;KAClF;CACF,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"sqliteMigrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB;;;;;;;OAOG;QACH,qEAAqE;QACrE;;;;OAIG;QACH,2DAA2D;KAC5D;IACD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB,kEAAkE;KACnE;IACD,CAAC,EAAE;QACD;;;;;OAKG;QACH,iGAAiG;KAClG;IACD,CAAC,EAAE;QACD;;;qBAGiB;QACjB,iFAAiF;KAClF;IACD,CAAC,EAAE;QACD;;;;;;;qBAOiB;KAClB;IACD,CAAC,EAAE,CAAC,+DAA+D,CAAC;CACrE,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -2,7 +2,7 @@ import type { CoValueHeader, Transaction } from "../../coValueCore/verifiedState
2
2
  import type { Signature } from "../../crypto/crypto.js";
3
3
  import type { RawCoID, SessionID } from "../../exports.js";
4
4
  import type { CoValueKnownState } from "../../knownState.js";
5
- import type { DBClientInterfaceAsync, DBTransactionInterfaceAsync, SessionRow, SignatureAfterRow, StoredCoValueRow, StoredSessionRow, TransactionRow } from "../types.js";
5
+ import type { DBClientInterfaceAsync, DBTransactionInterfaceAsync, SessionRow, SignatureAfterRow, StorageReconciliationLockRow, StoredCoValueRow, StoredSessionRow, TransactionRow, StorageReconciliationAcquireResult } from "../types.js";
6
6
  import type { SQLiteDatabaseDriverAsync } from "./types.js";
7
7
  import type { PeerID } from "../../sync.js";
8
8
  export type RawCoValueRow = {
@@ -34,6 +34,8 @@ export declare class SQLiteTransactionAsync implements DBTransactionInterfaceAsy
34
34
  signature: Signature;
35
35
  }): Promise<void>;
36
36
  deleteCoValueContent(coValueRow: Pick<StoredCoValueRow, "rowID" | "id">): Promise<void>;
37
+ getStorageReconciliationLock(key: string): Promise<StorageReconciliationLockRow | undefined>;
38
+ putStorageReconciliationLock(entry: StorageReconciliationLockRow): Promise<void>;
37
39
  }
38
40
  export declare class SQLiteClientAsync implements DBClientInterfaceAsync {
39
41
  private readonly db;
@@ -57,6 +59,13 @@ export declare class SQLiteClientAsync implements DBClientInterfaceAsync {
57
59
  synced: boolean;
58
60
  }[]): Promise<void>;
59
61
  stopTrackingSyncState(id: RawCoID): Promise<void>;
62
+ getCoValueIDs(limit: number, offset: number): Promise<{
63
+ id: RawCoID;
64
+ }[]>;
65
+ getCoValueCount(): Promise<number>;
66
+ tryAcquireStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): Promise<StorageReconciliationAcquireResult>;
67
+ renewStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, offset: number): Promise<void>;
68
+ releaseStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): Promise<void>;
60
69
  getCoValueKnownState(coValueId: string): Promise<CoValueKnownState | undefined>;
61
70
  }
62
71
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { logger } from "../../logger.js";
2
2
  import { DeletedCoValueDeletionStatus } from "../types.js";
3
+ import { STORAGE_RECONCILIATION_CONFIG } from "../../config.js";
3
4
  export function getErrorMessage(error) {
4
5
  return error instanceof Error ? error.message : "Unknown error";
5
6
  }
@@ -60,6 +61,19 @@ export class SQLiteTransactionAsync {
60
61
  DeletedCoValueDeletionStatus.Done,
61
62
  ]);
62
63
  }
64
+ async getStorageReconciliationLock(key) {
65
+ return this.tx.get("SELECT * FROM storageReconciliationLocks WHERE key = ?", [key]);
66
+ }
67
+ async putStorageReconciliationLock(entry) {
68
+ const { key, holderSessionId, acquiredAt, releasedAt, lastProcessedOffset, } = entry;
69
+ await this.tx.run(`INSERT OR REPLACE INTO storageReconciliationLocks (key, holderSessionId, acquiredAt, releasedAt, lastProcessedOffset) VALUES (?, ?, ?, ?, ?)`, [
70
+ key,
71
+ holderSessionId,
72
+ acquiredAt,
73
+ releasedAt ?? null,
74
+ lastProcessedOffset,
75
+ ]);
76
+ }
63
77
  }
64
78
  export class SQLiteClientAsync {
65
79
  constructor(db) {
@@ -166,6 +180,78 @@ export class SQLiteClientAsync {
166
180
  id,
167
181
  ]);
168
182
  }
183
+ async getCoValueIDs(limit, offset) {
184
+ return this.db.query("SELECT id FROM coValues WHERE rowID > ? ORDER BY rowID LIMIT ?", [offset, limit]);
185
+ }
186
+ async getCoValueCount() {
187
+ const row = await this.db.get("SELECT COUNT(*) as count FROM coValues", []);
188
+ return row?.count ?? 0;
189
+ }
190
+ async tryAcquireStorageReconciliationLock(sessionId, peerId) {
191
+ let result = {
192
+ acquired: false,
193
+ reason: "not_due",
194
+ };
195
+ await this.transaction(async (tx) => {
196
+ const now = Date.now();
197
+ const lockKey = `lock#${peerId}`;
198
+ const lockRow = await tx.getStorageReconciliationLock(lockKey);
199
+ if (lockRow?.releasedAt &&
200
+ now - lockRow.releasedAt <
201
+ STORAGE_RECONCILIATION_CONFIG.RECONCILIATION_INTERVAL_MS) {
202
+ result = { acquired: false, reason: "not_due" };
203
+ return;
204
+ }
205
+ const expiresAt = lockRow
206
+ ? lockRow.acquiredAt + STORAGE_RECONCILIATION_CONFIG.LOCK_TTL_MS
207
+ : 0;
208
+ const isLockHeldByOtherSession = lockRow?.holderSessionId !== sessionId;
209
+ if (lockRow &&
210
+ !lockRow.releasedAt &&
211
+ expiresAt >= now &&
212
+ isLockHeldByOtherSession) {
213
+ result = { acquired: false, reason: "lock_held" };
214
+ return;
215
+ }
216
+ const lastProcessedOffset = lockRow && !lockRow.releasedAt ? (lockRow.lastProcessedOffset ?? 0) : 0;
217
+ await tx.putStorageReconciliationLock({
218
+ key: lockKey,
219
+ holderSessionId: sessionId,
220
+ acquiredAt: now,
221
+ lastProcessedOffset,
222
+ });
223
+ result = { acquired: true, lastProcessedOffset };
224
+ });
225
+ return result;
226
+ }
227
+ async renewStorageReconciliationLock(sessionId, peerId, offset) {
228
+ await this.transaction(async (tx) => {
229
+ const lockKey = `lock#${peerId}`;
230
+ const lockRow = await tx.getStorageReconciliationLock(lockKey);
231
+ if (lockRow &&
232
+ lockRow.holderSessionId === sessionId &&
233
+ !lockRow.releasedAt) {
234
+ await tx.putStorageReconciliationLock({
235
+ ...lockRow,
236
+ lastProcessedOffset: offset,
237
+ });
238
+ }
239
+ });
240
+ }
241
+ async releaseStorageReconciliationLock(sessionId, peerId) {
242
+ await this.transaction(async (tx) => {
243
+ const lockKey = `lock#${peerId}`;
244
+ const releasedAt = Date.now();
245
+ const lockRow = await tx.getStorageReconciliationLock(lockKey);
246
+ if (lockRow && lockRow.holderSessionId === sessionId) {
247
+ await tx.putStorageReconciliationLock({
248
+ ...lockRow,
249
+ releasedAt,
250
+ lastProcessedOffset: 0,
251
+ });
252
+ }
253
+ });
254
+ }
169
255
  async getCoValueKnownState(coValueId) {
170
256
  // First check if the CoValue exists
171
257
  const coValueRow = await this.db.get("SELECT rowID FROM coValues WHERE id = ?", [coValueId]);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAYzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAiBhE,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,YAA6B,EAA6B;QAA7B,OAAE,GAAF,EAAE,CAA2B;IAAG,CAAC;IAE9D,KAAK,CAAC,uBAAuB,CAC3B,YAAoB,EACpB,SAAoB;QAEpB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAChB,4DAA4D,EAC5D,CAAC,YAAY,EAAE,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAW;QACpC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,sFAAsF,EACtF,CAAC,EAAE,CAAC,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,aAAa,GAId;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC9B;;4CAEsC,EACtC;YACE,aAAa,CAAC,OAAO;YACrB,aAAa,CAAC,SAAS;YACvB,aAAa,CAAC,OAAO;YACrB,aAAa,CAAC,aAAa;YAC3B,aAAa,CAAC,uBAAuB;SACtC,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,OAAe,EACf,cAA2B;QAE3B,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,0DAA0D,EAC1D,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,YAAY,EACZ,GAAG,EACH,SAAS,GAKV;QACC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,mEAAmE,EACnE,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAkD;QAElD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;;;;;SAKG,EACH,CAAC,UAAU,CAAC,KAAK,CAAC,CACnB,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;;;;;SAKG,EACH,CAAC,UAAU,CAAC,KAAK,CAAC,CACnB,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;;qCAE+B,EAC/B,CAAC,UAAU,CAAC,KAAK,CAAC,CACnB,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;qDAC+C,EAC/C;YACE,UAAU,CAAC,EAAE;YACb,4BAA4B,CAAC,IAAI;YACjC,4BAA4B,CAAC,IAAI;SAClC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,GAAW;QAEX,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAChB,wDAAwD,EACxD,CAAC,GAAG,CAAC,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,KAAmC;QAEnC,MAAM,EACJ,GAAG,EACH,eAAe,EACf,UAAU,EACV,UAAU,EACV,mBAAmB,GACpB,GAAG,KAAK,CAAC;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,8IAA8I,EAC9I;YACE,GAAG;YACH,eAAe;YACf,UAAU;YACV,UAAU,IAAI,IAAI;YAClB,mBAAmB;SACpB,CACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IAK5B,YAAY,EAA6B;QAHzC,yDAAyD;QACjD,YAAO,GAAG,OAAO,CAAC,OAAO,EAAsB,CAAC;QAGtD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAEO,SAAS,CAAI,EAAoB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAkB;QACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAClC,qCAAqC,EACrC,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM;gBACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAkB,CAAC;YAElD,OAAO;gBACL,GAAG,UAAU;gBACb,MAAM,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,2BAA2B,WAAW,EAAE,EAAE;gBACpD,EAAE,EAAE,SAAS;gBACb,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAC3C,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB,0CAA0C,EAC1C,CAAC,YAAY,CAAC,CACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,YAAoB,EACpB,OAAe,EACf,KAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAC7B,oEAAoE,EACpE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAC/B,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,cAAc;gBACjB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAgB;aACjD,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,YAAoB,EACpB,aAAqB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB,yDAAyD,EACzD,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAW;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,yCAAyC,EACzC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,EAAE,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,EAAW,EACX,MAAsB;QAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC9B;;uBAEiB,EACjB,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAC7B,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAkB;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAClC,qCAAqC,EACrC,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,+BAA+B,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;;0BAEoB,EACpB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CACvC,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,kBAAyE;QAEzE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACzB,kBAAkB,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CACnD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B,oDAAoD,EACpD,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,OAA2D;QAE3D,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,qEAAqE,EACrE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAC3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf,+EAA+E,EAC/E,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAC3B,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAW;QACrC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qDAAqD,EAAE;YACvE,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,MAAc;QAEd,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB,gEAAgE,EAChE,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,wCAAwC,EACxC,EAAE,CACH,CAAC;QACF,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,mCAAmC,CACvC,SAAoB,EACpB,MAAc;QAEd,IAAI,MAAM,GAAuC;YAC/C,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;YAEjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAC/D,IACE,OAAO,EAAE,UAAU;gBACnB,GAAG,GAAG,OAAO,CAAC,UAAU;oBACtB,6BAA6B,CAAC,0BAA0B,EAC1D,CAAC;gBACD,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,OAAO;gBACvB,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,CAAC,WAAW;gBAChE,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,wBAAwB,GAAG,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC;YACxE,IACE,OAAO;gBACP,CAAC,OAAO,CAAC,UAAU;gBACnB,SAAS,IAAI,GAAG;gBAChB,wBAAwB,EACxB,CAAC;gBACD,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,MAAM,mBAAmB,GACvB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,EAAE,CAAC,4BAA4B,CAAC;gBACpC,GAAG,EAAE,OAAO;gBACZ,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE,GAAG;gBACf,mBAAmB;aACpB,CAAC,CAAC;YACH,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,SAAoB,EACpB,MAAc,EACd,MAAc;QAEd,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAC/D,IACE,OAAO;gBACP,OAAO,CAAC,eAAe,KAAK,SAAS;gBACrC,CAAC,OAAO,CAAC,UAAU,EACnB,CAAC;gBACD,MAAM,EAAE,CAAC,4BAA4B,CAAC;oBACpC,GAAG,OAAO;oBACV,mBAAmB,EAAE,MAAM;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gCAAgC,CACpC,SAAoB,EACpB,MAAc;QAEd,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,EAAE,CAAC,4BAA4B,CAAC;oBACpC,GAAG,OAAO;oBACV,UAAU;oBACV,mBAAmB,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,SAAiB;QAEjB,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAClC,yCAAyC,EACzC,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAGjC,2DAA2D,EAAE;YAC9D,UAAU,CAAC,KAAK;SACjB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAsB;YACpC,EAAE,EAAE,SAAoB;YACxB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
- import { type CoValueCore, type RawCoID, type StorageAPI } from "../exports.js";
1
+ import { type CoValueCore, type RawCoID, type SessionID, type StorageAPI } from "../exports.js";
2
2
  import { StoreQueue } from "../queue/StoreQueue.js";
3
3
  import { NewContentMessage, type PeerID } from "../sync.js";
4
4
  import { CoValueKnownState } from "../knownState.js";
5
5
  import { StorageKnownState } from "./knownState.js";
6
- import type { CorrectionCallback, DBClientInterfaceAsync } from "./types.js";
6
+ import type { CorrectionCallback, DBClientInterfaceAsync, StorageReconciliationAcquireResult } from "./types.js";
7
7
  export declare class StorageApiAsync implements StorageAPI {
8
8
  private readonly dbClient;
9
9
  private deletedCoValuesEraserScheduler;
@@ -44,6 +44,13 @@ export declare class StorageApiAsync implements StorageAPI {
44
44
  peerId: PeerID;
45
45
  synced: boolean;
46
46
  }[], done?: () => void): void;
47
+ getCoValueIDs(limit: number, offset: number, callback: (batch: {
48
+ id: RawCoID;
49
+ }[]) => void): void;
50
+ getCoValueCount(callback: (count: number) => void): void;
51
+ tryAcquireStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, callback: (result: StorageReconciliationAcquireResult) => void): void;
52
+ renewStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, offset: number): void;
53
+ releaseStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): void;
47
54
  getUnsyncedCoValueIDs(callback: (unsyncedCoValueIDs: RawCoID[]) => void): void;
48
55
  stopTrackingSyncState(id: RawCoID): void;
49
56
  onCoValueUnmounted(id: RawCoID): void;
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EAEZ,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOpD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAGpB,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,8BAA8B,CAExB;IACd,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAsB;IAG9C,OAAO,CAAC,sBAAsB,CAG1B;gBAEQ,QAAQ,EAAE,sBAAsB;IAI5C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAI5C,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,GAC5D,IAAI;IA0CD,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;YAqHlB,2BAA2B;IA6BzC,UAAU,aAAoB;IAExB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAa1E,OAAO,CAAC,eAAe;IASjB,uBAAuB;IAe7B;;;;;;OAMG;YACW,gBAAgB;YA+BhB,WAAW;YA2EX,SAAS;IAkEvB,aAAa,uBAAsB;IAEnC,iBAAiB,CAAC,EAAE,EAAE,OAAO;IAQ7B,4BAA4B;IAc5B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,EAC3D,IAAI,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI;IAIP,qBAAqB,CACnB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,IAAI,GAChD,IAAI;IAIP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIrC,KAAK;CAKN"}
1
+ {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"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"}
@@ -312,6 +312,23 @@ export class StorageApiAsync {
312
312
  trackCoValuesSyncState(updates, done) {
313
313
  this.dbClient.trackCoValuesSyncState(updates).then(() => done?.());
314
314
  }
315
+ getCoValueIDs(limit, offset, callback) {
316
+ this.dbClient.getCoValueIDs(limit, offset).then(callback);
317
+ }
318
+ getCoValueCount(callback) {
319
+ this.dbClient.getCoValueCount().then(callback);
320
+ }
321
+ tryAcquireStorageReconciliationLock(sessionId, peerId, callback) {
322
+ this.dbClient
323
+ .tryAcquireStorageReconciliationLock(sessionId, peerId)
324
+ .then(callback);
325
+ }
326
+ renewStorageReconciliationLock(sessionId, peerId, offset) {
327
+ this.dbClient.renewStorageReconciliationLock(sessionId, peerId, offset);
328
+ }
329
+ releaseStorageReconciliationLock(sessionId, peerId) {
330
+ this.dbClient.releaseStorageReconciliationLock(sessionId, peerId);
331
+ }
315
332
  getUnsyncedCoValueIDs(callback) {
316
333
  this.dbClient.getUnsyncedCoValueIDs().then(callback);
317
334
  }
@@ -320,10 +337,12 @@ export class StorageApiAsync {
320
337
  }
321
338
  onCoValueUnmounted(id) {
322
339
  this.inMemoryCoValues.delete(id);
340
+ this.knownStates.deleteKnownState(id);
323
341
  }
324
342
  close() {
325
343
  this.deletedCoValuesEraserScheduler?.dispose();
326
344
  this.inMemoryCoValues.clear();
345
+ this.knownStates.clear();
327
346
  return this.storeQueue.close();
328
347
  }
329
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.js","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageAsync.js","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { CoValueCore, RawCoID, type StorageAPI } from "../exports.js";
1
+ import { CoValueCore, RawCoID, type SessionID, type StorageAPI } from "../exports.js";
2
2
  import { NewContentMessage, type PeerID } from "../sync.js";
3
3
  import { StorageKnownState } from "./knownState.js";
4
4
  import { CoValueKnownState } from "../knownState.js";
5
- import type { CorrectionCallback, DBClientInterfaceSync } from "./types.js";
5
+ import type { CorrectionCallback, DBClientInterfaceSync, StorageReconciliationAcquireResult } from "./types.js";
6
6
  import { StorageStreamingQueue } from "../queue/StorageStreamingQueue.js";
7
7
  export declare class StorageApiSync implements StorageAPI {
8
8
  private readonly dbClient;
@@ -20,6 +20,13 @@ export declare class StorageApiSync implements StorageAPI {
20
20
  constructor(dbClient: DBClientInterfaceSync);
21
21
  knownStates: StorageKnownState;
22
22
  getKnownState(id: string): CoValueKnownState;
23
+ getCoValueIDs(limit: number, offset: number, callback: (batch: {
24
+ id: RawCoID;
25
+ }[]) => void): void;
26
+ getCoValueCount(callback: (count: number) => void): void;
27
+ tryAcquireStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, callback: (result: StorageReconciliationAcquireResult) => void): void;
28
+ renewStorageReconciliationLock(sessionId: SessionID, peerId: PeerID, offset: number): void;
29
+ releaseStorageReconciliationLock(sessionId: SessionID, peerId: PeerID): void;
23
30
  loadKnownState(id: string, callback: (knownState: CoValueKnownState | undefined) => void): void;
24
31
  load(id: string, callback: (data: NewContentMessage) => void, done: (found: boolean) => void): Promise<void>;
25
32
  loadCoValue(id: string, callback: (data: NewContentMessage) => void, done?: (found: boolean) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"storageSync.d.ts","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,OAAO,EAEP,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEL,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAK3C,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAEjD,OAAO,CAAC,8BAA8B,CAExB;IACd;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAsB;IAE9C;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;gBAEnC,QAAQ,EAAE,qBAAqB;IAK3C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAI5C,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,GAC5D,IAAI;IAmBD,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAKhC,WAAW,CACT,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAsIjC,OAAO,CAAC,uBAAuB;YAqBjB,2BAA2B;IAqBzC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAIpE;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,WAAW;IAgEnB,OAAO,CAAC,SAAS;IAiEjB,aAAa,uBAAsB;IAEnC,iBAAiB,CAAC,EAAE,EAAE,OAAO;IAQvB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9C,4BAA4B;IAS5B,OAAO,CAAC,gCAAgC;IAkBxC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,EAC3D,IAAI,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI;IAKP,qBAAqB,CACnB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,IAAI,GAChD,IAAI;IAKP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIrC,KAAK;CAKN"}
1
+ {"version":3,"file":"storageSync.d.ts","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"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"}