@enbox/dwn-sdk-js 0.4.9 → 0.4.11

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 (138) hide show
  1. package/dist/browser.mjs +1 -1
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +1262 -3888
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +0 -26
  6. package/dist/esm/src/core/constants.js.map +1 -1
  7. package/dist/esm/src/core/encryption-control.js +0 -10
  8. package/dist/esm/src/core/encryption-control.js.map +1 -1
  9. package/dist/esm/src/core/replication-apply.js.map +1 -1
  10. package/dist/esm/src/handlers/records-query.js +9 -11
  11. package/dist/esm/src/handlers/records-query.js.map +1 -1
  12. package/dist/esm/src/handlers/records-read.js +15 -6
  13. package/dist/esm/src/handlers/records-read.js.map +1 -1
  14. package/dist/esm/src/handlers/records-subscribe.js +8 -11
  15. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  16. package/dist/esm/src/handlers/records-write.js +6 -12
  17. package/dist/esm/src/handlers/records-write.js.map +1 -1
  18. package/dist/esm/src/index.js +1 -1
  19. package/dist/esm/src/index.js.map +1 -1
  20. package/dist/esm/src/interfaces/records-write-query.js +3 -0
  21. package/dist/esm/src/interfaces/records-write-query.js.map +1 -1
  22. package/dist/esm/src/interfaces/records-write.js +0 -9
  23. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  24. package/dist/esm/src/store/message-store-level.js +104 -3
  25. package/dist/esm/src/store/message-store-level.js.map +1 -1
  26. package/dist/esm/src/store/storage-controller.js +44 -33
  27. package/dist/esm/src/store/storage-controller.js.map +1 -1
  28. package/dist/esm/src/utils/encryption.js +2 -7
  29. package/dist/esm/src/utils/encryption.js.map +1 -1
  30. package/dist/esm/src/utils/hd-key.js +0 -27
  31. package/dist/esm/src/utils/hd-key.js.map +1 -1
  32. package/dist/esm/src/utils/initial-write-attachment.js +48 -0
  33. package/dist/esm/src/utils/initial-write-attachment.js.map +1 -0
  34. package/dist/esm/src/utils/protocols.js +23 -51
  35. package/dist/esm/src/utils/protocols.js.map +1 -1
  36. package/dist/esm/src/utils/records.js +17 -31
  37. package/dist/esm/src/utils/records.js.map +1 -1
  38. package/dist/esm/tests/core/constants.spec.js +1 -11
  39. package/dist/esm/tests/core/constants.spec.js.map +1 -1
  40. package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
  41. package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
  42. package/dist/esm/tests/features/protocol-composition.spec.js +15 -60
  43. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  44. package/dist/esm/tests/handlers/records-delete.spec.js +1 -1
  45. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  46. package/dist/esm/tests/handlers/records-query.spec.js +82 -0
  47. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  48. package/dist/esm/tests/handlers/records-read.spec.js +40 -13
  49. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  50. package/dist/esm/tests/handlers/records-subscribe.spec.js +60 -1
  51. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  52. package/dist/esm/tests/handlers/records-write.spec.js +10 -10
  53. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  54. package/dist/esm/tests/interfaces/protocols-configure.spec.js +5 -5
  55. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  56. package/dist/esm/tests/interfaces/records-write.spec.js +5 -51
  57. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  58. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +2 -2
  59. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  60. package/dist/esm/tests/store/message-store.spec.js +105 -0
  61. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  62. package/dist/esm/tests/utils/encryption-callbacks.spec.js +18 -30
  63. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  64. package/dist/esm/tests/utils/encryption-control-test-utils.js +1 -1
  65. package/dist/esm/tests/utils/encryption-control-test-utils.js.map +1 -1
  66. package/dist/esm/tests/utils/encryption.spec.js +30 -33
  67. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  68. package/dist/esm/tests/utils/test-data-generator.js +76 -24
  69. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  70. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +1 -1
  71. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  72. package/dist/types/generated/precompiled-validators.d.ts +88 -120
  73. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  74. package/dist/types/src/core/constants.d.ts +0 -13
  75. package/dist/types/src/core/constants.d.ts.map +1 -1
  76. package/dist/types/src/core/encryption-control.d.ts +0 -1
  77. package/dist/types/src/core/encryption-control.d.ts.map +1 -1
  78. package/dist/types/src/core/replication-apply.d.ts +0 -7
  79. package/dist/types/src/core/replication-apply.d.ts.map +1 -1
  80. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  81. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  82. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  83. package/dist/types/src/index.d.ts +2 -2
  84. package/dist/types/src/index.d.ts.map +1 -1
  85. package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -1
  86. package/dist/types/src/interfaces/records-write.d.ts +0 -4
  87. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  88. package/dist/types/src/store/message-store-level.d.ts +9 -1
  89. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  90. package/dist/types/src/store/storage-controller.d.ts +18 -8
  91. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  92. package/dist/types/src/types/message-store.d.ts +36 -0
  93. package/dist/types/src/types/message-store.d.ts.map +1 -1
  94. package/dist/types/src/utils/encryption.d.ts +0 -3
  95. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  96. package/dist/types/src/utils/hd-key.d.ts +1 -11
  97. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  98. package/dist/types/src/utils/initial-write-attachment.d.ts +17 -0
  99. package/dist/types/src/utils/initial-write-attachment.d.ts.map +1 -0
  100. package/dist/types/src/utils/protocols.d.ts +2 -7
  101. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  102. package/dist/types/src/utils/records.d.ts +1 -8
  103. package/dist/types/src/utils/records.d.ts.map +1 -1
  104. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  105. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  106. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  107. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  108. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  109. package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
  110. package/dist/types/tests/utils/test-data-generator.d.ts +17 -1
  111. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  112. package/package.json +3 -3
  113. package/src/core/constants.ts +0 -30
  114. package/src/core/encryption-control.ts +1 -17
  115. package/src/core/replication-apply.ts +0 -8
  116. package/src/handlers/records-query.ts +21 -22
  117. package/src/handlers/records-read.ts +22 -9
  118. package/src/handlers/records-subscribe.ts +9 -15
  119. package/src/handlers/records-write.ts +15 -15
  120. package/src/index.ts +1 -2
  121. package/src/interfaces/records-write-query.ts +3 -0
  122. package/src/interfaces/records-write.ts +0 -13
  123. package/src/store/message-store-level.ts +160 -5
  124. package/src/store/storage-controller.ts +57 -43
  125. package/src/types/message-store.ts +37 -0
  126. package/src/utils/encryption.ts +2 -15
  127. package/src/utils/hd-key.ts +1 -32
  128. package/src/utils/initial-write-attachment.ts +64 -0
  129. package/src/utils/protocols.ts +15 -78
  130. package/src/utils/records.ts +15 -57
  131. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js +0 -47
  132. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js.map +0 -1
  133. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +0 -72
  134. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +0 -1
  135. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts +0 -2
  136. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts.map +0 -1
  137. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +0 -2
  138. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +0 -1
@@ -702,7 +702,7 @@ describe('ProtocolsConfigure', () => {
702
702
  },
703
703
  };
704
704
  const alice = await TestDataGenerator.generatePersona();
705
- const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, alice.keyId, alice.encryptionKeyPair.privateJwk);
705
+ const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
706
706
  await expect(ProtocolsConfigure.create({
707
707
  signer: Jws.createSigner(alice),
708
708
  definition: encryptedDefinition,
@@ -732,7 +732,7 @@ describe('ProtocolsConfigure', () => {
732
732
  },
733
733
  };
734
734
  const alice = await TestDataGenerator.generatePersona();
735
- const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, alice.keyId, alice.encryptionKeyPair.privateJwk);
735
+ const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
736
736
  await expect(ProtocolsConfigure.create({
737
737
  signer: Jws.createSigner(alice),
738
738
  definition: encryptedDefinition,
@@ -755,7 +755,7 @@ describe('ProtocolsConfigure', () => {
755
755
  },
756
756
  };
757
757
  const alice = await TestDataGenerator.generatePersona();
758
- const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, alice.keyId, alice.encryptionKeyPair.privateJwk);
758
+ const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
759
759
  const result = await ProtocolsConfigure.create({
760
760
  signer: Jws.createSigner(alice),
761
761
  definition: encryptedDefinition,
@@ -793,7 +793,7 @@ describe('ProtocolsConfigure', () => {
793
793
  },
794
794
  };
795
795
  const alice = await TestDataGenerator.generatePersona();
796
- const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, alice.keyId, alice.encryptionKeyPair.privateJwk);
796
+ const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
797
797
  const result = await ProtocolsConfigure.create({
798
798
  signer: Jws.createSigner(alice),
799
799
  definition: encryptedDefinition,
@@ -825,7 +825,7 @@ describe('ProtocolsConfigure', () => {
825
825
  },
826
826
  };
827
827
  const alice = await TestDataGenerator.generatePersona();
828
- const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, alice.keyId, alice.encryptionKeyPair.privateJwk);
828
+ const encryptedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(definition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
829
829
  await expect(ProtocolsConfigure.create({
830
830
  signer: Jws.createSigner(alice),
831
831
  definition: encryptedDefinition,
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../tests/interfaces/protocols-configure.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../tests/interfaces/protocols-configure.spec.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ import { RecordsWrite } from '../../src/interfaces/records-write.js';
9
9
  import { RecordsWriteHandler } from '../../src/handlers/records-write.js';
10
10
  import { TestDataGenerator } from '../utils/test-data-generator.js';
11
11
  import { Time } from '../../src/utils/time.js';
12
- import { ContentEncryptionAlgorithm, DwnInterfaceName, DwnMethodName, Encoder, HdKey, Jws, KeyAgreementAlgorithm, KeyDerivationScheme, Message, PermissionsProtocol, ROLE_AUDIENCE_DERIVATION_SCHEME, } from '../../src/index.js';
12
+ import { X25519 } from '@enbox/crypto';
13
+ import { ContentEncryptionAlgorithm, DwnInterfaceName, DwnMethodName, Encoder, Jws, KeyAgreementAlgorithm, KeyDerivationScheme, Message, PermissionsProtocol, ROLE_AUDIENCE_DERIVATION_SCHEME, } from '../../src/index.js';
13
14
  import { createTestValidationStateReader } from '../utils/test-validation-state-reader.js';
14
15
  describe('RecordsWrite', () => {
15
16
  beforeEach(() => {
@@ -439,7 +440,8 @@ describe('RecordsWrite', () => {
439
440
  derivationScheme: KeyDerivationScheme.ProtocolPath,
440
441
  rootKeyId: 'unused',
441
442
  };
442
- const publicKey = await HdKey.derivePublicKey(rootKey, [KeyDerivationScheme.ProtocolPath, protocol, protocolPath]);
443
+ const leafKey = await TestDataGenerator.deriveDescendantPrivateKey(rootKey, [KeyDerivationScheme.ProtocolPath, protocol, protocolPath]);
444
+ const publicKey = await X25519.getPublicKey({ key: leafKey.derivedPrivateKey });
443
445
  const encryptionInput = {
444
446
  initializationVector: dataEncryptionInitializationVector,
445
447
  key: dataEncryptionKey,
@@ -465,7 +467,7 @@ describe('RecordsWrite', () => {
465
467
  });
466
468
  expect(updateWrite.message.encryption).toEqual(initialWrite.message.encryption);
467
469
  expect(updateWrite.signaturePayload.encryptionCid).toBe(initialWrite.signaturePayload.encryptionCid);
468
- const decryptedStream = await Records.decrypt(updateWrite.message, rootKey, DataStream.fromBytes(encryptedData));
470
+ const decryptedStream = await Records.decrypt(updateWrite.message, TestDataGenerator.createKeyDecrypter(rootKey), DataStream.fromBytes(encryptedData));
469
471
  expect(await DataStream.toBytes(decryptedStream)).toEqual(plaintext);
470
472
  });
471
473
  });
@@ -643,53 +645,5 @@ describe('RecordsWrite', () => {
643
645
  expect(() => recordsWrite.message).toThrow(DwnErrorCode.RecordsWriteMissingSigner);
644
646
  });
645
647
  });
646
- describe('encryptSymmetricEncryptionKey()', () => {
647
- it('should replace encryption property by default', async () => {
648
- const alice = await TestDataGenerator.generatePersona();
649
- const bob = await TestDataGenerator.generatePersona();
650
- const dataEncryptionKey = TestDataGenerator.randomBytes(32);
651
- const dataEncryptionIV = TestDataGenerator.randomBytes(16);
652
- const recordsWrite = await RecordsWrite.create({
653
- signer: Jws.createSigner(alice),
654
- protocol: 'https://example.com/protocol',
655
- protocolPath: 'test',
656
- schema: 'https://example.com/schema',
657
- dataFormat: 'application/octet-stream',
658
- data: TestDataGenerator.randomBytes(100),
659
- });
660
- // First encryption — ProtocolPath
661
- const encryptionInput1 = {
662
- initializationVector: dataEncryptionIV,
663
- key: dataEncryptionKey,
664
- keyEncryptionInputs: [{
665
- algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
666
- keyId: await Encryption.getKeyId(alice.encryptionKeyPair.publicJwk),
667
- publicKey: alice.encryptionKeyPair.publicJwk,
668
- derivationScheme: KeyDerivationScheme.ProtocolPath,
669
- }],
670
- };
671
- await recordsWrite.encryptSymmetricEncryptionKey(encryptionInput1);
672
- expect(recordsWrite['_message'].encryption).toBeDefined();
673
- expect(recordsWrite['_message'].encryption.keyEncryption).toHaveLength(1);
674
- expect(recordsWrite['_message'].encryption.keyEncryption[0].derivationScheme).toBe('protocolPath');
675
- // Second encryption (replace mode) — should overwrite
676
- const encryptionInput2 = {
677
- initializationVector: dataEncryptionIV,
678
- key: dataEncryptionKey,
679
- keyEncryptionInputs: [{
680
- algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
681
- keyId: await Encryption.getKeyId(bob.encryptionKeyPair.publicJwk),
682
- publicKey: bob.encryptionKeyPair.publicJwk,
683
- derivationScheme: KeyDerivationScheme.ProtocolPath,
684
- }],
685
- };
686
- await recordsWrite.encryptSymmetricEncryptionKey(encryptionInput2);
687
- // Should have replaced — only Bob's entry remains
688
- const encryption = recordsWrite['_message'].encryption;
689
- expect(encryption.keyEncryption).toHaveLength(1);
690
- expect(encryption.keyEncryption[0].derivationScheme).toBe('protocolPath');
691
- expect(encryption.keyEncryption[0].keyId).toBe(await Encryption.getKeyId(bob.encryptionKeyPair.publicJwk));
692
- });
693
- });
694
648
  });
695
649
  //# sourceMappingURL=records-write.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"records-write.spec.js","sourceRoot":"","sources":["../../../../tests/interfaces/records-write.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-write.spec.js","sourceRoot":"","sources":["../../../../tests/interfaces/records-write.spec.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export function testEndToEndScenarios() {
63
63
  ...chatRuleSet.$actions,
64
64
  ];
65
65
  // Alice configures chat protocol with encryption
66
- const protocolDefinitionForAlice = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.encryptionKeyPair.privateJwk);
66
+ const protocolDefinitionForAlice = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
67
67
  const encryptedThreadRuleSet = protocolDefinitionForAlice.structure.thread;
68
68
  const encryptedParticipantRuleSet = encryptedThreadRuleSet.participant;
69
69
  const encryptedChatRuleSet = encryptedThreadRuleSet.chat;
@@ -184,7 +184,7 @@ export function testEndToEndScenarios() {
184
184
  derivationScheme: KeyDerivationScheme.ProtocolPath,
185
185
  rootKeyId: alice.keyId,
186
186
  };
187
- const decryptedChatMessageStream2 = await Records.decrypt(chatReadReply.entry.recordsWrite, aliceRootKey, DataStream.fromBytes(encryptedChatMessageBytes));
187
+ const decryptedChatMessageStream2 = await Records.decrypt(chatReadReply.entry.recordsWrite, TestDataGenerator.createKeyDecrypter(aliceRootKey), DataStream.fromBytes(encryptedChatMessageBytes));
188
188
  expect(await DataStream.toBytes(decryptedChatMessageStream2)).toEqual(Encoder.stringToBytes(messageByAlice));
189
189
  });
190
190
  });
@@ -1 +1 @@
1
- {"version":3,"file":"end-to-end-tests.spec.js","sourceRoot":"","sources":["../../../../tests/scenarios/end-to-end-tests.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"end-to-end-tests.spec.js","sourceRoot":"","sources":["../../../../tests/scenarios/end-to-end-tests.spec.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test'
2
2
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
3
3
  import { lexicographicalCompare } from '../../src/utils/string.js';
4
4
  import { Message } from '../../src/core/message.js';
5
+ import { Replication } from '../../src/utils/replication.js';
5
6
  import { SortDirection } from '../../src/types/query-types.js';
6
7
  import { TestDataGenerator } from '../utils/test-data-generator.js';
7
8
  import { TestStores } from '../test-stores.js';
@@ -539,6 +540,110 @@ export function testMessageStore() {
539
540
  expect(count).toBe(7);
540
541
  });
541
542
  });
543
+ describe('commitLatestState', () => {
544
+ beforeAll(async () => {
545
+ const stores = TestStores.get();
546
+ messageStore = stores.messageStore;
547
+ await messageStore.open();
548
+ });
549
+ beforeEach(async () => {
550
+ await messageStore.clear();
551
+ });
552
+ afterAll(async () => {
553
+ await messageStore.close();
554
+ });
555
+ it('should insert the new message, demote retained writes, and delete displaced rows in one commit', async () => {
556
+ const alice = await TestDataGenerator.generateDidKeyPersona();
557
+ const initial = await TestDataGenerator.generateRecordsWrite({ author: alice });
558
+ await messageStore.put(alice.did, initial.message, await initial.recordsWrite.constructIndexes(true));
559
+ const update1 = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: initial.recordsWrite });
560
+ await messageStore.put(alice.did, update1.message, await update1.recordsWrite.constructIndexes(true));
561
+ const update2 = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: update1.recordsWrite });
562
+ const initialCid = await Message.getCid(initial.message);
563
+ const update1Cid = await Message.getCid(update1.message);
564
+ const result = await messageStore.commitLatestState(alice.did, {
565
+ put: { message: update2.message, indexes: await update2.recordsWrite.constructIndexes(true) },
566
+ retains: [{ messageCid: initialCid, message: initial.message, indexes: await initial.recordsWrite.constructIndexes(false) }],
567
+ deletes: [update1Cid],
568
+ });
569
+ expect(result.status).toBe('inserted');
570
+ expect(result.position).toBeDefined();
571
+ // only the new message carries latest state
572
+ const { messages: latestMessages } = await messageStore.query(alice.did, [{ recordId: initial.message.recordId, isLatestBaseState: true }]);
573
+ expect(latestMessages).toHaveLength(1);
574
+ expect(await Message.getCid(latestMessages[0])).toBe(await Message.getCid(update2.message));
575
+ // the initial write is retained as non-latest state
576
+ const { messages: retainedMessages } = await messageStore.query(alice.did, [{ recordId: initial.message.recordId, isLatestBaseState: false }]);
577
+ expect(retainedMessages).toHaveLength(1);
578
+ expect(await Message.getCid(retainedMessages[0])).toBe(initialCid);
579
+ // the displaced non-retained update is gone
580
+ expect(await messageStore.get(alice.did, update1Cid)).toBeUndefined();
581
+ });
582
+ it('should apply retains and deletes even when the new message is a duplicate', async () => {
583
+ const alice = await TestDataGenerator.generateDidKeyPersona();
584
+ const initial = await TestDataGenerator.generateRecordsWrite({ author: alice });
585
+ await messageStore.put(alice.did, initial.message, await initial.recordsWrite.constructIndexes(true));
586
+ const update = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: initial.recordsWrite });
587
+ await messageStore.put(alice.did, update.message, await update.recordsWrite.constructIndexes(true));
588
+ // both rows now carry latest state — the residue a crash between a two-step insert and
589
+ // demotion would leave behind; replaying the transition must heal it
590
+ const initialCid = await Message.getCid(initial.message);
591
+ const result = await messageStore.commitLatestState(alice.did, {
592
+ put: { message: update.message, indexes: await update.recordsWrite.constructIndexes(true) },
593
+ retains: [{ messageCid: initialCid, message: initial.message, indexes: await initial.recordsWrite.constructIndexes(false) }],
594
+ deletes: [],
595
+ });
596
+ expect(result.status).toBe('duplicate');
597
+ const { messages: latestMessages } = await messageStore.query(alice.did, [{ recordId: initial.message.recordId, isLatestBaseState: true }]);
598
+ expect(latestMessages).toHaveLength(1);
599
+ expect(await Message.getCid(latestMessages[0])).toBe(await Message.getCid(update.message));
600
+ });
601
+ it('should reject a retain whose replacement message does not match its target CID without applying the insert', async () => {
602
+ const alice = await TestDataGenerator.generateDidKeyPersona();
603
+ const initial = await TestDataGenerator.generateRecordsWrite({ author: alice });
604
+ await messageStore.put(alice.did, initial.message, await initial.recordsWrite.constructIndexes(true));
605
+ const update = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: initial.recordsWrite });
606
+ const initialCid = await Message.getCid(initial.message);
607
+ const updateCid = await Message.getCid(update.message);
608
+ await expect(messageStore.commitLatestState(alice.did, {
609
+ put: { message: update.message, indexes: await update.recordsWrite.constructIndexes(true) },
610
+ retains: [{ messageCid: initialCid, message: update.message, indexes: await initial.recordsWrite.constructIndexes(false) }],
611
+ })).rejects.toThrow(DwnErrorCode.MessageStoreUpdateMessageAndIndexesCidMismatch);
612
+ expect(await messageStore.get(alice.did, updateCid)).toBeUndefined();
613
+ });
614
+ it('should fold the insert and delete fingerprint contributions of a shared domain without losing either', async () => {
615
+ const alice = await TestDataGenerator.generateDidKeyPersona();
616
+ const bob = await TestDataGenerator.generateDidKeyPersona();
617
+ // the same message set lands on both tenants; alice through one atomic commit whose
618
+ // insert and delete share fingerprint domains, bob through sequential single mutations
619
+ const initial = await TestDataGenerator.generateRecordsWrite({ author: alice });
620
+ const update1 = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: initial.recordsWrite });
621
+ const update2 = await TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: update1.recordsWrite });
622
+ const initialCid = await Message.getCid(initial.message);
623
+ const update1Cid = await Message.getCid(update1.message);
624
+ const initialLatestIndexes = await initial.recordsWrite.constructIndexes(true);
625
+ const initialRetainedIndexes = await initial.recordsWrite.constructIndexes(false);
626
+ const update1Indexes = await update1.recordsWrite.constructIndexes(true);
627
+ const update2Indexes = await update2.recordsWrite.constructIndexes(true);
628
+ for (const tenant of [alice.did, bob.did]) {
629
+ await messageStore.put(tenant, initial.message, initialLatestIndexes);
630
+ await messageStore.put(tenant, update1.message, update1Indexes);
631
+ }
632
+ await messageStore.commitLatestState(alice.did, {
633
+ put: { message: update2.message, indexes: update2Indexes },
634
+ retains: [{ messageCid: initialCid, message: initial.message, indexes: initialRetainedIndexes }],
635
+ deletes: [update1Cid],
636
+ });
637
+ await messageStore.put(bob.did, update2.message, update2Indexes);
638
+ await messageStore.updateMessageAndIndexes(bob.did, initialCid, initial.message, initialRetainedIndexes);
639
+ await messageStore.delete(bob.did, update1Cid);
640
+ // fingerprint contributions are tenant-independent hashes of message CIDs, so identical
641
+ // message sets must produce identical domain fingerprints across the two tenants
642
+ const scopes = Replication.computeFingerprintScopes(update2.message, update2Indexes);
643
+ const feedReader = messageStore;
644
+ expect(await feedReader.fingerprint(alice.did, scopes)).toBe(await feedReader.fingerprint(bob.did, scopes));
645
+ });
646
+ });
542
647
  });
543
648
  }
544
649
  //# sourceMappingURL=message-store.spec.js.map