mindoodb 0.0.34 → 0.0.35

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 (91) hide show
  1. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +37 -3
  2. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +158 -4
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  5. package/dist/appendonlystores/network/HttpTransport.d.ts +54 -3
  6. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.js +344 -17
  8. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  9. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +39 -2
  10. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +93 -11
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  13. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +9 -1
  14. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +27 -0
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  17. package/dist/browser/index.mjs +7 -0
  18. package/dist/core/BaseMindooDB.d.ts +82 -9
  19. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  20. package/dist/core/BaseMindooDB.js +556 -150
  21. package/dist/core/BaseMindooDB.js.map +1 -1
  22. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  23. package/dist/core/BaseMindooTenant.js +2 -1
  24. package/dist/core/BaseMindooTenant.js.map +1 -1
  25. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  26. package/dist/core/BaseMindooTenantDirectory.js +4 -3
  27. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  28. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  29. package/dist/core/BaseMindooTenantFactory.js +2 -1
  30. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  31. package/dist/core/DocumentDagAnalysis.d.ts +39 -0
  32. package/dist/core/DocumentDagAnalysis.d.ts.map +1 -1
  33. package/dist/core/DocumentDagAnalysis.js +147 -3
  34. package/dist/core/DocumentDagAnalysis.js.map +1 -1
  35. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +7 -1
  36. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  37. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +15 -0
  38. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  39. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +55 -6
  40. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  41. package/dist/core/appendonlystores/network/binaryEntryFraming.d.ts +58 -0
  42. package/dist/core/appendonlystores/network/binaryEntryFraming.d.ts.map +1 -0
  43. package/dist/core/appendonlystores/network/binaryEntryFraming.js +121 -0
  44. package/dist/core/appendonlystores/network/binaryEntryFraming.js.map +1 -0
  45. package/dist/core/appendonlystores/network/types.d.ts +68 -0
  46. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  47. package/dist/core/appendonlystores/network/types.js.map +1 -1
  48. package/dist/core/appendonlystores/types.d.ts +58 -1
  49. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  50. package/dist/core/appendonlystores/types.js.map +1 -1
  51. package/dist/core/crypto/RSAEncryption.d.ts +11 -0
  52. package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
  53. package/dist/core/crypto/RSAEncryption.js +25 -0
  54. package/dist/core/crypto/RSAEncryption.js.map +1 -1
  55. package/dist/core/index.d.ts +2 -2
  56. package/dist/core/index.d.ts.map +1 -1
  57. package/dist/core/index.js +8 -2
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/types.d.ts +100 -8
  60. package/dist/core/types.d.ts.map +1 -1
  61. package/dist/core/types.js +9 -1
  62. package/dist/core/types.js.map +1 -1
  63. package/dist/core/utils/idGeneration.d.ts +52 -0
  64. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  65. package/dist/core/utils/idGeneration.js +78 -1
  66. package/dist/core/utils/idGeneration.js.map +1 -1
  67. package/dist/core/utils/index.d.ts +2 -1
  68. package/dist/core/utils/index.d.ts.map +1 -1
  69. package/dist/core/utils/index.js +8 -1
  70. package/dist/core/utils/index.js.map +1 -1
  71. package/dist/core/utils/timeSource.d.ts +34 -0
  72. package/dist/core/utils/timeSource.d.ts.map +1 -0
  73. package/dist/core/utils/timeSource.js +49 -0
  74. package/dist/core/utils/timeSource.js.map +1 -0
  75. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +17 -1
  76. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  77. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +43 -0
  78. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  79. package/dist/node/server/MindooDBServer.d.ts +38 -0
  80. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  81. package/dist/node/server/MindooDBServer.js +262 -6
  82. package/dist/node/server/MindooDBServer.js.map +1 -1
  83. package/dist/node/server/SyncEventBus.d.ts +29 -0
  84. package/dist/node/server/SyncEventBus.d.ts.map +1 -0
  85. package/dist/node/server/SyncEventBus.js +41 -0
  86. package/dist/node/server/SyncEventBus.js.map +1 -0
  87. package/dist/node/server/compressionMiddleware.d.ts +25 -0
  88. package/dist/node/server/compressionMiddleware.d.ts.map +1 -0
  89. package/dist/node/server/compressionMiddleware.js +140 -0
  90. package/dist/node/server/compressionMiddleware.js.map +1 -0
  91. package/package.json +1 -1
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpTransport = void 0;
4
4
  const types_1 = require("../../core/appendonlystores/types");
5
5
  const types_2 = require("../../core/appendonlystores/network/types");
6
+ const binaryEntryFraming_1 = require("../../core/appendonlystores/network/binaryEntryFraming");
6
7
  const logging_1 = require("../../core/logging");
7
8
  const urlSafety_1 = require("../../core/utils/urlSafety");
8
9
  /**
@@ -240,6 +241,25 @@ class HttpTransport {
240
241
  hasMore: data.hasMore === true,
241
242
  };
242
243
  }
244
+ /**
245
+ * Get the remote store head (`{ epoch, maxReceiptOrder }`) for
246
+ * persisted-cursor sync (sync-v5, phase 1).
247
+ */
248
+ async getStoreHead(token) {
249
+ const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/getStoreHead`, {
250
+ method: "POST",
251
+ headers: {
252
+ "Content-Type": "application/json",
253
+ "Authorization": `Bearer ${token}`,
254
+ },
255
+ body: JSON.stringify({
256
+ tenantId: this.config.tenantId,
257
+ dbId: this.config.dbId,
258
+ }),
259
+ });
260
+ const data = await response.json();
261
+ return data.head;
262
+ }
243
263
  /**
244
264
  * Get probabilistic ID summary from remote store.
245
265
  */
@@ -351,6 +371,85 @@ class HttpTransport {
351
371
  this.logger.debug(`Retrieved ${entries.length} encrypted entries`);
352
372
  return entries;
353
373
  }
374
+ /**
375
+ * Get entries in the session-key transport format (sync-v5, phase 2):
376
+ * one RSA-wrapped AES-256-GCM session key per response, per-entry AES-GCM
377
+ * payloads. Gated by the `supportsSessionKeyWrap` capability; the server
378
+ * switches formats on the `sessionKeyWrap` request flag.
379
+ */
380
+ async getEntriesSessionWrapped(token, ids) {
381
+ this.logger.debug(`Getting ${ids.length} entries (session-key format)`);
382
+ const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/getEntries`, {
383
+ method: "POST",
384
+ headers: {
385
+ "Content-Type": "application/json",
386
+ "Authorization": `Bearer ${token}`,
387
+ },
388
+ body: JSON.stringify({
389
+ tenantId: this.config.tenantId,
390
+ dbId: this.config.dbId,
391
+ ids,
392
+ sessionKeyWrap: true,
393
+ }),
394
+ });
395
+ const data = await response.json();
396
+ if (typeof data.wrappedSessionKey !== "string") {
397
+ throw new types_2.NetworkError(types_2.NetworkErrorType.SERVER_ERROR, "Server did not return a session-key-wrapped getEntries response");
398
+ }
399
+ const entries = (data.entries || []).map((e) => ({
400
+ ...this.deserializeEntryMetadata(e),
401
+ iv: this.base64ToUint8Array(e.iv),
402
+ sessionEncryptedPayload: this.base64ToUint8Array(e.sessionEncryptedPayload),
403
+ }));
404
+ this.logger.debug(`Retrieved ${entries.length} session-encrypted entries`);
405
+ return {
406
+ wrappedSessionKey: this.base64ToUint8Array(data.wrappedSessionKey),
407
+ entries,
408
+ };
409
+ }
410
+ /**
411
+ * Get entries via the binary wire format v2 (sync-v5, phase 3): same
412
+ * session-key encryption as getEntriesSessionWrapped, but the response is
413
+ * length-prefixed octet-stream framing — no base64, no large-JSON parse.
414
+ * Gated by the `supportsBinaryEntries` capability.
415
+ */
416
+ async getEntriesBinary(token, ids) {
417
+ this.logger.debug(`Getting ${ids.length} entries (binary v2 format)`);
418
+ const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/getEntriesBinary`, {
419
+ method: "POST",
420
+ headers: {
421
+ "Content-Type": "application/json",
422
+ "Accept": binaryEntryFraming_1.BINARY_ENTRIES_CONTENT_TYPE,
423
+ "Authorization": `Bearer ${token}`,
424
+ },
425
+ body: JSON.stringify({
426
+ tenantId: this.config.tenantId,
427
+ dbId: this.config.dbId,
428
+ ids,
429
+ }),
430
+ });
431
+ const body = new Uint8Array(await response.arrayBuffer());
432
+ const message = (0, binaryEntryFraming_1.decodeBinaryEntryMessage)(body);
433
+ if (message.header.format !== binaryEntryFraming_1.BINARY_GET_ENTRIES_FORMAT) {
434
+ throw new types_2.NetworkError(types_2.NetworkErrorType.SERVER_ERROR, `Server returned an unsupported binary entry format: ${String(message.header.format)}`);
435
+ }
436
+ if (typeof message.header.wrappedSessionKey !== "string") {
437
+ throw new types_2.NetworkError(types_2.NetworkErrorType.SERVER_ERROR, "Binary getEntries response is missing the wrapped session key");
438
+ }
439
+ const entries = message.entries.map((frame) => {
440
+ const meta = frame.meta;
441
+ return {
442
+ ...this.deserializeEntryMetadata(meta),
443
+ iv: this.base64ToUint8Array(meta.iv),
444
+ sessionEncryptedPayload: frame.payload,
445
+ };
446
+ });
447
+ this.logger.debug(`Retrieved ${entries.length} session-encrypted entries (binary)`);
448
+ return {
449
+ wrappedSessionKey: this.base64ToUint8Array(message.header.wrappedSessionKey),
450
+ entries,
451
+ };
452
+ }
354
453
  async getEntryMetadata(token, id) {
355
454
  this.logger.debug(`Getting metadata for entry ${id}`);
356
455
  const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/getEntryMetadata`, {
@@ -374,16 +473,36 @@ class HttpTransport {
374
473
  async putEntries(token, entries) {
375
474
  this.logger.debug(`Pushing ${entries.length} entries`);
376
475
  if (entries.length === 0) {
377
- return [];
476
+ return { receipts: [], rejected: [] };
378
477
  }
379
478
  const serializedEntries = entries.map((entry) => this.serializeEntry(entry));
380
479
  const maxBodyBytes = await this.getRemoteJsonBodyLimitBytes();
381
480
  if (maxBodyBytes) {
382
481
  this.logger.debug(`Remote JSON body limit advertised as ${maxBodyBytes} bytes`);
383
482
  }
384
- const receipts = await this.pushSerializedEntries(token, serializedEntries, maxBodyBytes);
385
- this.logger.debug(`Successfully pushed ${entries.length} entries (${receipts.length} receipts)`);
386
- return receipts;
483
+ const ack = await this.pushSerializedEntries(token, serializedEntries, maxBodyBytes);
484
+ this.logger.debug(`Successfully pushed ${entries.length} entries (${ack.receipts.length} receipts, ${ack.rejected.length} rejected)`);
485
+ return ack;
486
+ }
487
+ /**
488
+ * Push entries via the binary wire format v2 (sync-v5, phase 3): identical
489
+ * semantics to putEntries (same witness receipts and per-entry rejections),
490
+ * but the request body is length-prefixed octet-stream framing instead of
491
+ * JSON+base64. Gated by the `supportsBinaryEntries` capability.
492
+ */
493
+ async putEntriesBinary(token, entries) {
494
+ this.logger.debug(`Pushing ${entries.length} entries (binary v2 format)`);
495
+ if (entries.length === 0) {
496
+ return { receipts: [], rejected: [] };
497
+ }
498
+ const frames = entries.map((entry) => ({
499
+ meta: this.serializeEntryMetadata(entry),
500
+ payload: entry.encryptedData,
501
+ }));
502
+ const maxBodyBytes = await this.getRemoteJsonBodyLimitBytes();
503
+ const ack = await this.pushBinaryFrames(token, frames, maxBodyBytes);
504
+ this.logger.debug(`Successfully pushed ${entries.length} entries (${ack.receipts.length} receipts, ${ack.rejected.length} rejected, binary)`);
505
+ return ack;
387
506
  }
388
507
  /**
389
508
  * Check which of the provided IDs exist in the remote store.
@@ -449,6 +568,97 @@ class HttpTransport {
449
568
  this.logger.debug(`Resolved ${ids.length} dependencies`);
450
569
  return ids;
451
570
  }
571
+ /**
572
+ * Open the server's SSE live change feed (sync-v5, phase 5) via a
573
+ * fetch-streaming reader — native `EventSource` cannot send the
574
+ * `Authorization` header, so we parse the `text/event-stream` body
575
+ * ourselves. The promise stays pending while the stream is open and
576
+ * settles when it ends (resolves on orderly close or abort).
577
+ */
578
+ async subscribeToChanges(token, onEvent, options) {
579
+ const dbId = this.config.dbId ?? "directory";
580
+ const url = `${this.getSyncBasePath()}/events?dbId=${encodeURIComponent(dbId)}`;
581
+ this.logger.debug(`Subscribing to change events at ${url}`);
582
+ const response = await this.safeFetch(url, {
583
+ method: "GET",
584
+ headers: {
585
+ "Accept": "text/event-stream",
586
+ "Authorization": `Bearer ${token}`,
587
+ },
588
+ signal: options?.signal,
589
+ });
590
+ if (!response.ok) {
591
+ const errorData = await response.json().catch(() => ({}));
592
+ if (response.status === 401) {
593
+ throw new types_2.NetworkError(types_2.NetworkErrorType.INVALID_TOKEN, errorData.error || "Unauthorized");
594
+ }
595
+ if (response.status === 403) {
596
+ throw new types_2.NetworkError(types_2.NetworkErrorType.USER_REVOKED, errorData.error || "Access denied");
597
+ }
598
+ throw new types_2.NetworkError(types_2.NetworkErrorType.SERVER_ERROR, errorData.error || `Change feed returned HTTP ${response.status}`);
599
+ }
600
+ if (!response.body) {
601
+ // Environments without fetch response streaming (e.g. React Native)
602
+ // cannot consume SSE; callers should treat this as "not supported".
603
+ throw new types_2.NetworkError(types_2.NetworkErrorType.SERVER_ERROR, "Change feed requires fetch response streaming, which this environment does not support");
604
+ }
605
+ const reader = response.body.getReader();
606
+ const decoder = new TextDecoder();
607
+ let buffer = "";
608
+ try {
609
+ while (true) {
610
+ const { done, value } = await reader.read();
611
+ if (done) {
612
+ return;
613
+ }
614
+ buffer += decoder.decode(value, { stream: true });
615
+ // SSE messages are separated by a blank line.
616
+ let separatorIndex;
617
+ while ((separatorIndex = buffer.indexOf("\n\n")) >= 0) {
618
+ const rawMessage = buffer.slice(0, separatorIndex);
619
+ buffer = buffer.slice(separatorIndex + 2);
620
+ this.dispatchSseMessage(rawMessage, onEvent);
621
+ }
622
+ }
623
+ }
624
+ catch (error) {
625
+ if (options?.signal?.aborted) {
626
+ return;
627
+ }
628
+ throw error;
629
+ }
630
+ finally {
631
+ reader.releaseLock();
632
+ }
633
+ }
634
+ /** Parse one raw SSE message block and forward `change` events. */
635
+ dispatchSseMessage(rawMessage, onEvent) {
636
+ let eventName = "message";
637
+ const dataLines = [];
638
+ for (const line of rawMessage.split("\n")) {
639
+ if (line.startsWith(":")) {
640
+ continue; // heartbeat / comment
641
+ }
642
+ if (line.startsWith("event:")) {
643
+ eventName = line.slice(6).trim();
644
+ }
645
+ else if (line.startsWith("data:")) {
646
+ dataLines.push(line.slice(5).trimStart());
647
+ }
648
+ }
649
+ if (eventName !== "change" || dataLines.length === 0) {
650
+ return;
651
+ }
652
+ try {
653
+ const payload = JSON.parse(dataLines.join("\n"));
654
+ if (payload && typeof payload.dbId === "string") {
655
+ onEvent(payload);
656
+ }
657
+ }
658
+ catch (error) {
659
+ this.logger.warn("Ignoring malformed change event payload", error);
660
+ }
661
+ }
452
662
  /**
453
663
  * Fetch with retry and exponential backoff.
454
664
  */
@@ -650,20 +860,27 @@ class HttpTransport {
650
860
  : 1024 * 1024 * 1024;
651
861
  return Math.round(value * multiplier);
652
862
  }
863
+ /** Merge putEntries batch acks (receipts and rejections concatenate). */
864
+ static mergePutAcks(acks) {
865
+ return {
866
+ receipts: acks.flatMap((ack) => ack.receipts),
867
+ rejected: acks.flatMap((ack) => ack.rejected),
868
+ };
869
+ }
653
870
  async pushSerializedEntries(token, serializedEntries, maxBodyBytes) {
654
871
  if (serializedEntries.length === 0) {
655
- return [];
872
+ return { receipts: [], rejected: [] };
656
873
  }
657
874
  if (maxBodyBytes !== null) {
658
875
  const batches = this.partitionSerializedEntriesForMaxBodySize(serializedEntries, maxBodyBytes);
659
876
  if (batches.length > 1) {
660
877
  this.logger.debug(`Split putEntries payload into ${batches.length} batch(es) for body limit ${maxBodyBytes}`);
661
878
  }
662
- const receipts = [];
879
+ const acks = [];
663
880
  for (const batch of batches) {
664
- receipts.push(...await this.sendSerializedEntriesBatch(token, batch, maxBodyBytes));
881
+ acks.push(await this.sendSerializedEntriesBatch(token, batch, maxBodyBytes));
665
882
  }
666
- return receipts;
883
+ return HttpTransport.mergePutAcks(acks);
667
884
  }
668
885
  return this.sendSerializedEntriesBatch(token, serializedEntries, null);
669
886
  }
@@ -679,9 +896,9 @@ class HttpTransport {
679
896
  const left = serializedEntries.slice(0, midpoint);
680
897
  const right = serializedEntries.slice(midpoint);
681
898
  this.logger.warn(`putEntries batch with ${serializedEntries.length} entries exceeded remote limit; retrying as ${left.length} + ${right.length} batches.`);
682
- const leftReceipts = await this.pushSerializedEntries(token, left, maxBodyBytes);
683
- const rightReceipts = await this.pushSerializedEntries(token, right, maxBodyBytes);
684
- return [...leftReceipts, ...rightReceipts];
899
+ const leftAck = await this.pushSerializedEntries(token, left, maxBodyBytes);
900
+ const rightAck = await this.pushSerializedEntries(token, right, maxBodyBytes);
901
+ return HttpTransport.mergePutAcks([leftAck, rightAck]);
685
902
  }
686
903
  throw error;
687
904
  }
@@ -717,6 +934,118 @@ class HttpTransport {
717
934
  }
718
935
  return batches;
719
936
  }
937
+ /** Message header for binary putEntries bodies (dbId travels here — no JSON body). */
938
+ binaryPutHeader() {
939
+ return {
940
+ format: binaryEntryFraming_1.BINARY_PUT_ENTRIES_FORMAT,
941
+ tenantId: this.config.tenantId,
942
+ dbId: this.config.dbId,
943
+ };
944
+ }
945
+ async pushBinaryFrames(token, frames, maxBodyBytes) {
946
+ if (frames.length === 0) {
947
+ return { receipts: [], rejected: [] };
948
+ }
949
+ if (maxBodyBytes !== null) {
950
+ const batches = this.partitionBinaryFramesForMaxBodySize(frames, maxBodyBytes);
951
+ if (batches.length > 1) {
952
+ this.logger.debug(`Split binary putEntries payload into ${batches.length} batch(es) for body limit ${maxBodyBytes}`);
953
+ }
954
+ const acks = [];
955
+ for (const batch of batches) {
956
+ acks.push(await this.sendBinaryFramesBatch(token, batch, maxBodyBytes));
957
+ }
958
+ return HttpTransport.mergePutAcks(acks);
959
+ }
960
+ return this.sendBinaryFramesBatch(token, frames, null);
961
+ }
962
+ async sendBinaryFramesBatch(token, frames, maxBodyBytes) {
963
+ try {
964
+ return await this.postBinaryFrames(token, frames);
965
+ }
966
+ catch (error) {
967
+ if (error instanceof types_2.NetworkError
968
+ && error.type === types_2.NetworkErrorType.PAYLOAD_TOO_LARGE
969
+ && frames.length > 1) {
970
+ const midpoint = Math.ceil(frames.length / 2);
971
+ const left = frames.slice(0, midpoint);
972
+ const right = frames.slice(midpoint);
973
+ this.logger.warn(`Binary putEntries batch with ${frames.length} entries exceeded remote limit; retrying as ${left.length} + ${right.length} batches.`);
974
+ const leftAck = await this.pushBinaryFrames(token, left, maxBodyBytes);
975
+ const rightAck = await this.pushBinaryFrames(token, right, maxBodyBytes);
976
+ return HttpTransport.mergePutAcks([leftAck, rightAck]);
977
+ }
978
+ throw error;
979
+ }
980
+ }
981
+ partitionBinaryFramesForMaxBodySize(frames, maxBodyBytes) {
982
+ const header = this.binaryPutHeader();
983
+ const emptyBodyBytes = (0, binaryEntryFraming_1.measureBinaryEntryMessage)(header, []);
984
+ const batches = [];
985
+ let currentBatch = [];
986
+ let currentBodyBytes = emptyBodyBytes;
987
+ for (const frame of frames) {
988
+ const frameBytes = (0, binaryEntryFraming_1.measureBinaryEntryMessage)(header, [frame]) - emptyBodyBytes;
989
+ if (emptyBodyBytes + frameBytes > maxBodyBytes) {
990
+ throw new types_2.NetworkError(types_2.NetworkErrorType.PAYLOAD_TOO_LARGE, `Single entry ${String(frame.meta.id)} exceeds remote request body limit of ${maxBodyBytes} bytes`);
991
+ }
992
+ if (currentBodyBytes + frameBytes > maxBodyBytes) {
993
+ batches.push(currentBatch);
994
+ currentBatch = [frame];
995
+ currentBodyBytes = emptyBodyBytes + frameBytes;
996
+ }
997
+ else {
998
+ currentBatch.push(frame);
999
+ currentBodyBytes += frameBytes;
1000
+ }
1001
+ }
1002
+ if (currentBatch.length > 0) {
1003
+ batches.push(currentBatch);
1004
+ }
1005
+ return batches;
1006
+ }
1007
+ async postBinaryFrames(token, frames) {
1008
+ const body = (0, binaryEntryFraming_1.encodeBinaryEntryMessage)({
1009
+ header: this.binaryPutHeader(),
1010
+ entries: frames,
1011
+ });
1012
+ const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/putEntriesBinary`, {
1013
+ method: "POST",
1014
+ headers: {
1015
+ "Content-Type": binaryEntryFraming_1.BINARY_ENTRIES_CONTENT_TYPE,
1016
+ "Authorization": `Bearer ${token}`,
1017
+ },
1018
+ // encodeBinaryEntryMessage returns a freshly allocated, exact-size
1019
+ // Uint8Array, so its backing buffer can be handed to fetch directly.
1020
+ body: body.buffer,
1021
+ });
1022
+ // Same JSON receipts/rejections contract as the legacy putEntries endpoint.
1023
+ try {
1024
+ const data = await response.json();
1025
+ return this.parsePutEntriesAck(data);
1026
+ }
1027
+ catch (error) {
1028
+ this.logger.warn("Could not parse binary putEntries receipts; continuing without them.", error);
1029
+ return { receipts: [], rejected: [] };
1030
+ }
1031
+ }
1032
+ /**
1033
+ * Parse the JSON body of a putEntries/putEntriesBinary response into a
1034
+ * {@link PutEntriesAck}. Older servers omit `receipts` and/or `rejected`.
1035
+ */
1036
+ parsePutEntriesAck(data) {
1037
+ const body = (data ?? {});
1038
+ const receipts = (body.receipts ?? []).map((e) => this.deserializeEntryMetadata(e));
1039
+ const rejected = Array.isArray(body.rejected)
1040
+ ? body.rejected
1041
+ .filter((r) => typeof r?.id === "string")
1042
+ .map((r) => ({
1043
+ id: r.id,
1044
+ reason: typeof r.reason === "string" ? r.reason : "rejected by remote",
1045
+ }))
1046
+ : [];
1047
+ return { receipts, rejected };
1048
+ }
720
1049
  async postSerializedEntries(token, serializedEntries) {
721
1050
  const response = await this.fetchWithRetry(`${this.getSyncBasePath()}/putEntries`, {
722
1051
  method: "POST",
@@ -731,18 +1060,16 @@ class HttpTransport {
731
1060
  }),
732
1061
  });
733
1062
  // The server returns witness receipts (stamped metadata) for accepted
734
- // entries (docs/accesscontrol.md §5.3). Older servers omit the field.
735
- let receipts = [];
1063
+ // entries (docs/accesscontrol.md §5.3) and per-entry rejections for
1064
+ // signature-class failures. Older servers omit both fields.
736
1065
  try {
737
1066
  const data = await response.json();
738
- const serialized = data?.receipts ?? [];
739
- receipts = serialized.map((e) => this.deserializeEntryMetadata(e));
1067
+ return this.parsePutEntriesAck(data);
740
1068
  }
741
1069
  catch {
742
1070
  // Non-JSON / empty body from a legacy server: no receipts to apply.
743
- receipts = [];
1071
+ return { receipts: [], rejected: [] };
744
1072
  }
745
- return receipts;
746
1073
  }
747
1074
  measureBodyBytes(value) {
748
1075
  return new TextEncoder().encode(value).length;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpTransport.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/HttpTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpTransport.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/HttpTransport.ts"],"names":[],"mappings":"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"}