mindoodb 0.0.84 → 0.0.86

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 (264) hide show
  1. package/README-server.md +1 -0
  2. package/README.md +6 -4
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +15 -0
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +75 -1
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +9 -1
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +38 -10
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/cloudflare/DurableObjectSql.d.ts +56 -0
  12. package/dist/cloudflare/DurableObjectSql.d.ts.map +1 -0
  13. package/dist/cloudflare/DurableObjectSql.js +180 -0
  14. package/dist/cloudflare/DurableObjectSql.js.map +1 -0
  15. package/dist/cloudflare/MindooDatabaseObject.d.ts +86 -0
  16. package/dist/cloudflare/MindooDatabaseObject.d.ts.map +1 -0
  17. package/dist/cloudflare/MindooDatabaseObject.js +614 -0
  18. package/dist/cloudflare/MindooDatabaseObject.js.map +1 -0
  19. package/dist/cloudflare/MindooServerObject.d.ts +63 -0
  20. package/dist/cloudflare/MindooServerObject.d.ts.map +1 -0
  21. package/dist/cloudflare/MindooServerObject.js +521 -0
  22. package/dist/cloudflare/MindooServerObject.js.map +1 -0
  23. package/dist/cloudflare/WorkersCryptoAdapter.d.ts +7 -0
  24. package/dist/cloudflare/WorkersCryptoAdapter.d.ts.map +1 -0
  25. package/dist/cloudflare/WorkersCryptoAdapter.js +14 -0
  26. package/dist/cloudflare/WorkersCryptoAdapter.js.map +1 -0
  27. package/dist/cloudflare/host.d.ts +49 -0
  28. package/dist/cloudflare/host.d.ts.map +1 -0
  29. package/dist/cloudflare/host.js +104 -0
  30. package/dist/cloudflare/host.js.map +1 -0
  31. package/dist/cloudflare/http.d.ts +91 -0
  32. package/dist/cloudflare/http.d.ts.map +1 -0
  33. package/dist/cloudflare/http.js +266 -0
  34. package/dist/cloudflare/http.js.map +1 -0
  35. package/dist/cloudflare/index.d.ts +12 -0
  36. package/dist/cloudflare/index.d.ts.map +1 -0
  37. package/dist/cloudflare/index.js +20 -0
  38. package/dist/cloudflare/index.js.map +1 -0
  39. package/dist/cloudflare/storeRpc.d.ts +22 -0
  40. package/dist/cloudflare/storeRpc.d.ts.map +1 -0
  41. package/dist/cloudflare/storeRpc.js +85 -0
  42. package/dist/cloudflare/storeRpc.js.map +1 -0
  43. package/dist/cloudflare/types.d.ts +101 -0
  44. package/dist/cloudflare/types.d.ts.map +1 -0
  45. package/dist/cloudflare/types.js +10 -0
  46. package/dist/cloudflare/types.js.map +1 -0
  47. package/dist/cloudflare/worker.d.ts +25 -0
  48. package/dist/cloudflare/worker.d.ts.map +1 -0
  49. package/dist/cloudflare/worker.js +170 -0
  50. package/dist/cloudflare/worker.js.map +1 -0
  51. package/dist/core/BaseMindooDB.d.ts +43 -1
  52. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  53. package/dist/core/BaseMindooDB.js +209 -87
  54. package/dist/core/BaseMindooDB.js.map +1 -1
  55. package/dist/core/BaseMindooTenant.d.ts +14 -0
  56. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  57. package/dist/core/BaseMindooTenant.js +46 -0
  58. package/dist/core/BaseMindooTenant.js.map +1 -1
  59. package/dist/core/BaseMindooTenantDirectory.d.ts +10 -0
  60. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  61. package/dist/core/BaseMindooTenantDirectory.js +79 -8
  62. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  63. package/dist/core/ChangeDocDraft.d.ts +133 -0
  64. package/dist/core/ChangeDocDraft.d.ts.map +1 -0
  65. package/dist/core/ChangeDocDraft.js +492 -0
  66. package/dist/core/ChangeDocDraft.js.map +1 -0
  67. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  68. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +1 -0
  69. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  70. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +8 -0
  71. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  72. package/dist/core/appendonlystores/network/AuthenticationService.js +19 -0
  73. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  74. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
  75. package/dist/core/appendonlystores/network/IrohStreamIO.js +3 -23
  76. package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
  77. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +7 -1
  78. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  79. package/dist/core/appendonlystores/network/types.d.ts +23 -0
  80. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  81. package/dist/core/appendonlystores/network/types.js.map +1 -1
  82. package/dist/core/appendonlystores/rpc/storeRpcCodec.d.ts.map +1 -1
  83. package/dist/core/appendonlystores/rpc/storeRpcCodec.js +3 -23
  84. package/dist/core/appendonlystores/rpc/storeRpcCodec.js.map +1 -1
  85. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
  86. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +21 -30
  87. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
  88. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts +37 -1
  89. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts.map +1 -1
  90. package/dist/core/appendonlystores/sqlite/SqliteDriver.js +99 -40
  91. package/dist/core/appendonlystores/sqlite/SqliteDriver.js.map +1 -1
  92. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
  93. package/dist/core/appendonlystores/syncStores.js +253 -168
  94. package/dist/core/appendonlystores/syncStores.js.map +1 -1
  95. package/dist/core/appendonlystores/types.d.ts +8 -0
  96. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  97. package/dist/core/appendonlystores/types.js.map +1 -1
  98. package/dist/core/expressions/evaluateExpression.d.ts +8 -0
  99. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  100. package/dist/core/expressions/evaluateExpression.js +29 -4
  101. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  102. package/dist/core/expressions/metadata.js +4 -4
  103. package/dist/core/expressions/metadata.js.map +1 -1
  104. package/dist/core/types.d.ts +61 -2
  105. package/dist/core/types.d.ts.map +1 -1
  106. package/dist/core/types.js.map +1 -1
  107. package/dist/core/uri/MindooURI.d.ts.map +1 -1
  108. package/dist/core/uri/MindooURI.js +3 -24
  109. package/dist/core/uri/MindooURI.js.map +1 -1
  110. package/dist/core/utils/base64.d.ts +17 -0
  111. package/dist/core/utils/base64.d.ts.map +1 -0
  112. package/dist/core/utils/base64.js +54 -0
  113. package/dist/core/utils/base64.js.map +1 -0
  114. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  115. package/dist/core/utils/idGeneration.js +14 -3
  116. package/dist/core/utils/idGeneration.js.map +1 -1
  117. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  118. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1 -0
  119. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  120. package/dist/node/server/FsServerDataStore.d.ts +23 -0
  121. package/dist/node/server/FsServerDataStore.d.ts.map +1 -0
  122. package/dist/node/server/FsServerDataStore.js +59 -0
  123. package/dist/node/server/FsServerDataStore.js.map +1 -0
  124. package/dist/node/server/IrohServerEndpoint.d.ts +1 -1
  125. package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
  126. package/dist/node/server/IrohServerRpc.d.ts +5 -5
  127. package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
  128. package/dist/node/server/IrohServerRpc.js +1 -1
  129. package/dist/node/server/IrohServerRpc.js.map +1 -1
  130. package/dist/node/server/MindooDBServer.d.ts +29 -150
  131. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  132. package/dist/node/server/MindooDBServer.js +160 -1568
  133. package/dist/node/server/MindooDBServer.js.map +1 -1
  134. package/dist/node/server/PurgedDocRegistry.d.ts +4 -27
  135. package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -1
  136. package/dist/node/server/PurgedDocRegistry.js +6 -83
  137. package/dist/node/server/PurgedDocRegistry.js.map +1 -1
  138. package/dist/node/server/StoreFactory.d.ts +1 -1
  139. package/dist/node/server/StoreFactory.d.ts.map +1 -1
  140. package/dist/node/server/TenantManager.d.ts +16 -284
  141. package/dist/node/server/TenantManager.d.ts.map +1 -1
  142. package/dist/node/server/TenantManager.js +35 -1168
  143. package/dist/node/server/TenantManager.js.map +1 -1
  144. package/dist/node/server/add-to-network.js +1 -1
  145. package/dist/node/server/add-to-network.js.map +1 -1
  146. package/dist/node/server/compressionMiddleware.d.ts +14 -0
  147. package/dist/node/server/compressionMiddleware.d.ts.map +1 -1
  148. package/dist/node/server/compressionMiddleware.js +46 -3
  149. package/dist/node/server/compressionMiddleware.js.map +1 -1
  150. package/dist/node/server/config.d.ts +11 -15
  151. package/dist/node/server/config.d.ts.map +1 -1
  152. package/dist/node/server/config.js +30 -245
  153. package/dist/node/server/config.js.map +1 -1
  154. package/dist/node/server/expressAdapter.d.ts +23 -0
  155. package/dist/node/server/expressAdapter.d.ts.map +1 -0
  156. package/dist/node/server/expressAdapter.js +108 -0
  157. package/dist/node/server/expressAdapter.js.map +1 -0
  158. package/dist/node/server/nativeIrohStreamIO.d.ts +1 -1
  159. package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
  160. package/dist/node/server/peer/FileClusterAuditStorage.d.ts +16 -0
  161. package/dist/node/server/peer/FileClusterAuditStorage.d.ts.map +1 -0
  162. package/dist/node/server/peer/FileClusterAuditStorage.js +39 -0
  163. package/dist/node/server/peer/FileClusterAuditStorage.js.map +1 -0
  164. package/dist/node/server/peer/IrohPeerLink.d.ts +1 -1
  165. package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -1
  166. package/dist/node/server/peer/routes.d.ts +10 -44
  167. package/dist/node/server/peer/routes.d.ts.map +1 -1
  168. package/dist/node/server/peer/routes.js +33 -275
  169. package/dist/node/server/peer/routes.js.map +1 -1
  170. package/dist/node/server/resolveServerPassword.js +1 -1
  171. package/dist/node/server/resolveServerPassword.js.map +1 -1
  172. package/dist/node/server/server.js +1 -1
  173. package/dist/node/server/server.js.map +1 -1
  174. package/dist/node/server/serverinit.js +1 -1
  175. package/dist/node/server/serverinit.js.map +1 -1
  176. package/dist/server/CapabilityMatcher.d.ts +60 -0
  177. package/dist/server/CapabilityMatcher.d.ts.map +1 -0
  178. package/dist/server/CapabilityMatcher.js +138 -0
  179. package/dist/server/CapabilityMatcher.js.map +1 -0
  180. package/dist/server/DeviceDiscoveryService.d.ts +36 -0
  181. package/dist/server/DeviceDiscoveryService.d.ts.map +1 -0
  182. package/dist/server/DeviceDiscoveryService.js +165 -0
  183. package/dist/server/DeviceDiscoveryService.js.map +1 -0
  184. package/dist/server/PurgedDocRegistry.d.ts +35 -0
  185. package/dist/server/PurgedDocRegistry.d.ts.map +1 -0
  186. package/dist/server/PurgedDocRegistry.js +90 -0
  187. package/dist/server/PurgedDocRegistry.js.map +1 -0
  188. package/dist/server/ServerDataStore.d.ts +67 -0
  189. package/dist/server/ServerDataStore.d.ts.map +1 -0
  190. package/dist/server/ServerDataStore.js +88 -0
  191. package/dist/server/ServerDataStore.js.map +1 -0
  192. package/dist/server/SyncEventBus.d.ts +39 -0
  193. package/dist/server/SyncEventBus.d.ts.map +1 -0
  194. package/dist/server/SyncEventBus.js +41 -0
  195. package/dist/server/SyncEventBus.js.map +1 -0
  196. package/dist/server/SystemAdminAuth.d.ts +82 -0
  197. package/dist/server/SystemAdminAuth.d.ts.map +1 -0
  198. package/dist/server/SystemAdminAuth.js +228 -0
  199. package/dist/server/SystemAdminAuth.js.map +1 -0
  200. package/dist/server/TenantManager.d.ts +330 -0
  201. package/dist/server/TenantManager.d.ts.map +1 -0
  202. package/dist/server/TenantManager.js +1186 -0
  203. package/dist/server/TenantManager.js.map +1 -0
  204. package/dist/server/http/MindooDBServerCore.d.ts +313 -0
  205. package/dist/server/http/MindooDBServerCore.d.ts.map +1 -0
  206. package/dist/server/http/MindooDBServerCore.js +1403 -0
  207. package/dist/server/http/MindooDBServerCore.js.map +1 -0
  208. package/dist/server/http/types.d.ts +89 -0
  209. package/dist/server/http/types.d.ts.map +1 -0
  210. package/dist/server/http/types.js +29 -0
  211. package/dist/server/http/types.js.map +1 -0
  212. package/dist/server/index.d.ts +32 -0
  213. package/dist/server/index.d.ts.map +1 -0
  214. package/dist/server/index.js +76 -0
  215. package/dist/server/index.js.map +1 -0
  216. package/dist/server/peer/ClusterAuditLog.d.ts +71 -0
  217. package/dist/server/peer/ClusterAuditLog.d.ts.map +1 -0
  218. package/dist/server/peer/ClusterAuditLog.js +81 -0
  219. package/dist/server/peer/ClusterAuditLog.js.map +1 -0
  220. package/dist/server/peer/ClusterJobRunner.d.ts +43 -0
  221. package/dist/server/peer/ClusterJobRunner.d.ts.map +1 -0
  222. package/dist/server/peer/ClusterJobRunner.js +119 -0
  223. package/dist/server/peer/ClusterJobRunner.js.map +1 -0
  224. package/dist/server/peer/ClusterManager.d.ts +149 -0
  225. package/dist/server/peer/ClusterManager.d.ts.map +1 -0
  226. package/dist/server/peer/ClusterManager.js +292 -0
  227. package/dist/server/peer/ClusterManager.js.map +1 -0
  228. package/dist/server/peer/PeerAuthService.d.ts +69 -0
  229. package/dist/server/peer/PeerAuthService.d.ts.map +1 -0
  230. package/dist/server/peer/PeerAuthService.js +208 -0
  231. package/dist/server/peer/PeerAuthService.js.map +1 -0
  232. package/dist/server/peer/PeerReplicator.d.ts +303 -0
  233. package/dist/server/peer/PeerReplicator.d.ts.map +1 -0
  234. package/dist/server/peer/PeerReplicator.js +1071 -0
  235. package/dist/server/peer/PeerReplicator.js.map +1 -0
  236. package/dist/server/peer/clusterHttp.d.ts +113 -0
  237. package/dist/server/peer/clusterHttp.d.ts.map +1 -0
  238. package/dist/server/peer/clusterHttp.js +290 -0
  239. package/dist/server/peer/clusterHttp.js.map +1 -0
  240. package/dist/server/peer/types.d.ts +244 -0
  241. package/dist/server/peer/types.d.ts.map +1 -0
  242. package/dist/server/peer/types.js +189 -0
  243. package/dist/server/peer/types.js.map +1 -0
  244. package/dist/server/rateLimits.d.ts +119 -0
  245. package/dist/server/rateLimits.d.ts.map +1 -0
  246. package/dist/server/rateLimits.js +159 -0
  247. package/dist/server/rateLimits.js.map +1 -0
  248. package/dist/server/serverConfig.d.ts +37 -0
  249. package/dist/server/serverConfig.d.ts.map +1 -0
  250. package/dist/server/serverConfig.js +251 -0
  251. package/dist/server/serverConfig.js.map +1 -0
  252. package/dist/server/timestampProxy.d.ts +129 -0
  253. package/dist/server/timestampProxy.d.ts.map +1 -0
  254. package/dist/server/timestampProxy.js +361 -0
  255. package/dist/server/timestampProxy.js.map +1 -0
  256. package/dist/server/types.d.ts +267 -0
  257. package/dist/server/types.d.ts.map +1 -0
  258. package/dist/server/types.js +56 -0
  259. package/dist/server/types.js.map +1 -0
  260. package/dist/server/validation.d.ts +43 -0
  261. package/dist/server/validation.d.ts.map +1 -0
  262. package/dist/server/validation.js +104 -0
  263. package/dist/server/validation.js.map +1 -0
  264. package/package.json +9 -1
@@ -347,6 +347,35 @@ async function transferEntriesInBatches(sourceStore, targetStore, entryIds, opti
347
347
  }
348
348
  return { transferred, transferredBytes, cancelled: false, rejected };
349
349
  }
350
+ /**
351
+ * Rough wire cost per id of the two ways to learn which ids a target already
352
+ * has: a bloom summary costs about 2 bytes per entry the TARGET holds, an
353
+ * exact `hasEntries` check about 100 bytes per id the SOURCE offers (ids are
354
+ * ~90 characters, plus the echo of those that exist).
355
+ */
356
+ const BLOOM_BYTES_PER_TARGET_ENTRY = 2;
357
+ const HAS_ENTRIES_BYTES_PER_OFFERED_ID = 100;
358
+ /**
359
+ * Whether downloading the target's bloom summary is cheaper than asking it
360
+ * about each scanned id.
361
+ *
362
+ * The bloom grows with the target, the exact check with the delta. A routine
363
+ * sync of a few new entries into a large server database would otherwise
364
+ * download the whole bloom (about 200 KB at 100,000 entries) to pre-screen a
365
+ * handful of ids. Without the numbers to compare (older stores report no
366
+ * entry count) the bloom is used as before.
367
+ */
368
+ function targetBloomPaysOff(sourceHead, targetHead, cursor) {
369
+ const targetEntries = targetHead?.entryCount;
370
+ if (!sourceHead || targetEntries === undefined) {
371
+ return true;
372
+ }
373
+ // Receipt orders are assigned densely, so the distance from the cursor to
374
+ // the source head bounds how many entries the scan will offer.
375
+ const offeredIds = Math.max(0, sourceHead.maxReceiptOrder - (cursor?.receiptOrder ?? 0));
376
+ return (offeredIds * HAS_ENTRIES_BYTES_PER_OFFERED_ID >
377
+ targetEntries * BLOOM_BYTES_PER_TARGET_ENTRY);
378
+ }
350
379
  function supportsCursorScan(store) {
351
380
  return typeof store.scanEntriesSince === "function";
352
381
  }
@@ -379,10 +408,22 @@ async function syncEntriesBetweenStores(sourceStore, targetStore, options, ctx)
379
408
  // also anchor the epochs persisted with the cursor.
380
409
  const cursorKey = syncScanCursorKey(sourceStore, targetStore);
381
410
  const persisted = options?.forceFullScan ? null : cursors.get(cursorKey);
382
- const [sourceHead, targetHead] = await Promise.all([
383
- getStoreHeadSafe(sourceStore, logger),
384
- getStoreHeadSafe(targetStore, logger),
385
- ]);
411
+ // Source head first: a source that never held an entry (an empty local
412
+ // replica on push, an empty attachment store on pull) ends the sync here,
413
+ // before any request to the other side. Sequential costs no round trip in
414
+ // practice: one of the two stores is always local.
415
+ const sourceHead = await getStoreHeadSafe(sourceStore, logger);
416
+ if (sourceHead && sourceHead.maxReceiptOrder === 0) {
417
+ logger.info(`Sync skip: source store is empty (${cursorKey})`);
418
+ onProgress?.({
419
+ phase: "preparing",
420
+ message: "Source is empty, nothing to sync",
421
+ transferredEntries: 0,
422
+ scannedEntries: 0,
423
+ });
424
+ return { transferred: 0, scanned: 0, cancelled: false };
425
+ }
426
+ const targetHead = await getStoreHeadSafe(targetStore, logger);
386
427
  let cursor = null;
387
428
  let cursorDecision = "full-scan";
388
429
  let cursorReason = options?.forceFullScan
@@ -448,14 +489,27 @@ async function syncEntriesBetweenStores(sourceStore, targetStore, options, ctx)
448
489
  });
449
490
  }
450
491
  };
451
- const targetBloom = await getStoreBloomSummary(targetStore, logger);
492
+ // A target that never held an entry is missing everything the scan finds:
493
+ // no bloom pre-screen and no `hasEntries` round trip per page (the first
494
+ // sync of a fresh replica, or the first push to a new server database).
495
+ const targetIsEmpty = targetHead?.maxReceiptOrder === 0;
496
+ // The first scan page, the target bloom and the progress denominator are
497
+ // independent, so they travel together instead of one after the other.
498
+ let nextPagePromise = sourceStore.scanEntriesSince(cursor, pageSize);
452
499
  // Fixed progress denominator: the SOURCE's total entry count. The cursor
453
500
  // scan below examines every source entry, so scannedEntries/totalSourceEntries
454
- // is a real completion ratio. (Local stores serve this from a cached bloom
455
- // summary; network stores answer with one extra request.) The target bloom
456
- // stays dedicated to missing-id pre-screening.
457
- const sourceBloom = await getStoreBloomSummary(sourceStore, logger);
458
- const totalSourceEstimate = sourceBloom?.totalIds;
501
+ // is a real completion ratio. The source head carries the count when the
502
+ // store knows it; otherwise the bloom summary's `totalIds` stands in (one
503
+ // extra request on network stores). The target bloom stays dedicated to
504
+ // missing-id pre-screening.
505
+ const [targetBloom, totalSourceEstimate] = await Promise.all([
506
+ targetIsEmpty || !targetBloomPaysOff(sourceHead, targetHead, cursor)
507
+ ? Promise.resolve(null)
508
+ : getStoreBloomSummary(targetStore, logger),
509
+ sourceHead?.entryCount !== undefined
510
+ ? Promise.resolve(sourceHead.entryCount)
511
+ : getStoreBloomSummary(sourceStore, logger).then((bloom) => bloom?.totalIds),
512
+ ]);
459
513
  onProgress?.({
460
514
  phase: "preparing",
461
515
  message: "Preparing to sync entries...",
@@ -478,73 +532,30 @@ async function syncEntriesBetweenStores(sourceStore, targetStore, options, ctx)
478
532
  const transferredThisSync = new Set();
479
533
  let currentPage = 0;
480
534
  // Scan-page pipelining (sync-v5, phase 4): while page N is being filtered
481
- // and transferred, page N+1 is already being fetched.
482
- let nextPagePromise = null;
535
+ // and transferred, page N+1 is already being fetched (`nextPagePromise`,
536
+ // seeded with the first page above).
537
+ //
538
+ // Local processing of a transferred page (`onPageTransferred`: the local
539
+ // index, and through its change event the summary buffer and full-text
540
+ // index) runs while the next page is transferred. At most one page is in
541
+ // processing at a time, so a slow consumer slows the transfer down instead
542
+ // of piling up work; its errors surface at the next page or at the end.
543
+ let pendingPageProcessing = null;
544
+ const settlePageProcessing = async () => {
545
+ const pending = pendingPageProcessing;
546
+ pendingPageProcessing = null;
547
+ if (pending) {
548
+ await pending;
549
+ }
550
+ };
483
551
  const discardPrefetch = () => {
484
552
  // Swallow errors of an in-flight prefetch we will never consume
485
553
  // (abort/cancel paths) to avoid unhandled rejections.
486
554
  nextPagePromise?.catch(() => { });
487
555
  nextPagePromise = null;
488
556
  };
489
- while (true) {
490
- if (signal?.aborted) {
491
- discardPrefetch();
492
- persistScanCursor(cursor);
493
- return {
494
- transferred,
495
- transferredBytes,
496
- scanned,
497
- cancelled: true,
498
- rejected,
499
- cursorHeldForRetry: cursorIsHeld,
500
- abandoned,
501
- };
502
- }
503
- const cursorAtPageStart = cursor;
504
- const page = nextPagePromise
505
- ? await nextPagePromise
506
- : await sourceStore.scanEntriesSince(cursor, pageSize);
507
- nextPagePromise = page.hasMore
508
- ? sourceStore.scanEntriesSince(page.nextCursor, pageSize)
509
- : null;
510
- currentPage++;
511
- // Clamp the page to the scan bound. Pages are ordered by
512
- // (receiptOrder, id), so everything past the first out-of-bound entry is
513
- // out of bound as well.
514
- let pageEntries = page.entries;
515
- let reachedScanBound = false;
516
- if (scanUpperBound !== undefined && pageEntries.length > 0) {
517
- const inBound = pageEntries.filter((m) => (m.receiptOrder ?? 0) <= scanUpperBound);
518
- if (inBound.length < pageEntries.length) {
519
- reachedScanBound = true;
520
- pageEntries = inBound;
521
- }
522
- }
523
- scanned += pageEntries.length;
524
- if (signal?.aborted) {
525
- discardPrefetch();
526
- persistScanCursor(cursor);
527
- return {
528
- transferred,
529
- transferredBytes,
530
- scanned,
531
- cancelled: true,
532
- rejected,
533
- cursorHeldForRetry: cursorIsHeld,
534
- abandoned,
535
- };
536
- }
537
- if (pageEntries.length > 0) {
538
- onProgress?.({
539
- phase: "transferring",
540
- message: `Scanned ${scanned} entries, checking for changes (page ${currentPage})...`,
541
- transferredEntries: transferred,
542
- scannedEntries: scanned,
543
- totalSourceEntries: totalSourceEstimate,
544
- currentPage,
545
- });
546
- const ids = pageEntries.map((m) => m.id).filter((id) => !transferredThisSync.has(id));
547
- const missingIds = ids.length > 0 ? await filterMissingIds(targetStore, ids, targetBloom) : [];
557
+ try {
558
+ while (true) {
548
559
  if (signal?.aborted) {
549
560
  discardPrefetch();
550
561
  persistScanCursor(cursor);
@@ -558,66 +569,56 @@ async function syncEntriesBetweenStores(sourceStore, targetStore, options, ctx)
558
569
  abandoned,
559
570
  };
560
571
  }
561
- if (missingIds.length > 0) {
562
- const transferResult = await transferInPhases(sourceStore, targetStore, createsFirst(pageEntries, missingIds), options, {
572
+ const cursorAtPageStart = cursor;
573
+ const page = nextPagePromise
574
+ ? await nextPagePromise
575
+ : await sourceStore.scanEntriesSince(cursor, pageSize);
576
+ nextPagePromise = page.hasMore
577
+ ? sourceStore.scanEntriesSince(page.nextCursor, pageSize)
578
+ : null;
579
+ currentPage++;
580
+ // Clamp the page to the scan bound. Pages are ordered by
581
+ // (receiptOrder, id), so everything past the first out-of-bound entry is
582
+ // out of bound as well.
583
+ let pageEntries = page.entries;
584
+ let reachedScanBound = false;
585
+ if (scanUpperBound !== undefined && pageEntries.length > 0) {
586
+ const inBound = pageEntries.filter((m) => (m.receiptOrder ?? 0) <= scanUpperBound);
587
+ if (inBound.length < pageEntries.length) {
588
+ reachedScanBound = true;
589
+ pageEntries = inBound;
590
+ }
591
+ }
592
+ scanned += pageEntries.length;
593
+ if (signal?.aborted) {
594
+ discardPrefetch();
595
+ persistScanCursor(cursor);
596
+ return {
563
597
  transferred,
564
598
  transferredBytes,
565
599
  scanned,
600
+ cancelled: true,
601
+ rejected,
602
+ cursorHeldForRetry: cursorIsHeld,
603
+ abandoned,
604
+ };
605
+ }
606
+ if (pageEntries.length > 0) {
607
+ onProgress?.({
608
+ phase: "transferring",
609
+ message: `Scanned ${scanned} entries, checking for changes (page ${currentPage})...`,
610
+ transferredEntries: transferred,
611
+ scannedEntries: scanned,
566
612
  totalSourceEntries: totalSourceEstimate,
567
613
  currentPage,
568
- }, logger);
569
- transferred = transferResult.transferred;
570
- transferredBytes = transferResult.transferredBytes;
571
- rejected.push(...transferResult.rejected);
572
- // Clamp the cursor at the first rejection so the retry actually
573
- // re-offers the entry. Only the earliest one matters: everything
574
- // after it is re-scanned anyway.
575
- //
576
- // Only self-resolving rejections are worth holding for. Holding for a
577
- // purged document or a withdrawn right pins the cursor to an entry
578
- // that earns the same refusal every time: the pair re-scans from
579
- // there and re-offers it on every run, and never reports clean.
580
- // Those are reported through `rejected` instead, which is where the
581
- // caller can record them.
582
- const holdable = holdCursorOnRejection
583
- ? transferResult.rejected.filter((entry) => (0, types_1.isSelfResolvingRejection)((0, types_1.rejectionClassOf)(entry)))
584
- : [];
585
- // Everything the cursor will not wait for is gone after this run.
586
- abandoned.push(...transferResult.rejected.filter((entry) => !holdable.includes(entry)));
587
- if (holdable.length > 0 && !cursorIsHeld) {
588
- const rejectedIds = new Set(holdable.map((entry) => entry.id));
589
- const firstRejectedIndex = pageEntries.findIndex((m) => rejectedIds.has(m.id));
590
- if (firstRejectedIndex >= 0) {
591
- const waitingOn = pageEntries[firstRejectedIndex].id;
592
- // Continue the count only while it is the same entry; a different
593
- // one means the previous wait ended, one way or another.
594
- const attempts = persisted?.hold?.id === waitingOn ? persisted.hold.attempts + 1 : 1;
595
- if (attempts > maxHoldAttempts) {
596
- // The refusal was classified as one that passes on its own, and
597
- // it has not. Waiting further would only re-scan from here on
598
- // every future run, so give up on these and let the cursor run.
599
- logger.warn(`Giving up on ${holdable.length} entr${holdable.length === 1 ? "y" : "ies"} for ` +
600
- `${cursorKey} after ${attempts - 1} attempts: rejected as ` +
601
- `${(0, types_1.rejectionClassOf)(holdable[0])} but never accepted. ` +
602
- `First reason: ${holdable[0].reason}`);
603
- abandoned.push(...holdable);
604
- }
605
- else {
606
- cursorIsHeld = true;
607
- holdState = { id: waitingOn, attempts };
608
- const previous = firstRejectedIndex > 0 ? pageEntries[firstRejectedIndex - 1] : null;
609
- heldCursor = previous
610
- ? { receiptOrder: previous.receiptOrder ?? 0, id: previous.id }
611
- : cursorAtPageStart;
612
- logger.warn(`Holding sync cursor at receiptOrder=${heldCursor?.receiptOrder ?? "start"} for ${cursorKey}: ` +
613
- `${holdable.length} entr${holdable.length === 1 ? "y was" : "ies were"} rejected and must be retried ` +
614
- `(attempt ${attempts} of ${maxHoldAttempts})`);
615
- }
616
- }
617
- }
618
- if (transferResult.cancelled) {
619
- // The current page's transfer did not complete: persist the
620
- // boundary of the last fully transferred page instead.
614
+ });
615
+ const ids = pageEntries.map((m) => m.id).filter((id) => !transferredThisSync.has(id));
616
+ const missingIds = ids.length === 0
617
+ ? []
618
+ : targetIsEmpty
619
+ ? ids
620
+ : await filterMissingIds(targetStore, ids, targetBloom);
621
+ if (signal?.aborted) {
621
622
  discardPrefetch();
622
623
  persistScanCursor(cursor);
623
624
  return {
@@ -630,56 +631,140 @@ async function syncEntriesBetweenStores(sourceStore, targetStore, options, ctx)
630
631
  abandoned,
631
632
  };
632
633
  }
633
- for (const id of missingIds) {
634
- transferredThisSync.add(id);
635
- }
636
- if (ctx.onPageTransferred && !signal?.aborted) {
637
- try {
638
- await ctx.onPageTransferred();
634
+ if (missingIds.length > 0) {
635
+ const transferResult = await transferInPhases(sourceStore, targetStore, createsFirst(pageEntries, missingIds), options, {
636
+ transferred,
637
+ transferredBytes,
638
+ scanned,
639
+ totalSourceEntries: totalSourceEstimate,
640
+ currentPage,
641
+ }, logger);
642
+ transferred = transferResult.transferred;
643
+ transferredBytes = transferResult.transferredBytes;
644
+ rejected.push(...transferResult.rejected);
645
+ // Clamp the cursor at the first rejection so the retry actually
646
+ // re-offers the entry. Only the earliest one matters: everything
647
+ // after it is re-scanned anyway.
648
+ //
649
+ // Only self-resolving rejections are worth holding for. Holding for a
650
+ // purged document or a withdrawn right pins the cursor to an entry
651
+ // that earns the same refusal every time: the pair re-scans from
652
+ // there and re-offers it on every run, and never reports clean.
653
+ // Those are reported through `rejected` instead, which is where the
654
+ // caller can record them.
655
+ const holdable = holdCursorOnRejection
656
+ ? transferResult.rejected.filter((entry) => (0, types_1.isSelfResolvingRejection)((0, types_1.rejectionClassOf)(entry)))
657
+ : [];
658
+ // Everything the cursor will not wait for is gone after this run.
659
+ abandoned.push(...transferResult.rejected.filter((entry) => !holdable.includes(entry)));
660
+ if (holdable.length > 0 && !cursorIsHeld) {
661
+ const rejectedIds = new Set(holdable.map((entry) => entry.id));
662
+ const firstRejectedIndex = pageEntries.findIndex((m) => rejectedIds.has(m.id));
663
+ if (firstRejectedIndex >= 0) {
664
+ const waitingOn = pageEntries[firstRejectedIndex].id;
665
+ // Continue the count only while it is the same entry; a different
666
+ // one means the previous wait ended, one way or another.
667
+ const attempts = persisted?.hold?.id === waitingOn ? persisted.hold.attempts + 1 : 1;
668
+ if (attempts > maxHoldAttempts) {
669
+ // The refusal was classified as one that passes on its own, and
670
+ // it has not. Waiting further would only re-scan from here on
671
+ // every future run, so give up on these and let the cursor run.
672
+ logger.warn(`Giving up on ${holdable.length} entr${holdable.length === 1 ? "y" : "ies"} for ` +
673
+ `${cursorKey} after ${attempts - 1} attempts: rejected as ` +
674
+ `${(0, types_1.rejectionClassOf)(holdable[0])} but never accepted. ` +
675
+ `First reason: ${holdable[0].reason}`);
676
+ abandoned.push(...holdable);
677
+ }
678
+ else {
679
+ cursorIsHeld = true;
680
+ holdState = { id: waitingOn, attempts };
681
+ const previous = firstRejectedIndex > 0 ? pageEntries[firstRejectedIndex - 1] : null;
682
+ heldCursor = previous
683
+ ? { receiptOrder: previous.receiptOrder ?? 0, id: previous.id }
684
+ : cursorAtPageStart;
685
+ logger.warn(`Holding sync cursor at receiptOrder=${heldCursor?.receiptOrder ?? "start"} for ${cursorKey}: ` +
686
+ `${holdable.length} entr${holdable.length === 1 ? "y was" : "ies were"} rejected and must be retried ` +
687
+ `(attempt ${attempts} of ${maxHoldAttempts})`);
688
+ }
689
+ }
639
690
  }
640
- catch (error) {
691
+ if (transferResult.cancelled) {
692
+ // The current page's transfer did not complete: persist the
693
+ // boundary of the last fully transferred page instead.
641
694
  discardPrefetch();
642
- throw error;
695
+ persistScanCursor(cursor);
696
+ return {
697
+ transferred,
698
+ transferredBytes,
699
+ scanned,
700
+ cancelled: true,
701
+ rejected,
702
+ cursorHeldForRetry: cursorIsHeld,
703
+ abandoned,
704
+ };
705
+ }
706
+ for (const id of missingIds) {
707
+ transferredThisSync.add(id);
708
+ }
709
+ if (ctx.onPageTransferred && !signal?.aborted) {
710
+ try {
711
+ await settlePageProcessing();
712
+ }
713
+ catch (error) {
714
+ discardPrefetch();
715
+ throw error;
716
+ }
717
+ const processing = ctx.onPageTransferred();
718
+ // Observed here so a failure is never an unhandled rejection; it
719
+ // is rethrown where the promise is settled.
720
+ processing.catch(() => { });
721
+ pendingPageProcessing = processing;
643
722
  }
644
723
  }
645
724
  }
646
- }
647
- onProgress?.({
648
- phase: "transferring",
649
- message: `Transferred ${transferred} entries (page ${currentPage}, scanned ${scanned})`,
650
- transferredEntries: transferred,
651
- transferredBytes,
652
- scannedEntries: scanned,
653
- totalSourceEntries: totalSourceEstimate,
654
- currentPage,
655
- });
656
- if (reachedScanBound) {
657
- // Persist the last in-bound position (NOT page.nextCursor, which
658
- // already points into the out-of-bound tail): a concurrent write that
659
- // landed between the bound and the re-anchored tail must be scanned by
660
- // the next sync.
661
- const lastInBound = pageEntries.length > 0 ? pageEntries[pageEntries.length - 1] : null;
662
- if (lastInBound) {
663
- cursor = { receiptOrder: lastInBound.receiptOrder ?? 0, id: lastInBound.id };
725
+ onProgress?.({
726
+ phase: "transferring",
727
+ message: `Transferred ${transferred} entries (page ${currentPage}, scanned ${scanned})`,
728
+ transferredEntries: transferred,
729
+ transferredBytes,
730
+ scannedEntries: scanned,
731
+ totalSourceEntries: totalSourceEstimate,
732
+ currentPage,
733
+ });
734
+ if (reachedScanBound) {
735
+ // Persist the last in-bound position (NOT page.nextCursor, which
736
+ // already points into the out-of-bound tail): a concurrent write that
737
+ // landed between the bound and the re-anchored tail must be scanned by
738
+ // the next sync.
739
+ const lastInBound = pageEntries.length > 0 ? pageEntries[pageEntries.length - 1] : null;
740
+ if (lastInBound) {
741
+ cursor = { receiptOrder: lastInBound.receiptOrder ?? 0, id: lastInBound.id };
742
+ }
743
+ discardPrefetch();
744
+ break;
745
+ }
746
+ cursor = page.nextCursor;
747
+ if (!page.hasMore) {
748
+ break;
664
749
  }
665
- discardPrefetch();
666
- break;
667
- }
668
- cursor = page.nextCursor;
669
- if (!page.hasMore) {
670
- break;
671
750
  }
751
+ persistScanCursor(cursor);
752
+ return {
753
+ transferred,
754
+ transferredBytes,
755
+ scanned,
756
+ cancelled: false,
757
+ rejected,
758
+ cursorHeldForRetry: cursorIsHeld,
759
+ abandoned,
760
+ };
761
+ }
762
+ finally {
763
+ // Every exit waits for the last page's processing: callers rely on a
764
+ // finished pull having been processed, and a processing error fails
765
+ // the sync like a transfer error.
766
+ await settlePageProcessing();
672
767
  }
673
- persistScanCursor(cursor);
674
- return {
675
- transferred,
676
- transferredBytes,
677
- scanned,
678
- cancelled: false,
679
- rejected,
680
- cursorHeldForRetry: cursorIsHeld,
681
- abandoned,
682
- };
683
768
  }
684
769
  onProgress?.({
685
770
  phase: "preparing",
@@ -1 +1 @@
1
- {"version":3,"file":"syncStores.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/syncStores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncStores.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/syncStores.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,14 @@ export interface StoreScanResult {
108
108
  export interface StoreHead {
109
109
  epoch: string;
110
110
  maxReceiptOrder: number;
111
+ /**
112
+ * Number of entries currently in the store, when the store can tell
113
+ * without a scan. Sync uses it as the progress denominator so a pull does
114
+ * not have to download the remote bloom summary just to read its
115
+ * `totalIds`. Optional: older servers and stores without a cheap count
116
+ * leave it out, and sync then falls back to the bloom summary.
117
+ */
118
+ entryCount?: number;
111
119
  }
112
120
  /**
113
121
  * Why a store refused one entry. The pushing side needs this to decide what
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/appendonlystores/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/appendonlystores/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/types.ts"],"names":[],"mappings":";;;AAyLA,4DAEC;AAqBD,4DAEC;AA+BD,4CAEC;AAlFD,oFAAoF;AACvE,QAAA,qBAAqB,GAAiC;IACjE,WAAW;IACX,eAAe;IACf,QAAQ;IACR,QAAQ;IACR,aAAa;CACL,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,SAAgB,wBAAwB,CAAC,cAAiC;IACxE,OAAO,cAAc,KAAK,eAAe,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,wBAAwB,CAAC,cAAiC;IACxE,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,eAAe,CAAC;AAC3E,CAAC;AAyBD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,QAA0B;IACzD,OAAO,QAAQ,CAAC,cAAc,IAAI,WAAW,CAAC;AAChD,CAAC;AAyJD,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/types.ts"],"names":[],"mappings":";;;AAiMA,4DAEC;AAqBD,4DAEC;AA+BD,4CAEC;AAlFD,oFAAoF;AACvE,QAAA,qBAAqB,GAAiC;IACjE,WAAW;IACX,eAAe;IACf,QAAQ;IACR,QAAQ;IACR,aAAa;CACL,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,SAAgB,wBAAwB,CAAC,cAAiC;IACxE,OAAO,cAAc,KAAK,eAAe,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,wBAAwB,CAAC,cAAiC;IACxE,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,eAAe,CAAC;AAC3E,CAAC;AAyBD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,QAA0B;IACzD,OAAO,QAAQ,CAAC,cAAc,IAAI,WAAW,CAAC;AAChD,CAAC;AAyJD,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}