@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
@@ -1 +1 @@
1
- {"version":3,"file":"validation-read-closure.spec.js","sourceRoot":"","sources":["../../../../tests/core/validation-read-closure.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-read-closure.spec.js","sourceRoot":"","sources":["../../../../tests/core/validation-read-closure.spec.ts"],"names":[],"mappings":"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"}
@@ -2029,40 +2029,7 @@ export function testProtocolComposition() {
2029
2029
  encryptionPrivateJwk = privateKey;
2030
2030
  encryptionRootKeyId = 'did:example:alice#enc';
2031
2031
  });
2032
- it('should skip `$keyAgreement` injection on `$ref` nodes but inject on their children (raw-key path)', async () => {
2033
- const composingProtocol = {
2034
- protocol: 'https://comments.example.com',
2035
- published: true,
2036
- uses: { threads: 'https://threads.example.com' },
2037
- types: {
2038
- comment: { schema: 'https://comments.example.com/schemas/comment', dataFormats: ['application/json'] },
2039
- reaction: { schema: 'https://comments.example.com/schemas/reaction', dataFormats: ['application/json'] },
2040
- },
2041
- structure: {
2042
- thread: {
2043
- $ref: 'threads:thread',
2044
- comment: {
2045
- $actions: [{ who: 'anyone', can: ['create', 'read'] }],
2046
- reaction: {
2047
- $actions: [{ who: 'anyone', can: ['create', 'read'] }],
2048
- },
2049
- },
2050
- },
2051
- },
2052
- };
2053
- const result = await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, encryptionRootKeyId, encryptionPrivateJwk);
2054
- expect(result.$keyAgreement).toBeDefined();
2055
- // $ref node must NOT have $keyAgreement
2056
- expect(result.structure.thread.$keyAgreement).toBeUndefined();
2057
- // Children of $ref node MUST have $keyAgreement
2058
- const commentRuleSet = result.structure.thread.comment;
2059
- expect(commentRuleSet.$keyAgreement).toBeDefined();
2060
- expect(commentRuleSet.$keyAgreement.publicKeyJwk).toBeDefined();
2061
- // Grandchild of $ref node
2062
- const reactionRuleSet = commentRuleSet.reaction;
2063
- expect(reactionRuleSet.$keyAgreement).toBeDefined();
2064
- });
2065
- it('should skip `$keyAgreement` injection on `$ref` nodes but inject on their children (callback path)', async () => {
2032
+ it('should skip `$keyAgreement` injection on `$ref` nodes but inject on their children', async () => {
2066
2033
  const composingProtocol = {
2067
2034
  protocol: 'https://comments.example.com',
2068
2035
  published: true,
@@ -2112,7 +2079,7 @@ export function testProtocolComposition() {
2112
2079
  expect(calledPaths).toContainEqual(commentPath);
2113
2080
  expect(calledPaths).toContainEqual(reactionPath);
2114
2081
  });
2115
- it('should produce identical $keyAgreement for children across both overloads', async () => {
2082
+ it('should inject child `$keyAgreement` keys derived under the composing protocol URI', async () => {
2116
2083
  const composingProtocol = {
2117
2084
  protocol: 'https://comments.example.com',
2118
2085
  published: true,
@@ -2127,27 +2094,15 @@ export function testProtocolComposition() {
2127
2094
  },
2128
2095
  },
2129
2096
  };
2130
- // Raw-key path
2131
- const resultA = await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, encryptionRootKeyId, encryptionPrivateJwk);
2132
- // Callback path
2133
- const keyDeriver = {
2134
- rootKeyId: encryptionRootKeyId,
2135
- derivationScheme: KeyDerivationScheme.ProtocolPath,
2136
- derivePublicKey: async (fullDerivationPath) => {
2137
- const privateKeyBytes = await X25519.privateKeyToBytes({ privateKey: encryptionPrivateJwk });
2138
- const derivedPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
2139
- const derivedPrivateKeyJwk = await X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
2140
- return await X25519.getPublicKey({ key: derivedPrivateKeyJwk });
2141
- },
2142
- };
2143
- const resultB = await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, keyDeriver);
2144
- // Both paths must skip $ref
2145
- expect(resultA.structure.thread.$keyAgreement).toBeUndefined();
2146
- expect(resultB.structure.thread.$keyAgreement).toBeUndefined();
2147
- // Both paths must produce identical $keyAgreement on children
2148
- const commentA = resultA.structure.thread.comment;
2149
- const commentB = resultB.structure.thread.comment;
2150
- expect(commentA.$keyAgreement.publicKeyJwk).toEqual(commentB.$keyAgreement.publicKeyJwk);
2097
+ const keyDeriver = TestDataGenerator.createProtocolPathKeyDeriver(encryptionRootKeyId, encryptionPrivateJwk);
2098
+ const result = await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, keyDeriver);
2099
+ // The $ref node must be skipped
2100
+ expect(result.structure.thread.$keyAgreement).toBeUndefined();
2101
+ // Children of the $ref node must carry a key derived under the COMPOSING protocol's URI,
2102
+ // not the referenced protocol's URI
2103
+ const expectedCommentPublicKey = await keyDeriver.derivePublicKey([KeyDerivationScheme.ProtocolPath, 'https://comments.example.com', 'thread', 'comment']);
2104
+ const comment = result.structure.thread.comment;
2105
+ expect(comment.$keyAgreement.publicKeyJwk).toEqual(expectedCommentPublicKey);
2151
2106
  });
2152
2107
  it('should successfully install a composing protocol with encryption after $ref skip', async () => {
2153
2108
  // This test verifies the full pipeline: inject encryption keys -> ProtocolsConfigure.create()
@@ -2162,7 +2117,7 @@ export function testProtocolComposition() {
2162
2117
  const threadsInstallReply = await dwn.processMessage(alice.did, threadsConfigure.message);
2163
2118
  expect(threadsInstallReply.status.code).toBe(202);
2164
2119
  // Inject encryption keys into the composing protocol
2165
- const encryptedComments = await Protocols.deriveAndInjectPublicEncryptionKeys(commentsProtocol, alice.keyId, alice.encryptionKeyPair.privateJwk);
2120
+ const encryptedComments = await Protocols.deriveAndInjectPublicEncryptionKeys(commentsProtocol, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
2166
2121
  // $ref node should not have $keyAgreement
2167
2122
  expect(encryptedComments.structure.thread.$keyAgreement).toBeUndefined();
2168
2123
  // Children should have $keyAgreement
@@ -2189,7 +2144,7 @@ export function testProtocolComposition() {
2189
2144
  const threadsReply = await dwn.processMessage(alice.did, threadsConfigure.message);
2190
2145
  expect(threadsReply.status.code).toBe(202);
2191
2146
  // 2. Install the comments protocol with encryption keys
2192
- const encryptedComments = await Protocols.deriveAndInjectPublicEncryptionKeys(commentsProtocol, alice.keyId, alice.encryptionKeyPair.privateJwk);
2147
+ const encryptedComments = await Protocols.deriveAndInjectPublicEncryptionKeys(commentsProtocol, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
2193
2148
  const commentsConfigure = await ProtocolsConfigure.create({
2194
2149
  definition: encryptedComments,
2195
2150
  signer: Jws.createSigner(alice),
@@ -2236,7 +2191,7 @@ export function testProtocolComposition() {
2236
2191
  derivationScheme: KeyDerivationScheme.ProtocolPath,
2237
2192
  derivedPrivateKey: alice.encryptionKeyPair.privateJwk,
2238
2193
  };
2239
- const decryptedStream = await Records.decrypt(readReply.entry.recordsWrite, rootKey, readReply.entry.data);
2194
+ const decryptedStream = await Records.decrypt(readReply.entry.recordsWrite, TestDataGenerator.createKeyDecrypter(rootKey), readReply.entry.data);
2240
2195
  const decryptedBytes = await DataStream.toBytes(decryptedStream);
2241
2196
  expect(Encoder.bytesToString(decryptedBytes)).toBe(plaintext);
2242
2197
  });
@@ -2255,7 +2210,7 @@ export function testProtocolComposition() {
2255
2210
  },
2256
2211
  },
2257
2212
  };
2258
- await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, encryptionRootKeyId, encryptionPrivateJwk);
2213
+ await Protocols.deriveAndInjectPublicEncryptionKeys(composingProtocol, TestDataGenerator.createProtocolPathKeyDeriver(encryptionRootKeyId, encryptionPrivateJwk));
2259
2214
  // Original must be unmodified
2260
2215
  expect(composingProtocol.$keyAgreement).toBeUndefined();
2261
2216
  expect(composingProtocol.structure.thread.$keyAgreement).toBeUndefined();