@enbox/dwn-sdk-js 0.0.6 → 0.0.8

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 (527) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +762 -911
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/abstract-message.js +4 -0
  6. package/dist/esm/src/core/abstract-message.js.map +1 -1
  7. package/dist/esm/src/core/auth.js +22 -33
  8. package/dist/esm/src/core/auth.js.map +1 -1
  9. package/dist/esm/src/core/constants.js +11 -0
  10. package/dist/esm/src/core/constants.js.map +1 -0
  11. package/dist/esm/src/core/core-protocol.js +44 -0
  12. package/dist/esm/src/core/core-protocol.js.map +1 -0
  13. package/dist/esm/src/core/dwn-constant.js +7 -7
  14. package/dist/esm/src/core/dwn-constant.js.map +1 -1
  15. package/dist/esm/src/core/dwn-error.js +10 -12
  16. package/dist/esm/src/core/dwn-error.js.map +1 -1
  17. package/dist/esm/src/core/grant-authorization.js +50 -52
  18. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  19. package/dist/esm/src/core/message.js +85 -116
  20. package/dist/esm/src/core/message.js.map +1 -1
  21. package/dist/esm/src/core/messages-grant-authorization.js +63 -78
  22. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  23. package/dist/esm/src/core/protocol-authorization-action.js +266 -0
  24. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
  25. package/dist/esm/src/core/protocol-authorization-validation.js +321 -0
  26. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
  27. package/dist/esm/src/core/protocol-authorization.js +144 -741
  28. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  29. package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
  30. package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
  31. package/dist/esm/src/core/record-chain.js +64 -0
  32. package/dist/esm/src/core/record-chain.js.map +1 -0
  33. package/dist/esm/src/core/records-grant-authorization.js +53 -72
  34. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  35. package/dist/esm/src/core/resumable-task-manager.js +50 -65
  36. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  37. package/dist/esm/src/core/tenant-gate.js +2 -13
  38. package/dist/esm/src/core/tenant-gate.js.map +1 -1
  39. package/dist/esm/src/dwn.js +108 -101
  40. package/dist/esm/src/dwn.js.map +1 -1
  41. package/dist/esm/src/event-stream/event-emitter-event-log.js +204 -0
  42. package/dist/esm/src/event-stream/event-emitter-event-log.js.map +1 -0
  43. package/dist/esm/src/handlers/messages-read.js +67 -81
  44. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  45. package/dist/esm/src/handlers/messages-subscribe.js +51 -63
  46. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  47. package/dist/esm/src/handlers/messages-sync.js +75 -89
  48. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  49. package/dist/esm/src/handlers/protocols-configure.js +153 -163
  50. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  51. package/dist/esm/src/handlers/protocols-query.js +52 -55
  52. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  53. package/dist/esm/src/handlers/records-count.js +97 -85
  54. package/dist/esm/src/handlers/records-count.js.map +1 -1
  55. package/dist/esm/src/handlers/records-delete.js +75 -93
  56. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  57. package/dist/esm/src/handlers/records-query.js +116 -105
  58. package/dist/esm/src/handlers/records-query.js.map +1 -1
  59. package/dist/esm/src/handlers/records-read.js +130 -132
  60. package/dist/esm/src/handlers/records-read.js.map +1 -1
  61. package/dist/esm/src/handlers/records-subscribe.js +164 -104
  62. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  63. package/dist/esm/src/handlers/records-write.js +213 -280
  64. package/dist/esm/src/handlers/records-write.js.map +1 -1
  65. package/dist/esm/src/index.js +5 -2
  66. package/dist/esm/src/index.js.map +1 -1
  67. package/dist/esm/src/interfaces/messages-read.js +24 -32
  68. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  69. package/dist/esm/src/interfaces/messages-subscribe.js +28 -41
  70. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  71. package/dist/esm/src/interfaces/messages-sync.js +26 -40
  72. package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
  73. package/dist/esm/src/interfaces/protocols-configure.js +87 -65
  74. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  75. package/dist/esm/src/interfaces/protocols-query.js +55 -68
  76. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  77. package/dist/esm/src/interfaces/records-count.js +50 -66
  78. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  79. package/dist/esm/src/interfaces/records-delete.js +45 -55
  80. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  81. package/dist/esm/src/interfaces/records-query.js +60 -76
  82. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  83. package/dist/esm/src/interfaces/records-read.js +51 -67
  84. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  85. package/dist/esm/src/interfaces/records-subscribe.js +53 -68
  86. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  87. package/dist/esm/src/interfaces/records-write-query.js +102 -0
  88. package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
  89. package/dist/esm/src/interfaces/records-write-signing.js +81 -0
  90. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
  91. package/dist/esm/src/interfaces/records-write.js +396 -610
  92. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  93. package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
  94. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  95. package/dist/esm/src/jose/jws/general/builder.js +23 -35
  96. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  97. package/dist/esm/src/jose/jws/general/verifier.js +56 -69
  98. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  99. package/dist/esm/src/protocols/permission-grant.js +43 -14
  100. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  101. package/dist/esm/src/protocols/permission-request.js +28 -14
  102. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  103. package/dist/esm/src/protocols/permissions.js +325 -227
  104. package/dist/esm/src/protocols/permissions.js.map +1 -1
  105. package/dist/esm/src/smt/smt-store-level.js +42 -64
  106. package/dist/esm/src/smt/smt-store-level.js.map +1 -1
  107. package/dist/esm/src/smt/smt-store-memory.js +19 -45
  108. package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
  109. package/dist/esm/src/smt/smt-utils.js +28 -45
  110. package/dist/esm/src/smt/smt-utils.js.map +1 -1
  111. package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
  112. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
  113. package/dist/esm/src/state-index/state-index-level.js +113 -150
  114. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  115. package/dist/esm/src/store/blockstore-level.js +54 -156
  116. package/dist/esm/src/store/blockstore-level.js.map +1 -1
  117. package/dist/esm/src/store/blockstore-mock.js +48 -153
  118. package/dist/esm/src/store/blockstore-mock.js.map +1 -1
  119. package/dist/esm/src/store/data-store-level.js +137 -100
  120. package/dist/esm/src/store/data-store-level.js.map +1 -1
  121. package/dist/esm/src/store/index-level-compound.js +246 -0
  122. package/dist/esm/src/store/index-level-compound.js.map +1 -0
  123. package/dist/esm/src/store/index-level.js +307 -715
  124. package/dist/esm/src/store/index-level.js.map +1 -1
  125. package/dist/esm/src/store/level-wrapper.js +143 -244
  126. package/dist/esm/src/store/level-wrapper.js.map +1 -1
  127. package/dist/esm/src/store/message-store-level.js +71 -94
  128. package/dist/esm/src/store/message-store-level.js.map +1 -1
  129. package/dist/esm/src/store/resumable-task-store-level.js +62 -101
  130. package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
  131. package/dist/esm/src/store/storage-controller.js +131 -146
  132. package/dist/esm/src/store/storage-controller.js.map +1 -1
  133. package/dist/esm/src/types/permission-types.js.map +1 -1
  134. package/dist/esm/src/types/protocols-types.js +10 -0
  135. package/dist/esm/src/types/protocols-types.js.map +1 -1
  136. package/dist/esm/src/types/records-types.js.map +1 -1
  137. package/dist/esm/src/utils/abort.js +8 -19
  138. package/dist/esm/src/utils/abort.js.map +1 -1
  139. package/dist/esm/src/utils/array.js +15 -49
  140. package/dist/esm/src/utils/array.js.map +1 -1
  141. package/dist/esm/src/utils/cid.js +29 -77
  142. package/dist/esm/src/utils/cid.js.map +1 -1
  143. package/dist/esm/src/utils/data-stream.js +37 -65
  144. package/dist/esm/src/utils/data-stream.js.map +1 -1
  145. package/dist/esm/src/utils/encryption.js +136 -162
  146. package/dist/esm/src/utils/encryption.js.map +1 -1
  147. package/dist/esm/src/utils/filter.js +1 -12
  148. package/dist/esm/src/utils/filter.js.map +1 -1
  149. package/dist/esm/src/utils/hd-key.js +45 -71
  150. package/dist/esm/src/utils/hd-key.js.map +1 -1
  151. package/dist/esm/src/utils/jws.js +9 -20
  152. package/dist/esm/src/utils/jws.js.map +1 -1
  153. package/dist/esm/src/utils/memory-cache.js +12 -23
  154. package/dist/esm/src/utils/memory-cache.js.map +1 -1
  155. package/dist/esm/src/utils/messages.js +21 -33
  156. package/dist/esm/src/utils/messages.js.map +1 -1
  157. package/dist/esm/src/utils/private-key-signer.js +9 -17
  158. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  159. package/dist/esm/src/utils/protocols.js +62 -70
  160. package/dist/esm/src/utils/protocols.js.map +1 -1
  161. package/dist/esm/src/utils/records.js +103 -166
  162. package/dist/esm/src/utils/records.js.map +1 -1
  163. package/dist/esm/src/utils/secp256k1.js +60 -96
  164. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  165. package/dist/esm/src/utils/secp256r1.js +54 -71
  166. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  167. package/dist/esm/src/utils/time.js +5 -18
  168. package/dist/esm/src/utils/time.js.map +1 -1
  169. package/dist/esm/src/utils/url.js +3 -3
  170. package/dist/esm/src/utils/url.js.map +1 -1
  171. package/dist/esm/tests/core/auth.spec.js +3 -12
  172. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  173. package/dist/esm/tests/core/message.spec.js +50 -59
  174. package/dist/esm/tests/core/message.spec.js.map +1 -1
  175. package/dist/esm/tests/core/protocol-authorization.spec.js +10 -18
  176. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  177. package/dist/esm/tests/dwn.spec.js +65 -89
  178. package/dist/esm/tests/dwn.spec.js.map +1 -1
  179. package/dist/esm/tests/event-emitter-event-log.spec.js +305 -0
  180. package/dist/esm/tests/event-emitter-event-log.spec.js.map +1 -0
  181. package/dist/esm/tests/features/author-delegated-grant.spec.js +337 -347
  182. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  183. package/dist/esm/tests/features/owner-delegated-grant.spec.js +160 -172
  184. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  185. package/dist/esm/tests/features/owner-signature.spec.js +78 -82
  186. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  187. package/dist/esm/tests/features/permissions.spec.js +449 -184
  188. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  189. package/dist/esm/tests/features/protocol-composition.spec.js +981 -360
  190. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  191. package/dist/esm/tests/features/protocol-create-action.spec.js +45 -54
  192. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  193. package/dist/esm/tests/features/protocol-delete-action.spec.js +99 -108
  194. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  195. package/dist/esm/tests/features/protocol-update-action.spec.js +108 -117
  196. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  197. package/dist/esm/tests/features/records-immutable.spec.js +315 -0
  198. package/dist/esm/tests/features/records-immutable.spec.js.map +1 -0
  199. package/dist/esm/tests/features/records-prune.spec.js +178 -194
  200. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  201. package/dist/esm/tests/features/records-record-limit.spec.js +542 -0
  202. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -0
  203. package/dist/esm/tests/features/records-tags.spec.js +456 -463
  204. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  205. package/dist/esm/tests/features/resumable-tasks.spec.js +88 -98
  206. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  207. package/dist/esm/tests/handlers/messages-read.spec.js +215 -210
  208. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  209. package/dist/esm/tests/handlers/messages-subscribe.spec.js +309 -171
  210. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  211. package/dist/esm/tests/handlers/messages-sync.spec.js +272 -199
  212. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  213. package/dist/esm/tests/handlers/protocols-configure.spec.js +247 -241
  214. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  215. package/dist/esm/tests/handlers/protocols-query.spec.js +159 -172
  216. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  217. package/dist/esm/tests/handlers/records-count.spec.js +101 -105
  218. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  219. package/dist/esm/tests/handlers/records-delete.spec.js +266 -279
  220. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  221. package/dist/esm/tests/handlers/records-query.spec.js +984 -996
  222. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  223. package/dist/esm/tests/handlers/records-read.spec.js +542 -671
  224. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  225. package/dist/esm/tests/handlers/records-subscribe.spec.js +433 -302
  226. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  227. package/dist/esm/tests/handlers/records-write.spec.js +1216 -1140
  228. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  229. package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
  230. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  231. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
  232. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  233. package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
  234. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  235. package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
  236. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  237. package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
  238. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  239. package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
  240. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  241. package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
  242. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  243. package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
  244. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  245. package/dist/esm/tests/interfaces/records-write.spec.js +190 -219
  246. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  247. package/dist/esm/tests/jose/jws/general.spec.js +36 -45
  248. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  249. package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
  250. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  251. package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
  252. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  253. package/dist/esm/tests/protocols/permissions.spec.js +49 -55
  254. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  255. package/dist/esm/tests/scenarios/aggregator.spec.js +127 -138
  256. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  257. package/dist/esm/tests/scenarios/deleted-record.spec.js +372 -36
  258. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  259. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +55 -64
  260. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  261. package/dist/esm/tests/scenarios/nested-roles.spec.js +66 -76
  262. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  263. package/dist/esm/tests/scenarios/subscriptions.spec.js +451 -354
  264. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  265. package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
  266. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
  267. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
  268. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
  269. package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
  270. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
  271. package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
  272. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
  273. package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
  274. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  275. package/dist/esm/tests/store/data-store-level.spec.js +160 -108
  276. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  277. package/dist/esm/tests/store/index-level.spec.js +404 -414
  278. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  279. package/dist/esm/tests/store/message-store-level.spec.js +13 -22
  280. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  281. package/dist/esm/tests/store/message-store.spec.js +229 -238
  282. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  283. package/dist/esm/tests/test-event-stream.js +12 -13
  284. package/dist/esm/tests/test-event-stream.js.map +1 -1
  285. package/dist/esm/tests/test-stores.js +16 -13
  286. package/dist/esm/tests/test-stores.js.map +1 -1
  287. package/dist/esm/tests/test-suite.js +8 -15
  288. package/dist/esm/tests/test-suite.js.map +1 -1
  289. package/dist/esm/tests/utils/cid.spec.js +24 -33
  290. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  291. package/dist/esm/tests/utils/data-stream.spec.js +48 -57
  292. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  293. package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
  294. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  295. package/dist/esm/tests/utils/encryption.spec.js +229 -82
  296. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  297. package/dist/esm/tests/utils/filters.spec.js +46 -55
  298. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  299. package/dist/esm/tests/utils/hd-key.spec.js +10 -19
  300. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  301. package/dist/esm/tests/utils/jws.spec.js +3 -12
  302. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  303. package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
  304. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  305. package/dist/esm/tests/utils/messages.spec.js +18 -20
  306. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  307. package/dist/esm/tests/utils/poller.js +22 -33
  308. package/dist/esm/tests/utils/poller.js.map +1 -1
  309. package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
  310. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  311. package/dist/esm/tests/utils/records.spec.js +14 -27
  312. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  313. package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
  314. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  315. package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
  316. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  317. package/dist/esm/tests/utils/test-data-generator.js +446 -467
  318. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  319. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
  320. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  321. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
  322. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  323. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
  324. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  325. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
  326. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  327. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
  328. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  329. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
  330. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  331. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
  332. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
  333. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +44 -24
  334. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  335. package/dist/types/generated/precompiled-validators.d.ts +49 -40
  336. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  337. package/dist/types/src/core/constants.d.ts +11 -0
  338. package/dist/types/src/core/constants.d.ts.map +1 -0
  339. package/dist/types/src/core/core-protocol.d.ts +89 -0
  340. package/dist/types/src/core/core-protocol.d.ts.map +1 -0
  341. package/dist/types/src/core/dwn-error.d.ts +9 -12
  342. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  343. package/dist/types/src/core/grant-authorization.d.ts +6 -2
  344. package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
  345. package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
  346. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
  347. package/dist/types/src/core/protocol-authorization-validation.d.ts +81 -0
  348. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
  349. package/dist/types/src/core/protocol-authorization.d.ts +24 -106
  350. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  351. package/dist/types/src/core/record-chain.d.ts +24 -0
  352. package/dist/types/src/core/record-chain.d.ts.map +1 -0
  353. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  354. package/dist/types/src/dwn.d.ts +19 -7
  355. package/dist/types/src/dwn.d.ts.map +1 -1
  356. package/dist/types/src/event-stream/event-emitter-event-log.d.ts +50 -0
  357. package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +1 -0
  358. package/dist/types/src/handlers/messages-read.d.ts +3 -8
  359. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  360. package/dist/types/src/handlers/messages-subscribe.d.ts +6 -10
  361. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  362. package/dist/types/src/handlers/messages-sync.d.ts +3 -8
  363. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
  364. package/dist/types/src/handlers/protocols-configure.d.ts +3 -10
  365. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  366. package/dist/types/src/handlers/protocols-query.d.ts +3 -8
  367. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  368. package/dist/types/src/handlers/records-count.d.ts +3 -6
  369. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  370. package/dist/types/src/handlers/records-delete.d.ts +3 -8
  371. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  372. package/dist/types/src/handlers/records-query.d.ts +3 -8
  373. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  374. package/dist/types/src/handlers/records-read.d.ts +3 -8
  375. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  376. package/dist/types/src/handlers/records-subscribe.d.ts +8 -10
  377. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  378. package/dist/types/src/handlers/records-write.d.ts +4 -24
  379. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  380. package/dist/types/src/index.d.ts +8 -4
  381. package/dist/types/src/index.d.ts.map +1 -1
  382. package/dist/types/src/interfaces/messages-subscribe.d.ts +5 -0
  383. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  384. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  385. package/dist/types/src/interfaces/records-subscribe.d.ts +5 -0
  386. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  387. package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
  388. package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
  389. package/dist/types/src/interfaces/records-write-signing.d.ts +34 -0
  390. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
  391. package/dist/types/src/interfaces/records-write.d.ts +13 -53
  392. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  393. package/dist/types/src/protocols/permission-grant.d.ts +1 -1
  394. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  395. package/dist/types/src/protocols/permission-request.d.ts +1 -1
  396. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  397. package/dist/types/src/protocols/permissions.d.ts +40 -3
  398. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  399. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -1
  400. package/dist/types/src/store/data-store-level.d.ts +20 -4
  401. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  402. package/dist/types/src/store/index-level-compound.d.ts +70 -0
  403. package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
  404. package/dist/types/src/store/index-level.d.ts +4 -58
  405. package/dist/types/src/store/index-level.d.ts.map +1 -1
  406. package/dist/types/src/store/storage-controller.d.ts +4 -4
  407. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  408. package/dist/types/src/types/message-types.d.ts +3 -3
  409. package/dist/types/src/types/message-types.d.ts.map +1 -1
  410. package/dist/types/src/types/messages-types.d.ts +12 -3
  411. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  412. package/dist/types/src/types/method-handler.d.ts +24 -3
  413. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  414. package/dist/types/src/types/permission-types.d.ts +7 -0
  415. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  416. package/dist/types/src/types/protocols-types.d.ts +41 -1
  417. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  418. package/dist/types/src/types/records-types.d.ts +16 -6
  419. package/dist/types/src/types/records-types.d.ts.map +1 -1
  420. package/dist/types/src/types/subscriptions.d.ts +151 -13
  421. package/dist/types/src/types/subscriptions.d.ts.map +1 -1
  422. package/dist/types/src/utils/hd-key.d.ts +1 -9
  423. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  424. package/dist/types/src/utils/messages.d.ts +7 -5
  425. package/dist/types/src/utils/messages.d.ts.map +1 -1
  426. package/dist/types/src/utils/protocols.d.ts +5 -0
  427. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  428. package/dist/types/src/utils/records.d.ts +1 -11
  429. package/dist/types/src/utils/records.d.ts.map +1 -1
  430. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  431. package/dist/types/tests/event-emitter-event-log.spec.d.ts +2 -0
  432. package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +1 -0
  433. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  434. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  435. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  436. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  437. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  438. package/dist/types/tests/features/records-immutable.spec.d.ts +2 -0
  439. package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -0
  440. package/dist/types/tests/features/records-record-limit.spec.d.ts +2 -0
  441. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -0
  442. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  443. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  444. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  445. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  446. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
  447. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  448. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  449. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  450. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  451. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  452. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  453. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  454. package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
  455. package/dist/types/tests/test-event-stream.d.ts +11 -12
  456. package/dist/types/tests/test-event-stream.d.ts.map +1 -1
  457. package/dist/types/tests/test-suite.d.ts +2 -2
  458. package/dist/types/tests/test-suite.d.ts.map +1 -1
  459. package/dist/types/tests/utils/test-data-generator.d.ts +18 -0
  460. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  461. package/package.json +5 -4
  462. package/src/core/constants.ts +11 -0
  463. package/src/core/core-protocol.ts +129 -0
  464. package/src/core/dwn-error.ts +15 -12
  465. package/src/core/grant-authorization.ts +20 -3
  466. package/src/core/protocol-authorization-action.ts +377 -0
  467. package/src/core/protocol-authorization-validation.ts +487 -0
  468. package/src/core/protocol-authorization.ts +111 -856
  469. package/src/core/record-chain.ts +99 -0
  470. package/src/core/records-grant-authorization.ts +6 -8
  471. package/src/dwn.ts +58 -73
  472. package/src/event-stream/event-emitter-event-log.ts +283 -0
  473. package/src/handlers/messages-read.ts +8 -9
  474. package/src/handlers/messages-subscribe.ts +24 -28
  475. package/src/handlers/messages-sync.ts +10 -16
  476. package/src/handlers/protocols-configure.ts +47 -32
  477. package/src/handlers/protocols-query.ts +6 -9
  478. package/src/handlers/records-count.ts +11 -10
  479. package/src/handlers/records-delete.ts +12 -21
  480. package/src/handlers/records-query.ts +12 -12
  481. package/src/handlers/records-read.ts +34 -22
  482. package/src/handlers/records-subscribe.ts +47 -26
  483. package/src/handlers/records-write.ts +47 -104
  484. package/src/index.ts +9 -5
  485. package/src/interfaces/messages-subscribe.ts +7 -1
  486. package/src/interfaces/protocols-configure.ts +73 -8
  487. package/src/interfaces/records-count.ts +1 -1
  488. package/src/interfaces/records-delete.ts +1 -1
  489. package/src/interfaces/records-query.ts +1 -1
  490. package/src/interfaces/records-read.ts +1 -1
  491. package/src/interfaces/records-subscribe.ts +8 -1
  492. package/src/interfaces/records-write-query.ts +139 -0
  493. package/src/interfaces/records-write-signing.ts +123 -0
  494. package/src/interfaces/records-write.ts +66 -261
  495. package/src/protocols/permission-grant.ts +1 -1
  496. package/src/protocols/permission-request.ts +1 -1
  497. package/src/protocols/permissions.ts +148 -6
  498. package/src/state-index/state-index-level.ts +5 -7
  499. package/src/store/data-store-level.ts +124 -34
  500. package/src/store/index-level-compound.ts +324 -0
  501. package/src/store/index-level.ts +68 -341
  502. package/src/store/storage-controller.ts +11 -11
  503. package/src/types/message-types.ts +3 -3
  504. package/src/types/messages-types.ts +12 -3
  505. package/src/types/method-handler.ts +26 -4
  506. package/src/types/mitt.d.ts +28 -0
  507. package/src/types/permission-types.ts +7 -0
  508. package/src/types/protocols-types.ts +46 -0
  509. package/src/types/records-types.ts +16 -6
  510. package/src/types/subscriptions.ts +178 -14
  511. package/src/utils/hd-key.ts +0 -9
  512. package/src/utils/messages.ts +17 -37
  513. package/src/utils/protocols.ts +8 -0
  514. package/src/utils/records.ts +8 -59
  515. package/dist/esm/src/event-stream/event-emitter-stream.js +0 -60
  516. package/dist/esm/src/event-stream/event-emitter-stream.js.map +0 -1
  517. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +0 -77
  518. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +0 -1
  519. package/dist/esm/tests/event-stream/event-stream.spec.js +0 -123
  520. package/dist/esm/tests/event-stream/event-stream.spec.js.map +0 -1
  521. package/dist/types/src/event-stream/event-emitter-stream.d.ts +0 -23
  522. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +0 -1
  523. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts +0 -2
  524. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +0 -1
  525. package/dist/types/tests/event-stream/event-stream.spec.d.ts +0 -2
  526. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +0 -1
  527. package/src/event-stream/event-emitter-stream.ts +0 -69
@@ -1,39 +1,30 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { describe, expect, it } from 'bun:test';
11
2
  import { TestDataGenerator } from './test-data-generator.js';
12
3
  import { DataStream, Encoder } from '../../src/index.js';
13
4
  describe('DataStream', () => {
14
5
  describe('fromObject() and toBytes()', () => {
15
- it('should round-trip an object through stream', () => __awaiter(void 0, void 0, void 0, function* () {
6
+ it('should round-trip an object through stream', async () => {
16
7
  const originalObject = {
17
8
  a: TestDataGenerator.randomString(32)
18
9
  };
19
10
  const stream = DataStream.fromObject(originalObject);
20
- const readBytes = yield DataStream.toBytes(stream);
11
+ const readBytes = await DataStream.toBytes(stream);
21
12
  const readObject = JSON.parse(Encoder.bytesToString(readBytes));
22
13
  expect(readObject.a).toBe(originalObject.a);
23
- }));
14
+ });
24
15
  });
25
16
  describe('toBytes()', () => {
26
- it('should return an empty Uint8Array for an empty stream', () => __awaiter(void 0, void 0, void 0, function* () {
17
+ it('should return an empty Uint8Array for an empty stream', async () => {
27
18
  const stream = new ReadableStream({
28
19
  start(controller) {
29
20
  controller.close();
30
21
  }
31
22
  });
32
- const result = yield DataStream.toBytes(stream);
23
+ const result = await DataStream.toBytes(stream);
33
24
  expect(result).toBeInstanceOf(Uint8Array);
34
25
  expect(result.length).toBe(0);
35
- }));
36
- it('should handle a stream with many small chunks', () => __awaiter(void 0, void 0, void 0, function* () {
26
+ });
27
+ it('should handle a stream with many small chunks', async () => {
37
28
  const chunks = Array.from({ length: 100 }, (_, i) => new Uint8Array([i % 256]));
38
29
  let index = 0;
39
30
  const stream = new ReadableStream({
@@ -46,54 +37,54 @@ describe('DataStream', () => {
46
37
  index++;
47
38
  }
48
39
  });
49
- const result = yield DataStream.toBytes(stream);
40
+ const result = await DataStream.toBytes(stream);
50
41
  expect(result.length).toBe(100);
51
42
  for (let i = 0; i < 100; i++) {
52
43
  expect(result[i]).toBe(i % 256);
53
44
  }
54
- }));
55
- it('should propagate errors from an errored stream', () => __awaiter(void 0, void 0, void 0, function* () {
45
+ });
46
+ it('should propagate errors from an errored stream', async () => {
56
47
  const stream = new ReadableStream({
57
48
  start(controller) {
58
49
  controller.error(new Error('test error'));
59
50
  }
60
51
  });
61
52
  try {
62
- yield DataStream.toBytes(stream);
53
+ await DataStream.toBytes(stream);
63
54
  throw new Error('Should have thrown');
64
55
  }
65
56
  catch (err) {
66
57
  expect(err.message).toBe('test error');
67
58
  }
68
- }));
59
+ });
69
60
  });
70
61
  describe('toObject()', () => {
71
- it('should parse a valid JSON stream into an object', () => __awaiter(void 0, void 0, void 0, function* () {
62
+ it('should parse a valid JSON stream into an object', async () => {
72
63
  const obj = { key: 'value', num: 42 };
73
64
  const stream = DataStream.fromObject(obj);
74
- const result = yield DataStream.toObject(stream);
65
+ const result = await DataStream.toObject(stream);
75
66
  expect(result).toEqual(obj);
76
- }));
77
- it('should throw for a stream containing invalid JSON', () => __awaiter(void 0, void 0, void 0, function* () {
67
+ });
68
+ it('should throw for a stream containing invalid JSON', async () => {
78
69
  const invalidJson = new TextEncoder().encode('not valid json');
79
70
  const stream = DataStream.fromBytes(invalidJson);
80
71
  try {
81
- yield DataStream.toObject(stream);
72
+ await DataStream.toObject(stream);
82
73
  throw new Error('Should have thrown');
83
74
  }
84
75
  catch (err) {
85
76
  expect(err).toBeInstanceOf(Error);
86
77
  }
87
- }));
78
+ });
88
79
  });
89
80
  describe('fromBytes()', () => {
90
- it('should produce multiple chunks for data larger than 100KB', () => __awaiter(void 0, void 0, void 0, function* () {
91
- const largeData = TestDataGenerator.randomBytes(250000);
81
+ it('should produce multiple chunks for data larger than 100KB', async () => {
82
+ const largeData = TestDataGenerator.randomBytes(250_000);
92
83
  const stream = DataStream.fromBytes(largeData);
93
84
  const reader = stream.getReader();
94
85
  const chunks = [];
95
86
  while (true) {
96
- const { done, value } = yield reader.read();
87
+ const { done, value } = await reader.read();
97
88
  if (done) {
98
89
  break;
99
90
  }
@@ -101,30 +92,30 @@ describe('DataStream', () => {
101
92
  }
102
93
  // 250KB / 100KB chunks = 3 chunks (100K, 100K, 50K)
103
94
  expect(chunks.length).toBe(3);
104
- expect(chunks[0].length).toBe(100000);
105
- expect(chunks[1].length).toBe(100000);
106
- expect(chunks[2].length).toBe(50000);
107
- }));
108
- it('should produce a single chunk for data smaller than 100KB', () => __awaiter(void 0, void 0, void 0, function* () {
109
- const smallData = TestDataGenerator.randomBytes(50000);
95
+ expect(chunks[0].length).toBe(100_000);
96
+ expect(chunks[1].length).toBe(100_000);
97
+ expect(chunks[2].length).toBe(50_000);
98
+ });
99
+ it('should produce a single chunk for data smaller than 100KB', async () => {
100
+ const smallData = TestDataGenerator.randomBytes(50_000);
110
101
  const stream = DataStream.fromBytes(smallData);
111
102
  const reader = stream.getReader();
112
103
  const chunks = [];
113
104
  while (true) {
114
- const { done, value } = yield reader.read();
105
+ const { done, value } = await reader.read();
115
106
  if (done) {
116
107
  break;
117
108
  }
118
109
  chunks.push(value);
119
110
  }
120
111
  expect(chunks.length).toBe(1);
121
- expect(chunks[0].length).toBe(50000);
122
- }));
123
- it('should handle an empty Uint8Array', () => __awaiter(void 0, void 0, void 0, function* () {
112
+ expect(chunks[0].length).toBe(50_000);
113
+ });
114
+ it('should handle an empty Uint8Array', async () => {
124
115
  const stream = DataStream.fromBytes(new Uint8Array(0));
125
- const result = yield DataStream.toBytes(stream);
116
+ const result = await DataStream.toBytes(stream);
126
117
  expect(result.length).toBe(0);
127
- }));
118
+ });
128
119
  });
129
120
  describe('duplicateDataStream()', () => {
130
121
  it('should return an empty array when count is 0', () => {
@@ -139,43 +130,43 @@ describe('DataStream', () => {
139
130
  expect(result.length).toBe(1);
140
131
  expect(result[0]).toBe(stream);
141
132
  });
142
- it('should return two independently consumable streams when count is 2', () => __awaiter(void 0, void 0, void 0, function* () {
133
+ it('should return two independently consumable streams when count is 2', async () => {
143
134
  const data = TestDataGenerator.randomBytes(1000);
144
135
  const stream = DataStream.fromBytes(data);
145
136
  const [copy1, copy2] = DataStream.duplicateDataStream(stream, 2);
146
- const bytes1 = yield DataStream.toBytes(copy1);
147
- const bytes2 = yield DataStream.toBytes(copy2);
137
+ const bytes1 = await DataStream.toBytes(copy1);
138
+ const bytes2 = await DataStream.toBytes(copy2);
148
139
  expect(bytes1).toEqual(data);
149
140
  expect(bytes2).toEqual(data);
150
- }));
151
- it('should return N independently consumable streams when count > 2', () => __awaiter(void 0, void 0, void 0, function* () {
141
+ });
142
+ it('should return N independently consumable streams when count > 2', async () => {
152
143
  const data = TestDataGenerator.randomBytes(5000);
153
144
  const stream = DataStream.fromBytes(data);
154
145
  const copies = DataStream.duplicateDataStream(stream, 4);
155
146
  expect(copies.length).toBe(4);
156
147
  for (const copy of copies) {
157
- const bytes = yield DataStream.toBytes(copy);
148
+ const bytes = await DataStream.toBytes(copy);
158
149
  expect(bytes).toEqual(data);
159
150
  }
160
- }));
161
- it('should handle an empty source stream', () => __awaiter(void 0, void 0, void 0, function* () {
151
+ });
152
+ it('should handle an empty source stream', async () => {
162
153
  const stream = DataStream.fromBytes(new Uint8Array(0));
163
154
  const [copy1, copy2] = DataStream.duplicateDataStream(stream, 2);
164
- const bytes1 = yield DataStream.toBytes(copy1);
165
- const bytes2 = yield DataStream.toBytes(copy2);
155
+ const bytes1 = await DataStream.toBytes(copy1);
156
+ const bytes2 = await DataStream.toBytes(copy2);
166
157
  expect(bytes1.length).toBe(0);
167
158
  expect(bytes2.length).toBe(0);
168
- }));
169
- it('should handle large data with count = 3', () => __awaiter(void 0, void 0, void 0, function* () {
170
- const data = TestDataGenerator.randomBytes(500000);
159
+ });
160
+ it('should handle large data with count = 3', async () => {
161
+ const data = TestDataGenerator.randomBytes(500_000);
171
162
  const stream = DataStream.fromBytes(data);
172
163
  const copies = DataStream.duplicateDataStream(stream, 3);
173
164
  expect(copies.length).toBe(3);
174
165
  for (const copy of copies) {
175
- const bytes = yield DataStream.toBytes(copy);
166
+ const bytes = await DataStream.toBytes(copy);
176
167
  expect(bytes).toEqual(data);
177
168
  }
178
- }));
169
+ });
179
170
  });
180
171
  });
181
172
  //# sourceMappingURL=data-stream.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-stream.spec.js","sourceRoot":"","sources":["../../../../tests/utils/data-stream.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-stream.spec.js","sourceRoot":"","sources":["../../../../tests/utils/data-stream.spec.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { DataStream } from '../../src/utils/data-stream.js';
11
2
  import { Encoder } from '../../src/utils/encoder.js';
12
3
  import { Encryption } from '../../src/utils/encryption.js';
@@ -19,13 +10,13 @@ import { HdKey, KeyDerivationScheme } from '../../src/utils/hd-key.js';
19
10
  describe('Encryption Callback Interfaces', () => {
20
11
  let privateJwk;
21
12
  let rootKeyId;
22
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
23
- const key = yield X25519.generateKey();
13
+ beforeEach(async () => {
14
+ const key = await X25519.generateKey();
24
15
  privateJwk = key;
25
16
  rootKeyId = 'did:example:alice#enc';
26
- }));
17
+ });
27
18
  describe('Protocols.deriveAndInjectPublicEncryptionKeys() with EncryptionKeyDeriver', () => {
28
- it('produces the same $encryption output as the raw-key overload', () => __awaiter(void 0, void 0, void 0, function* () {
19
+ it('produces the same $encryption output as the raw-key overload', async () => {
29
20
  const protocolDefinition = {
30
21
  protocol: 'https://example.com/protocol/foo',
31
22
  published: true,
@@ -46,20 +37,20 @@ describe('Encryption Callback Interfaces', () => {
46
37
  }
47
38
  };
48
39
  // Call with raw (rootKeyId, privateJwk) — get result A
49
- const resultA = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
40
+ const resultA = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
50
41
  // Build an EncryptionKeyDeriver that uses the same key
51
42
  const keyDeriver = {
52
43
  rootKeyId,
53
44
  derivationScheme: KeyDerivationScheme.ProtocolPath,
54
- derivePublicKey: (fullDerivationPath) => __awaiter(void 0, void 0, void 0, function* () {
55
- const privateKeyBytes = yield X25519.privateKeyToBytes({ privateKey: privateJwk });
56
- const derivedPrivateKeyBytes = yield HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
57
- const derivedPrivateKey = yield X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
58
- return yield X25519.getPublicKey({ key: derivedPrivateKey });
59
- })
45
+ derivePublicKey: async (fullDerivationPath) => {
46
+ const privateKeyBytes = await X25519.privateKeyToBytes({ privateKey: privateJwk });
47
+ const derivedPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
48
+ const derivedPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
49
+ return await X25519.getPublicKey({ key: derivedPrivateKey });
50
+ }
60
51
  };
61
52
  // Call with the callback — get result B
62
- const resultB = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, keyDeriver);
53
+ const resultB = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, keyDeriver);
63
54
  // Assert A and B have identical $encryption at every path level
64
55
  expect(resultA.structure.thread.$encryption).toBeDefined();
65
56
  expect(resultB.structure.thread.$encryption).toBeDefined();
@@ -71,8 +62,8 @@ describe('Encryption Callback Interfaces', () => {
71
62
  expect(messageRuleSetB.$encryption).toBeDefined();
72
63
  expect(messageRuleSetA.$encryption.rootKeyId).toBe(messageRuleSetB.$encryption.rootKeyId);
73
64
  expect(messageRuleSetA.$encryption.publicKeyJwk).toEqual(messageRuleSetB.$encryption.publicKeyJwk);
74
- }));
75
- it('calls derivePublicKey with correct full derivation paths', () => __awaiter(void 0, void 0, void 0, function* () {
65
+ });
66
+ it('calls derivePublicKey with correct full derivation paths', async () => {
76
67
  const protocolDefinition = {
77
68
  protocol: 'https://example.com/protocol/bar',
78
69
  published: true,
@@ -96,15 +87,15 @@ describe('Encryption Callback Interfaces', () => {
96
87
  const keyDeriver = {
97
88
  rootKeyId,
98
89
  derivationScheme: KeyDerivationScheme.ProtocolPath,
99
- derivePublicKey: (fullDerivationPath) => __awaiter(void 0, void 0, void 0, function* () {
90
+ derivePublicKey: async (fullDerivationPath) => {
100
91
  calledPaths.push([...fullDerivationPath]);
101
- const privateKeyBytes = yield X25519.privateKeyToBytes({ privateKey: privateJwk });
102
- const derivedPrivateKeyBytes = yield HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
103
- const derivedPrivateKey = yield X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
104
- return yield X25519.getPublicKey({ key: derivedPrivateKey });
105
- })
92
+ const privateKeyBytes = await X25519.privateKeyToBytes({ privateKey: privateJwk });
93
+ const derivedPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
94
+ const derivedPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
95
+ return await X25519.getPublicKey({ key: derivedPrivateKey });
96
+ }
106
97
  };
107
- yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, keyDeriver);
98
+ await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, keyDeriver);
108
99
  // Assert paths: ['protocolPath', '<url>', 'thread']
109
100
  // and ['protocolPath', '<url>', 'thread', 'message']
110
101
  expect(calledPaths).toHaveLength(2);
@@ -119,10 +110,10 @@ describe('Encryption Callback Interfaces', () => {
119
110
  'thread',
120
111
  'message'
121
112
  ]);
122
- }));
113
+ });
123
114
  });
124
115
  describe('Records.decrypt() with KeyDecrypter', () => {
125
- it('produces the same plaintext as the raw-key overload', () => __awaiter(void 0, void 0, void 0, function* () {
116
+ it('produces the same plaintext as the raw-key overload', async () => {
126
117
  const protocolDefinition = {
127
118
  protocol: 'https://example.com/protocol/decrypt-test',
128
119
  published: true,
@@ -137,13 +128,13 @@ describe('Encryption Callback Interfaces', () => {
137
128
  }
138
129
  };
139
130
  // Derive and inject encryption keys
140
- const encryptedProtocol = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
131
+ const encryptedProtocol = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
141
132
  // Generate a test persona
142
- const alice = yield TestDataGenerator.generatePersona();
133
+ const alice = await TestDataGenerator.generatePersona();
143
134
  // Encrypt a record using the standard flow
144
135
  const plaintext = 'This is a secret message';
145
136
  const plaintextBytes = Encoder.stringToBytes(plaintext);
146
- const encryptedRecord = yield TestDataGenerator.generateProtocolEncryptedRecordsWrite({
137
+ const encryptedRecord = await TestDataGenerator.generateProtocolEncryptedRecordsWrite({
147
138
  plaintextBytes,
148
139
  author: alice,
149
140
  protocolDefinition: encryptedProtocol,
@@ -157,22 +148,22 @@ describe('Encryption Callback Interfaces', () => {
157
148
  derivationScheme: KeyDerivationScheme.ProtocolPath,
158
149
  derivedPrivateKey: privateJwk
159
150
  };
160
- const decryptedStreamA = yield Records.decrypt(encryptedRecord.message, rootKey, encryptedRecord.dataStream);
161
- const plaintextA = yield DataStream.toBytes(decryptedStreamA);
151
+ const decryptedStreamA = await Records.decrypt(encryptedRecord.message, rootKey, encryptedRecord.dataStream);
152
+ const plaintextA = await DataStream.toBytes(decryptedStreamA);
162
153
  // Build a KeyDecrypter that performs ECDH-ES key agreement and AES Key Unwrap
163
154
  const keyDecrypter = {
164
155
  rootKeyId,
165
156
  derivationScheme: KeyDerivationScheme.ProtocolPath,
166
- decrypt: (fullDerivationPath, jwePayload) => __awaiter(void 0, void 0, void 0, function* () {
167
- const privateKeyBytes = yield X25519.privateKeyToBytes({ privateKey: privateJwk });
168
- const leafPrivateKeyBytes = yield HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
169
- const leafPrivateKey = yield X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
157
+ decrypt: async (fullDerivationPath, jwePayload) => {
158
+ const privateKeyBytes = await X25519.privateKeyToBytes({ privateKey: privateJwk });
159
+ const leafPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(privateKeyBytes, fullDerivationPath);
160
+ const leafPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
170
161
  return Encryption.ecdhEsUnwrapKey(leafPrivateKey, jwePayload.ephemeralPublicKey, jwePayload.encryptedKey);
171
- })
162
+ }
172
163
  };
173
164
  // Decrypt with the callback — get plaintext B
174
165
  // Note: Need to create a new stream since the first one was consumed
175
- const encryptedRecord2 = yield TestDataGenerator.generateProtocolEncryptedRecordsWrite({
166
+ const encryptedRecord2 = await TestDataGenerator.generateProtocolEncryptedRecordsWrite({
176
167
  plaintextBytes,
177
168
  author: alice,
178
169
  protocolDefinition: encryptedProtocol,
@@ -180,14 +171,14 @@ describe('Encryption Callback Interfaces', () => {
180
171
  encryptSymmetricKeyWithProtocolPathDerivedKey: true,
181
172
  encryptSymmetricKeyWithProtocolContextDerivedKey: false
182
173
  });
183
- const decryptedStreamB = yield Records.decrypt(encryptedRecord2.message, keyDecrypter, encryptedRecord2.dataStream);
184
- const plaintextB = yield DataStream.toBytes(decryptedStreamB);
174
+ const decryptedStreamB = await Records.decrypt(encryptedRecord2.message, keyDecrypter, encryptedRecord2.dataStream);
175
+ const plaintextB = await DataStream.toBytes(decryptedStreamB);
185
176
  // Assert A and B are identical
186
177
  expect(Encoder.bytesToString(plaintextA)).toBe(plaintext);
187
178
  expect(Encoder.bytesToString(plaintextB)).toBe(plaintext);
188
179
  expect(plaintextA).toEqual(plaintextB);
189
- }));
190
- it('throws if no matching recipient entry found', () => __awaiter(void 0, void 0, void 0, function* () {
180
+ });
181
+ it('throws if no matching recipient entry found', async () => {
191
182
  const protocolDefinition = {
192
183
  protocol: 'https://example.com/protocol/mismatch-test',
193
184
  published: true,
@@ -202,11 +193,11 @@ describe('Encryption Callback Interfaces', () => {
202
193
  }
203
194
  };
204
195
  // Derive and inject encryption keys
205
- const encryptedProtocol = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
206
- const alice = yield TestDataGenerator.generatePersona();
196
+ const encryptedProtocol = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyId, privateJwk);
197
+ const alice = await TestDataGenerator.generatePersona();
207
198
  const plaintext = 'This is a secret message';
208
199
  const plaintextBytes = Encoder.stringToBytes(plaintext);
209
- const encryptedRecord = yield TestDataGenerator.generateProtocolEncryptedRecordsWrite({
200
+ const encryptedRecord = await TestDataGenerator.generateProtocolEncryptedRecordsWrite({
210
201
  plaintextBytes,
211
202
  author: alice,
212
203
  protocolDefinition: encryptedProtocol,
@@ -218,13 +209,13 @@ describe('Encryption Callback Interfaces', () => {
218
209
  const keyDecrypter = {
219
210
  rootKeyId: 'did:example:bob#enc', // Wrong key ID
220
211
  derivationScheme: KeyDerivationScheme.ProtocolPath,
221
- decrypt: () => __awaiter(void 0, void 0, void 0, function* () {
212
+ decrypt: async () => {
222
213
  throw new Error('Should not be called');
223
- })
214
+ }
224
215
  };
225
216
  // Attempt to decrypt — should throw
226
- yield expect(Records.decrypt(encryptedRecord.message, keyDecrypter, encryptedRecord.dataStream)).rejects.toThrow('Unable to find a JWE recipient matching key');
227
- }));
217
+ await expect(Records.decrypt(encryptedRecord.message, keyDecrypter, encryptedRecord.dataStream)).rejects.toThrow('Unable to find a JWE recipient matching key');
218
+ });
228
219
  });
229
220
  });
230
221
  //# sourceMappingURL=encryption-callbacks.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption-callbacks.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-callbacks.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption-callbacks.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-callbacks.spec.ts"],"names":[],"mappings":"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"}