@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,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/index.js';
11
2
  import sinon from 'sinon';
12
3
  import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
@@ -16,7 +7,7 @@ import { ProtocolsConfigure } from '../../src/interfaces/protocols-configure.js'
16
7
  import { RecordsQuery } from '../../src/interfaces/records-query.js';
17
8
  import { RecordsWrite } from '../../src/interfaces/records-write.js';
18
9
  import { TestDataGenerator } from '../utils/test-data-generator.js';
19
- import { TestEventStream } from '../test-event-stream.js';
10
+ import { TestEventLog } from '../test-event-stream.js';
20
11
  import { TestStores } from '../test-stores.js';
21
12
  import { DidKey, UniversalResolver } from '@enbox/dids';
22
13
  // This is a test suite that demonstrates how to use the DWN to create aggregators
@@ -30,7 +21,7 @@ describe('Aggregator Model', () => {
30
21
  let dataStore;
31
22
  let resumableTaskStore;
32
23
  let stateIndex;
33
- let eventStream;
24
+ let eventLog;
34
25
  let dwn;
35
26
  const protocol = 'https://example.org/notes';
36
27
  // A simple protocol for the user that only allows them to write or read their own notes
@@ -76,28 +67,28 @@ describe('Aggregator Model', () => {
76
67
  };
77
68
  // important to follow the `beforeAll` and `afterAll` pattern to initialize and clean the stores in tests
78
69
  // so that different test suites can reuse the same backend store for testing
79
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
70
+ beforeAll(async () => {
80
71
  didResolver = new UniversalResolver({ didResolvers: [DidKey] });
81
72
  const stores = TestStores.get();
82
73
  messageStore = stores.messageStore;
83
74
  dataStore = stores.dataStore;
84
75
  resumableTaskStore = stores.resumableTaskStore;
85
76
  stateIndex = stores.stateIndex;
86
- eventStream = TestEventStream.get();
87
- dwn = yield Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
88
- }));
89
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
77
+ eventLog = TestEventLog.get();
78
+ dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventLog, resumableTaskStore });
79
+ });
80
+ beforeEach(async () => {
90
81
  sinon.restore(); // wipe all previous stubs/spies/mocks/fakes
91
82
  // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
92
- yield messageStore.clear();
93
- yield dataStore.clear();
94
- yield resumableTaskStore.clear();
95
- yield stateIndex.clear();
96
- }));
97
- afterAll(() => __awaiter(void 0, void 0, void 0, function* () {
98
- yield dwn.close();
99
- }));
100
- it('should support querying from multiple authors', () => __awaiter(void 0, void 0, void 0, function* () {
83
+ await messageStore.clear();
84
+ await dataStore.clear();
85
+ await resumableTaskStore.clear();
86
+ await stateIndex.clear();
87
+ });
88
+ afterAll(async () => {
89
+ await dwn.close();
90
+ });
91
+ it('should support querying from multiple authors', async () => {
101
92
  // scenario: Alice, Bob, Carol are members of an aggregator.
102
93
  // Alice writes a note to Carol, Bob writes a note to Alice, Carol writes a note to Bob.
103
94
  // Daniel is not a member of the aggregator and tries to unsuccessfully write a note to Alice.
@@ -107,47 +98,46 @@ describe('Aggregator Model', () => {
107
98
  // Daniel does not see the private notes in his query.
108
99
  // Carol can see all notes from Alice and Bob in her query, including the private notes intended for her.
109
100
  // Alice can see all notes from Bob and Carol in her query, including the private notes intended for her.
110
- var _a, _b, _c, _d;
111
101
  // create aggregator DID and install aggregator note protocol
112
- const aggregator = yield TestDataGenerator.generateDidKeyPersona();
113
- const aggregatorProtocolConfigure = yield ProtocolsConfigure.create({
102
+ const aggregator = await TestDataGenerator.generateDidKeyPersona();
103
+ const aggregatorProtocolConfigure = await ProtocolsConfigure.create({
114
104
  signer: Jws.createSigner(aggregator),
115
105
  definition: aggregatorProtocolDefinition,
116
106
  });
117
- const aggregatorProtocolReply = yield dwn.processMessage(aggregator.did, aggregatorProtocolConfigure.message);
107
+ const aggregatorProtocolReply = await dwn.processMessage(aggregator.did, aggregatorProtocolConfigure.message);
118
108
  expect(aggregatorProtocolReply.status.code).toBe(202, 'aggregator configure');
119
109
  // create 4 users and install user note protocol
120
- const alice = yield TestDataGenerator.generateDidKeyPersona();
121
- const aliceProtocolConfigure = yield ProtocolsConfigure.create({
110
+ const alice = await TestDataGenerator.generateDidKeyPersona();
111
+ const aliceProtocolConfigure = await ProtocolsConfigure.create({
122
112
  signer: Jws.createSigner(alice),
123
113
  definition: userProtocolDefinition,
124
114
  });
125
- const aliceProtocolReply = yield dwn.processMessage(alice.did, aliceProtocolConfigure.message);
115
+ const aliceProtocolReply = await dwn.processMessage(alice.did, aliceProtocolConfigure.message);
126
116
  expect(aliceProtocolReply.status.code).toBe(202, 'alice configure');
127
- const bob = yield TestDataGenerator.generateDidKeyPersona();
128
- const bobProtocolConfigure = yield ProtocolsConfigure.create({
117
+ const bob = await TestDataGenerator.generateDidKeyPersona();
118
+ const bobProtocolConfigure = await ProtocolsConfigure.create({
129
119
  signer: Jws.createSigner(bob),
130
120
  definition: userProtocolDefinition,
131
121
  });
132
- const bobProtocolReply = yield dwn.processMessage(bob.did, bobProtocolConfigure.message);
122
+ const bobProtocolReply = await dwn.processMessage(bob.did, bobProtocolConfigure.message);
133
123
  expect(bobProtocolReply.status.code).toBe(202, 'bob configure');
134
- const carol = yield TestDataGenerator.generateDidKeyPersona();
135
- const carolProtocolConfigure = yield ProtocolsConfigure.create({
124
+ const carol = await TestDataGenerator.generateDidKeyPersona();
125
+ const carolProtocolConfigure = await ProtocolsConfigure.create({
136
126
  signer: Jws.createSigner(carol),
137
127
  definition: userProtocolDefinition,
138
128
  });
139
- const carolProtocolReply = yield dwn.processMessage(carol.did, carolProtocolConfigure.message);
129
+ const carolProtocolReply = await dwn.processMessage(carol.did, carolProtocolConfigure.message);
140
130
  expect(carolProtocolReply.status.code).toBe(202, 'carol configure');
141
- const daniel = yield TestDataGenerator.generateDidKeyPersona();
142
- const danielProtocolConfigure = yield ProtocolsConfigure.create({
131
+ const daniel = await TestDataGenerator.generateDidKeyPersona();
132
+ const danielProtocolConfigure = await ProtocolsConfigure.create({
143
133
  signer: Jws.createSigner(daniel),
144
134
  definition: userProtocolDefinition,
145
135
  });
146
- const danielProtocolReply = yield dwn.processMessage(daniel.did, danielProtocolConfigure.message);
136
+ const danielProtocolReply = await dwn.processMessage(daniel.did, danielProtocolConfigure.message);
147
137
  expect(danielProtocolReply.status.code).toBe(202, 'daniel configure');
148
138
  // The aggregator creates member records for alice, bob and carol
149
139
  const aliceMemberData = TestDataGenerator.randomBytes(256);
150
- const aliceMember = yield RecordsWrite.create({
140
+ const aliceMember = await RecordsWrite.create({
151
141
  signer: Jws.createSigner(aggregator),
152
142
  recipient: alice.did,
153
143
  protocol: userProtocolDefinition.protocol,
@@ -156,10 +146,10 @@ describe('Aggregator Model', () => {
156
146
  dataFormat: 'application/json',
157
147
  data: aliceMemberData,
158
148
  });
159
- const aliceMemberReply = yield dwn.processMessage(aggregator.did, aliceMember.message, { dataStream: DataStream.fromBytes(aliceMemberData) });
149
+ const aliceMemberReply = await dwn.processMessage(aggregator.did, aliceMember.message, { dataStream: DataStream.fromBytes(aliceMemberData) });
160
150
  expect(aliceMemberReply.status.code).toBe(202, 'alice member ' + aliceMemberReply.status.detail);
161
151
  const bobMemberData = TestDataGenerator.randomBytes(256);
162
- const bobMember = yield RecordsWrite.create({
152
+ const bobMember = await RecordsWrite.create({
163
153
  signer: Jws.createSigner(aggregator),
164
154
  recipient: bob.did,
165
155
  protocol: userProtocolDefinition.protocol,
@@ -168,10 +158,10 @@ describe('Aggregator Model', () => {
168
158
  dataFormat: 'application/json',
169
159
  data: bobMemberData,
170
160
  });
171
- const bobMemberReply = yield dwn.processMessage(aggregator.did, bobMember.message, { dataStream: DataStream.fromBytes(bobMemberData) });
161
+ const bobMemberReply = await dwn.processMessage(aggregator.did, bobMember.message, { dataStream: DataStream.fromBytes(bobMemberData) });
172
162
  expect(bobMemberReply.status.code).toBe(202, 'bob member');
173
163
  const carolMemberData = TestDataGenerator.randomBytes(256);
174
- const carolMember = yield RecordsWrite.create({
164
+ const carolMember = await RecordsWrite.create({
175
165
  signer: Jws.createSigner(aggregator),
176
166
  recipient: carol.did,
177
167
  protocol: userProtocolDefinition.protocol,
@@ -180,11 +170,11 @@ describe('Aggregator Model', () => {
180
170
  dataFormat: 'application/json',
181
171
  data: carolMemberData,
182
172
  });
183
- const carolMemberReply = yield dwn.processMessage(aggregator.did, carolMember.message, { dataStream: DataStream.fromBytes(carolMemberData) });
173
+ const carolMemberReply = await dwn.processMessage(aggregator.did, carolMember.message, { dataStream: DataStream.fromBytes(carolMemberData) });
184
174
  expect(carolMemberReply.status.code).toBe(202, 'carol member');
185
175
  // alice writes a public note to carol and posts it in the aggregator
186
176
  const aliceNoteData = TestDataGenerator.randomBytes(256);
187
- const aliceNoteToCarol = yield RecordsWrite.create({
177
+ const aliceNoteToCarol = await RecordsWrite.create({
188
178
  signer: Jws.createSigner(alice),
189
179
  recipient: carol.did,
190
180
  published: true,
@@ -196,15 +186,15 @@ describe('Aggregator Model', () => {
196
186
  protocolRole: 'member'
197
187
  });
198
188
  // Alice writes it to her own DWN and the aggregator
199
- const aliceLocalDWN = yield dwn.processMessage(alice.did, aliceNoteToCarol.message, { dataStream: DataStream.fromBytes(aliceNoteData) });
189
+ const aliceLocalDWN = await dwn.processMessage(alice.did, aliceNoteToCarol.message, { dataStream: DataStream.fromBytes(aliceNoteData) });
200
190
  expect(aliceLocalDWN.status.code).toBe(202, 'alice note');
201
- const aliceAggregatorDWN = yield dwn.processMessage(aggregator.did, aliceNoteToCarol.message, {
191
+ const aliceAggregatorDWN = await dwn.processMessage(aggregator.did, aliceNoteToCarol.message, {
202
192
  dataStream: DataStream.fromBytes(aliceNoteData)
203
193
  });
204
194
  expect(aliceAggregatorDWN.status.code).toBe(202, 'alice note aggregator');
205
195
  // bob writes a public note to alice and posts it in the aggregator
206
196
  const bobNoteToAliceData = TestDataGenerator.randomBytes(256);
207
- const bobNoteToAlice = yield RecordsWrite.create({
197
+ const bobNoteToAlice = await RecordsWrite.create({
208
198
  signer: Jws.createSigner(bob),
209
199
  recipient: alice.did,
210
200
  published: true,
@@ -216,15 +206,15 @@ describe('Aggregator Model', () => {
216
206
  protocolRole: 'member'
217
207
  });
218
208
  // Bob writes it to his own DWN and the aggregator
219
- const bobLocalDWN = yield dwn.processMessage(bob.did, bobNoteToAlice.message, { dataStream: DataStream.fromBytes(bobNoteToAliceData) });
209
+ const bobLocalDWN = await dwn.processMessage(bob.did, bobNoteToAlice.message, { dataStream: DataStream.fromBytes(bobNoteToAliceData) });
220
210
  expect(bobLocalDWN.status.code).toBe(202, 'bob note');
221
- const bobAggregatorDWN = yield dwn.processMessage(aggregator.did, bobNoteToAlice.message, {
211
+ const bobAggregatorDWN = await dwn.processMessage(aggregator.did, bobNoteToAlice.message, {
222
212
  dataStream: DataStream.fromBytes(bobNoteToAliceData)
223
213
  });
224
214
  expect(bobAggregatorDWN.status.code).toBe(202, 'bob note aggregator');
225
215
  // carol writes a public note to bob and posts it in the aggregator
226
216
  const carolNoteToBobData = TestDataGenerator.randomBytes(256);
227
- const carolNoteToBob = yield RecordsWrite.create({
217
+ const carolNoteToBob = await RecordsWrite.create({
228
218
  signer: Jws.createSigner(carol),
229
219
  recipient: bob.did,
230
220
  published: true,
@@ -236,17 +226,17 @@ describe('Aggregator Model', () => {
236
226
  protocolRole: 'member'
237
227
  });
238
228
  // Carol writes it to her own DWN and the aggregator
239
- const carolLocalDWN = yield dwn.processMessage(carol.did, carolNoteToBob.message, {
229
+ const carolLocalDWN = await dwn.processMessage(carol.did, carolNoteToBob.message, {
240
230
  dataStream: DataStream.fromBytes(carolNoteToBobData)
241
231
  });
242
232
  expect(carolLocalDWN.status.code).toBe(202, 'carol note');
243
- const carolAggregatorDWN = yield dwn.processMessage(aggregator.did, carolNoteToBob.message, {
233
+ const carolAggregatorDWN = await dwn.processMessage(aggregator.did, carolNoteToBob.message, {
244
234
  dataStream: DataStream.fromBytes(carolNoteToBobData)
245
235
  });
246
236
  expect(carolAggregatorDWN.status.code).toBe(202, 'carol note aggregator');
247
237
  // daniel writes a public note to alice and posts it in the aggregator (which will reject it as he is not a member)
248
238
  const danielNoteToAlice = TestDataGenerator.randomBytes(256);
249
- const danielNote = yield RecordsWrite.create({
239
+ const danielNote = await RecordsWrite.create({
250
240
  signer: Jws.createSigner(daniel),
251
241
  recipient: alice.did,
252
242
  published: true,
@@ -258,12 +248,12 @@ describe('Aggregator Model', () => {
258
248
  protocolRole: 'member'
259
249
  });
260
250
  // Daniel writes it to his own DWN and the aggregator
261
- const danielLocalDWN = yield dwn.processMessage(daniel.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
251
+ const danielLocalDWN = await dwn.processMessage(daniel.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
262
252
  expect(danielLocalDWN.status.code).toBe(202, 'daniel note');
263
- const danielAggregatorDWN = yield dwn.processMessage(aggregator.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
253
+ const danielAggregatorDWN = await dwn.processMessage(aggregator.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
264
254
  expect(danielAggregatorDWN.status.code).toBe(401, 'daniel note aggregator');
265
255
  // daniel can read public notes from multiple authors in a single query
266
- const danielRead = yield RecordsQuery.create({
256
+ const danielRead = await RecordsQuery.create({
267
257
  signer: Jws.createSigner(daniel),
268
258
  filter: {
269
259
  protocol: userProtocolDefinition.protocol,
@@ -271,14 +261,14 @@ describe('Aggregator Model', () => {
271
261
  author: [alice.did, bob.did],
272
262
  }
273
263
  });
274
- const danielReadReply = yield dwn.processMessage(aggregator.did, danielRead.message);
264
+ const danielReadReply = await dwn.processMessage(aggregator.did, danielRead.message);
275
265
  expect(danielReadReply.status.code).toBe(200, 'daniel read');
276
- expect((_a = danielReadReply.entries) === null || _a === void 0 ? void 0 : _a.length).toBe(2, 'daniel read records');
266
+ expect(danielReadReply.entries?.length).toBe(2, 'daniel read records');
277
267
  expect(danielReadReply.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'daniel read alice note');
278
268
  expect(danielReadReply.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'daniel read bob note');
279
269
  // create private notes to carol from alice and bob
280
270
  const alicePrivateNoteToCarol = TestDataGenerator.randomBytes(256);
281
- const aliceNoteToCarolPrivate = yield RecordsWrite.create({
271
+ const aliceNoteToCarolPrivate = await RecordsWrite.create({
282
272
  signer: Jws.createSigner(alice),
283
273
  recipient: carol.did,
284
274
  published: false,
@@ -289,16 +279,16 @@ describe('Aggregator Model', () => {
289
279
  data: alicePrivateNoteToCarol,
290
280
  protocolRole: 'member'
291
281
  });
292
- const aliceNoteToCarolLocal = yield dwn.processMessage(alice.did, aliceNoteToCarolPrivate.message, {
282
+ const aliceNoteToCarolLocal = await dwn.processMessage(alice.did, aliceNoteToCarolPrivate.message, {
293
283
  dataStream: DataStream.fromBytes(alicePrivateNoteToCarol)
294
284
  });
295
285
  expect(aliceNoteToCarolLocal.status.code).toBe(202, 'alice private note');
296
- const aliceNoteToCarolAggregator = yield dwn.processMessage(aggregator.did, aliceNoteToCarolPrivate.message, {
286
+ const aliceNoteToCarolAggregator = await dwn.processMessage(aggregator.did, aliceNoteToCarolPrivate.message, {
297
287
  dataStream: DataStream.fromBytes(alicePrivateNoteToCarol)
298
288
  });
299
289
  expect(aliceNoteToCarolAggregator.status.code).toBe(202, 'alice private note aggregator');
300
290
  const bobPrivateNoteToCarol = TestDataGenerator.randomBytes(256);
301
- const bobNoteToCarolPrivate = yield RecordsWrite.create({
291
+ const bobNoteToCarolPrivate = await RecordsWrite.create({
302
292
  signer: Jws.createSigner(bob),
303
293
  recipient: carol.did,
304
294
  published: false,
@@ -309,17 +299,17 @@ describe('Aggregator Model', () => {
309
299
  data: bobPrivateNoteToCarol,
310
300
  protocolRole: 'member'
311
301
  });
312
- const bobNoteToCarolLocal = yield dwn.processMessage(bob.did, bobNoteToCarolPrivate.message, {
302
+ const bobNoteToCarolLocal = await dwn.processMessage(bob.did, bobNoteToCarolPrivate.message, {
313
303
  dataStream: DataStream.fromBytes(bobPrivateNoteToCarol)
314
304
  });
315
305
  expect(bobNoteToCarolLocal.status.code).toBe(202, 'bob private note');
316
- const bobNoteToCarolAggregator = yield dwn.processMessage(aggregator.did, bobNoteToCarolPrivate.message, {
306
+ const bobNoteToCarolAggregator = await dwn.processMessage(aggregator.did, bobNoteToCarolPrivate.message, {
317
307
  dataStream: DataStream.fromBytes(bobPrivateNoteToCarol)
318
308
  });
319
309
  expect(bobNoteToCarolAggregator.status.code).toBe(202, 'bob private note aggregator');
320
310
  // create a private note from bob to alice
321
311
  const bobNoteToAlicePrivateData = TestDataGenerator.randomBytes(256);
322
- const bobNoteToAlicePrivate = yield RecordsWrite.create({
312
+ const bobNoteToAlicePrivate = await RecordsWrite.create({
323
313
  signer: Jws.createSigner(bob),
324
314
  recipient: alice.did,
325
315
  published: false,
@@ -330,16 +320,16 @@ describe('Aggregator Model', () => {
330
320
  data: bobNoteToAlicePrivateData,
331
321
  protocolRole: 'member'
332
322
  });
333
- const bobNoteToAliceLocal = yield dwn.processMessage(bob.did, bobNoteToAlicePrivate.message, {
323
+ const bobNoteToAliceLocal = await dwn.processMessage(bob.did, bobNoteToAlicePrivate.message, {
334
324
  dataStream: DataStream.fromBytes(bobNoteToAlicePrivateData)
335
325
  });
336
326
  expect(bobNoteToAliceLocal.status.code).toBe(202, 'alice private note to bob');
337
- const bobNoteToAliceAggregator = yield dwn.processMessage(aggregator.did, bobNoteToAlicePrivate.message, {
327
+ const bobNoteToAliceAggregator = await dwn.processMessage(aggregator.did, bobNoteToAlicePrivate.message, {
338
328
  dataStream: DataStream.fromBytes(bobNoteToAlicePrivateData)
339
329
  });
340
330
  expect(bobNoteToAliceAggregator.status.code).toBe(202, 'alice private note to bob aggregator');
341
331
  // confirm daniel can still only read the public notes
342
- const danielRead2 = yield RecordsQuery.create({
332
+ const danielRead2 = await RecordsQuery.create({
343
333
  signer: Jws.createSigner(daniel),
344
334
  filter: {
345
335
  protocol: userProtocolDefinition.protocol,
@@ -347,14 +337,14 @@ describe('Aggregator Model', () => {
347
337
  author: [alice.did, bob.did],
348
338
  }
349
339
  });
350
- const danielReadReply2 = yield dwn.processMessage(aggregator.did, danielRead2.message);
340
+ const danielReadReply2 = await dwn.processMessage(aggregator.did, danielRead2.message);
351
341
  expect(danielReadReply2.status.code).toBe(200, 'daniel read 2');
352
- expect((_b = danielReadReply2.entries) === null || _b === void 0 ? void 0 : _b.length).toBe(2, 'daniel read records 2');
342
+ expect(danielReadReply2.entries?.length).toBe(2, 'daniel read records 2');
353
343
  expect(danielReadReply2.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'daniel read alice note 2');
354
344
  expect(danielReadReply2.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'daniel read bob note 2');
355
345
  // carol queries for notes from alice and bob and gets the public notes and private notes destined for her
356
346
  // carol does not see the private note from alice to bob
357
- const carolRead = yield RecordsQuery.create({
347
+ const carolRead = await RecordsQuery.create({
358
348
  signer: Jws.createSigner(carol),
359
349
  filter: {
360
350
  protocol: userProtocolDefinition.protocol,
@@ -362,15 +352,15 @@ describe('Aggregator Model', () => {
362
352
  author: [alice.did, bob.did],
363
353
  }
364
354
  });
365
- const carolReadReply = yield dwn.processMessage(aggregator.did, carolRead.message);
355
+ const carolReadReply = await dwn.processMessage(aggregator.did, carolRead.message);
366
356
  expect(carolReadReply.status.code).toBe(200, 'carol read');
367
- expect((_c = carolReadReply.entries) === null || _c === void 0 ? void 0 : _c.length).toBe(4, 'carol read records');
357
+ expect(carolReadReply.entries?.length).toBe(4, 'carol read records');
368
358
  expect(carolReadReply.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'carol read alice note');
369
359
  expect(carolReadReply.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'carol read bob note');
370
360
  expect(carolReadReply.entries[2].recordId).toBe(aliceNoteToCarolPrivate.message.recordId, 'carol read alice private note');
371
361
  expect(carolReadReply.entries[3].recordId).toBe(bobNoteToCarolPrivate.message.recordId, 'carol read bob private note');
372
362
  // alice queries for notes from bob and carol and gets the public notes and private notes destined for her
373
- const aliceRead = yield RecordsQuery.create({
363
+ const aliceRead = await RecordsQuery.create({
374
364
  signer: Jws.createSigner(alice),
375
365
  filter: {
376
366
  protocol: userProtocolDefinition.protocol,
@@ -378,55 +368,54 @@ describe('Aggregator Model', () => {
378
368
  author: [bob.did, carol.did],
379
369
  }
380
370
  });
381
- const aliceReadReply = yield dwn.processMessage(aggregator.did, aliceRead.message);
371
+ const aliceReadReply = await dwn.processMessage(aggregator.did, aliceRead.message);
382
372
  expect(aliceReadReply.status.code).toBe(200, 'alice read');
383
- expect((_d = aliceReadReply.entries) === null || _d === void 0 ? void 0 : _d.length).toBe(3, 'alice read records');
373
+ expect(aliceReadReply.entries?.length).toBe(3, 'alice read records');
384
374
  expect(aliceReadReply.entries[0].recordId).toBe(bobNoteToAlice.message.recordId, 'alice note to carol public');
385
375
  expect(aliceReadReply.entries[1].recordId).toBe(carolNoteToBob.message.recordId, 'carol note to bob public');
386
376
  expect(aliceReadReply.entries[2].recordId).toBe(bobNoteToAlicePrivate.message.recordId, 'bob note to alice private');
387
- }));
388
- it('should support querying from multiple recipients', () => __awaiter(void 0, void 0, void 0, function* () {
389
- var _a, _b, _c, _d;
377
+ });
378
+ it('should support querying from multiple recipients', async () => {
390
379
  // create aggregator DID and install aggregator note protocol
391
- const aggregator = yield TestDataGenerator.generateDidKeyPersona();
392
- const aggregatorProtocolConfigure = yield ProtocolsConfigure.create({
380
+ const aggregator = await TestDataGenerator.generateDidKeyPersona();
381
+ const aggregatorProtocolConfigure = await ProtocolsConfigure.create({
393
382
  signer: Jws.createSigner(aggregator),
394
383
  definition: aggregatorProtocolDefinition,
395
384
  });
396
- const aggregatorProtocolReply = yield dwn.processMessage(aggregator.did, aggregatorProtocolConfigure.message);
385
+ const aggregatorProtocolReply = await dwn.processMessage(aggregator.did, aggregatorProtocolConfigure.message);
397
386
  expect(aggregatorProtocolReply.status.code).toBe(202, 'aggregator configure');
398
387
  // create 4 users and install user note protocol
399
- const alice = yield TestDataGenerator.generateDidKeyPersona();
400
- const aliceProtocolConfigure = yield ProtocolsConfigure.create({
388
+ const alice = await TestDataGenerator.generateDidKeyPersona();
389
+ const aliceProtocolConfigure = await ProtocolsConfigure.create({
401
390
  signer: Jws.createSigner(alice),
402
391
  definition: userProtocolDefinition,
403
392
  });
404
- const aliceProtocolReply = yield dwn.processMessage(alice.did, aliceProtocolConfigure.message);
393
+ const aliceProtocolReply = await dwn.processMessage(alice.did, aliceProtocolConfigure.message);
405
394
  expect(aliceProtocolReply.status.code).toBe(202, 'alice configure');
406
- const bob = yield TestDataGenerator.generateDidKeyPersona();
407
- const bobProtocolConfigure = yield ProtocolsConfigure.create({
395
+ const bob = await TestDataGenerator.generateDidKeyPersona();
396
+ const bobProtocolConfigure = await ProtocolsConfigure.create({
408
397
  signer: Jws.createSigner(bob),
409
398
  definition: userProtocolDefinition,
410
399
  });
411
- const bobProtocolReply = yield dwn.processMessage(bob.did, bobProtocolConfigure.message);
400
+ const bobProtocolReply = await dwn.processMessage(bob.did, bobProtocolConfigure.message);
412
401
  expect(bobProtocolReply.status.code).toBe(202, 'bob configure');
413
- const carol = yield TestDataGenerator.generateDidKeyPersona();
414
- const carolProtocolConfigure = yield ProtocolsConfigure.create({
402
+ const carol = await TestDataGenerator.generateDidKeyPersona();
403
+ const carolProtocolConfigure = await ProtocolsConfigure.create({
415
404
  signer: Jws.createSigner(carol),
416
405
  definition: userProtocolDefinition,
417
406
  });
418
- const carolProtocolReply = yield dwn.processMessage(carol.did, carolProtocolConfigure.message);
407
+ const carolProtocolReply = await dwn.processMessage(carol.did, carolProtocolConfigure.message);
419
408
  expect(carolProtocolReply.status.code).toBe(202, 'carol configure');
420
- const daniel = yield TestDataGenerator.generateDidKeyPersona();
421
- const danielProtocolConfigure = yield ProtocolsConfigure.create({
409
+ const daniel = await TestDataGenerator.generateDidKeyPersona();
410
+ const danielProtocolConfigure = await ProtocolsConfigure.create({
422
411
  signer: Jws.createSigner(daniel),
423
412
  definition: userProtocolDefinition,
424
413
  });
425
- const danielProtocolReply = yield dwn.processMessage(daniel.did, danielProtocolConfigure.message);
414
+ const danielProtocolReply = await dwn.processMessage(daniel.did, danielProtocolConfigure.message);
426
415
  expect(danielProtocolReply.status.code).toBe(202, 'daniel configure');
427
416
  // The aggregator creates member records for alice, bob and carol
428
417
  const aliceMemberData = TestDataGenerator.randomBytes(256);
429
- const aliceMember = yield RecordsWrite.create({
418
+ const aliceMember = await RecordsWrite.create({
430
419
  signer: Jws.createSigner(aggregator),
431
420
  recipient: alice.did,
432
421
  protocol: userProtocolDefinition.protocol,
@@ -435,10 +424,10 @@ describe('Aggregator Model', () => {
435
424
  dataFormat: 'application/json',
436
425
  data: aliceMemberData,
437
426
  });
438
- const aliceMemberReply = yield dwn.processMessage(aggregator.did, aliceMember.message, { dataStream: DataStream.fromBytes(aliceMemberData) });
427
+ const aliceMemberReply = await dwn.processMessage(aggregator.did, aliceMember.message, { dataStream: DataStream.fromBytes(aliceMemberData) });
439
428
  expect(aliceMemberReply.status.code).toBe(202, 'alice member ' + aliceMemberReply.status.detail);
440
429
  const bobMemberData = TestDataGenerator.randomBytes(256);
441
- const bobMember = yield RecordsWrite.create({
430
+ const bobMember = await RecordsWrite.create({
442
431
  signer: Jws.createSigner(aggregator),
443
432
  recipient: bob.did,
444
433
  protocol: userProtocolDefinition.protocol,
@@ -447,10 +436,10 @@ describe('Aggregator Model', () => {
447
436
  dataFormat: 'application/json',
448
437
  data: bobMemberData,
449
438
  });
450
- const bobMemberReply = yield dwn.processMessage(aggregator.did, bobMember.message, { dataStream: DataStream.fromBytes(bobMemberData) });
439
+ const bobMemberReply = await dwn.processMessage(aggregator.did, bobMember.message, { dataStream: DataStream.fromBytes(bobMemberData) });
451
440
  expect(bobMemberReply.status.code).toBe(202, 'bob member');
452
441
  const carolMemberData = TestDataGenerator.randomBytes(256);
453
- const carolMember = yield RecordsWrite.create({
442
+ const carolMember = await RecordsWrite.create({
454
443
  signer: Jws.createSigner(aggregator),
455
444
  recipient: carol.did,
456
445
  protocol: userProtocolDefinition.protocol,
@@ -459,11 +448,11 @@ describe('Aggregator Model', () => {
459
448
  dataFormat: 'application/json',
460
449
  data: carolMemberData,
461
450
  });
462
- const carolMemberReply = yield dwn.processMessage(aggregator.did, carolMember.message, { dataStream: DataStream.fromBytes(carolMemberData) });
451
+ const carolMemberReply = await dwn.processMessage(aggregator.did, carolMember.message, { dataStream: DataStream.fromBytes(carolMemberData) });
463
452
  expect(carolMemberReply.status.code).toBe(202, 'carol member');
464
453
  // alice writes a public note to carol and posts it in the aggregator
465
454
  const aliceNoteData = TestDataGenerator.randomBytes(256);
466
- const aliceNoteToCarol = yield RecordsWrite.create({
455
+ const aliceNoteToCarol = await RecordsWrite.create({
467
456
  signer: Jws.createSigner(alice),
468
457
  recipient: carol.did,
469
458
  published: true,
@@ -475,15 +464,15 @@ describe('Aggregator Model', () => {
475
464
  protocolRole: 'member'
476
465
  });
477
466
  // Alice writes it to her own DWN and the aggregator
478
- const aliceLocalDWN = yield dwn.processMessage(alice.did, aliceNoteToCarol.message, { dataStream: DataStream.fromBytes(aliceNoteData) });
467
+ const aliceLocalDWN = await dwn.processMessage(alice.did, aliceNoteToCarol.message, { dataStream: DataStream.fromBytes(aliceNoteData) });
479
468
  expect(aliceLocalDWN.status.code).toBe(202, 'alice note');
480
- const aliceAggregatorDWN = yield dwn.processMessage(aggregator.did, aliceNoteToCarol.message, {
469
+ const aliceAggregatorDWN = await dwn.processMessage(aggregator.did, aliceNoteToCarol.message, {
481
470
  dataStream: DataStream.fromBytes(aliceNoteData)
482
471
  });
483
472
  expect(aliceAggregatorDWN.status.code).toBe(202, 'alice note aggregator');
484
473
  // bob writes a public note to alice and posts it in the aggregator
485
474
  const bobNoteToAliceData = TestDataGenerator.randomBytes(256);
486
- const bobNoteToAlice = yield RecordsWrite.create({
475
+ const bobNoteToAlice = await RecordsWrite.create({
487
476
  signer: Jws.createSigner(bob),
488
477
  recipient: alice.did,
489
478
  published: true,
@@ -495,15 +484,15 @@ describe('Aggregator Model', () => {
495
484
  protocolRole: 'member'
496
485
  });
497
486
  // Bob writes it to his own DWN and the aggregator
498
- const bobLocalDWN = yield dwn.processMessage(bob.did, bobNoteToAlice.message, { dataStream: DataStream.fromBytes(bobNoteToAliceData) });
487
+ const bobLocalDWN = await dwn.processMessage(bob.did, bobNoteToAlice.message, { dataStream: DataStream.fromBytes(bobNoteToAliceData) });
499
488
  expect(bobLocalDWN.status.code).toBe(202, 'bob note');
500
- const bobAggregatorDWN = yield dwn.processMessage(aggregator.did, bobNoteToAlice.message, {
489
+ const bobAggregatorDWN = await dwn.processMessage(aggregator.did, bobNoteToAlice.message, {
501
490
  dataStream: DataStream.fromBytes(bobNoteToAliceData)
502
491
  });
503
492
  expect(bobAggregatorDWN.status.code).toBe(202, 'bob note aggregator');
504
493
  // carol writes a public note to bob and posts it in the aggregator
505
494
  const carolNoteToBobData = TestDataGenerator.randomBytes(256);
506
- const carolNoteToBob = yield RecordsWrite.create({
495
+ const carolNoteToBob = await RecordsWrite.create({
507
496
  signer: Jws.createSigner(carol),
508
497
  recipient: bob.did,
509
498
  published: true,
@@ -515,17 +504,17 @@ describe('Aggregator Model', () => {
515
504
  protocolRole: 'member'
516
505
  });
517
506
  // Carol writes it to her own DWN and the aggregator
518
- const carolLocalDWN = yield dwn.processMessage(carol.did, carolNoteToBob.message, {
507
+ const carolLocalDWN = await dwn.processMessage(carol.did, carolNoteToBob.message, {
519
508
  dataStream: DataStream.fromBytes(carolNoteToBobData)
520
509
  });
521
510
  expect(carolLocalDWN.status.code).toBe(202, 'carol note');
522
- const carolAggregatorDWN = yield dwn.processMessage(aggregator.did, carolNoteToBob.message, {
511
+ const carolAggregatorDWN = await dwn.processMessage(aggregator.did, carolNoteToBob.message, {
523
512
  dataStream: DataStream.fromBytes(carolNoteToBobData)
524
513
  });
525
514
  expect(carolAggregatorDWN.status.code).toBe(202, 'carol note aggregator');
526
515
  // daniel writes a public note to alice and posts it in the aggregator (which will reject it as he is not a member)
527
516
  const danielNoteToAlice = TestDataGenerator.randomBytes(256);
528
- const danielNote = yield RecordsWrite.create({
517
+ const danielNote = await RecordsWrite.create({
529
518
  signer: Jws.createSigner(daniel),
530
519
  recipient: alice.did,
531
520
  published: true,
@@ -537,12 +526,12 @@ describe('Aggregator Model', () => {
537
526
  protocolRole: 'member'
538
527
  });
539
528
  // Daniel writes it to his own DWN and the aggregator
540
- const danielLocalDWN = yield dwn.processMessage(daniel.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
529
+ const danielLocalDWN = await dwn.processMessage(daniel.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
541
530
  expect(danielLocalDWN.status.code).toBe(202, 'daniel note');
542
- const danielAggregatorDWN = yield dwn.processMessage(aggregator.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
531
+ const danielAggregatorDWN = await dwn.processMessage(aggregator.did, danielNote.message, { dataStream: DataStream.fromBytes(danielNoteToAlice) });
543
532
  expect(danielAggregatorDWN.status.code).toBe(401, 'daniel note aggregator');
544
533
  // daniel can read public notes from multiple authors in a single query
545
- const danielRead = yield RecordsQuery.create({
534
+ const danielRead = await RecordsQuery.create({
546
535
  signer: Jws.createSigner(daniel),
547
536
  filter: {
548
537
  protocol: userProtocolDefinition.protocol,
@@ -550,14 +539,14 @@ describe('Aggregator Model', () => {
550
539
  recipient: [alice.did, carol.did],
551
540
  }
552
541
  });
553
- const danielReadReply = yield dwn.processMessage(aggregator.did, danielRead.message);
542
+ const danielReadReply = await dwn.processMessage(aggregator.did, danielRead.message);
554
543
  expect(danielReadReply.status.code).toBe(200, 'daniel read');
555
- expect((_a = danielReadReply.entries) === null || _a === void 0 ? void 0 : _a.length).toBe(2, 'daniel read records');
544
+ expect(danielReadReply.entries?.length).toBe(2, 'daniel read records');
556
545
  expect(danielReadReply.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'daniel read alice note');
557
546
  expect(danielReadReply.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'daniel read bob note');
558
547
  // create private notes to carol from alice and bob
559
548
  const alicePrivateNoteToCarol = TestDataGenerator.randomBytes(256);
560
- const aliceNoteToCarolPrivate = yield RecordsWrite.create({
549
+ const aliceNoteToCarolPrivate = await RecordsWrite.create({
561
550
  signer: Jws.createSigner(alice),
562
551
  recipient: carol.did,
563
552
  published: false,
@@ -568,16 +557,16 @@ describe('Aggregator Model', () => {
568
557
  data: alicePrivateNoteToCarol,
569
558
  protocolRole: 'member'
570
559
  });
571
- const aliceNoteToCarolLocal = yield dwn.processMessage(alice.did, aliceNoteToCarolPrivate.message, {
560
+ const aliceNoteToCarolLocal = await dwn.processMessage(alice.did, aliceNoteToCarolPrivate.message, {
572
561
  dataStream: DataStream.fromBytes(alicePrivateNoteToCarol)
573
562
  });
574
563
  expect(aliceNoteToCarolLocal.status.code).toBe(202, 'alice private note');
575
- const aliceNoteToCarolAggregator = yield dwn.processMessage(aggregator.did, aliceNoteToCarolPrivate.message, {
564
+ const aliceNoteToCarolAggregator = await dwn.processMessage(aggregator.did, aliceNoteToCarolPrivate.message, {
576
565
  dataStream: DataStream.fromBytes(alicePrivateNoteToCarol)
577
566
  });
578
567
  expect(aliceNoteToCarolAggregator.status.code).toBe(202, 'alice private note aggregator');
579
568
  const bobPrivateNoteToCarol = TestDataGenerator.randomBytes(256);
580
- const bobNoteToCarolPrivate = yield RecordsWrite.create({
569
+ const bobNoteToCarolPrivate = await RecordsWrite.create({
581
570
  signer: Jws.createSigner(bob),
582
571
  recipient: carol.did,
583
572
  published: false,
@@ -588,17 +577,17 @@ describe('Aggregator Model', () => {
588
577
  data: bobPrivateNoteToCarol,
589
578
  protocolRole: 'member'
590
579
  });
591
- const bobNoteToCarolLocal = yield dwn.processMessage(bob.did, bobNoteToCarolPrivate.message, {
580
+ const bobNoteToCarolLocal = await dwn.processMessage(bob.did, bobNoteToCarolPrivate.message, {
592
581
  dataStream: DataStream.fromBytes(bobPrivateNoteToCarol)
593
582
  });
594
583
  expect(bobNoteToCarolLocal.status.code).toBe(202, 'bob private note');
595
- const bobNoteToCarolAggregator = yield dwn.processMessage(aggregator.did, bobNoteToCarolPrivate.message, {
584
+ const bobNoteToCarolAggregator = await dwn.processMessage(aggregator.did, bobNoteToCarolPrivate.message, {
596
585
  dataStream: DataStream.fromBytes(bobPrivateNoteToCarol)
597
586
  });
598
587
  expect(bobNoteToCarolAggregator.status.code).toBe(202, 'bob private note aggregator');
599
588
  // create a private note from bob to alice
600
589
  const bobNoteToAlicePrivateData = TestDataGenerator.randomBytes(256);
601
- const bobNoteToAlicePrivate = yield RecordsWrite.create({
590
+ const bobNoteToAlicePrivate = await RecordsWrite.create({
602
591
  signer: Jws.createSigner(bob),
603
592
  recipient: alice.did,
604
593
  published: false,
@@ -609,16 +598,16 @@ describe('Aggregator Model', () => {
609
598
  data: bobNoteToAlicePrivateData,
610
599
  protocolRole: 'member'
611
600
  });
612
- const bobNoteToAliceLocal = yield dwn.processMessage(bob.did, bobNoteToAlicePrivate.message, {
601
+ const bobNoteToAliceLocal = await dwn.processMessage(bob.did, bobNoteToAlicePrivate.message, {
613
602
  dataStream: DataStream.fromBytes(bobNoteToAlicePrivateData)
614
603
  });
615
604
  expect(bobNoteToAliceLocal.status.code).toBe(202, 'alice private note to bob');
616
- const bobNoteToAliceAggregator = yield dwn.processMessage(aggregator.did, bobNoteToAlicePrivate.message, {
605
+ const bobNoteToAliceAggregator = await dwn.processMessage(aggregator.did, bobNoteToAlicePrivate.message, {
617
606
  dataStream: DataStream.fromBytes(bobNoteToAlicePrivateData)
618
607
  });
619
608
  expect(bobNoteToAliceAggregator.status.code).toBe(202, 'alice private note to bob aggregator');
620
609
  // confirm daniel can still only read the public notes
621
- const danielRead2 = yield RecordsQuery.create({
610
+ const danielRead2 = await RecordsQuery.create({
622
611
  signer: Jws.createSigner(daniel),
623
612
  filter: {
624
613
  protocol: userProtocolDefinition.protocol,
@@ -626,14 +615,14 @@ describe('Aggregator Model', () => {
626
615
  recipient: [alice.did, carol.did],
627
616
  }
628
617
  });
629
- const danielReadReply2 = yield dwn.processMessage(aggregator.did, danielRead2.message);
618
+ const danielReadReply2 = await dwn.processMessage(aggregator.did, danielRead2.message);
630
619
  expect(danielReadReply2.status.code).toBe(200, 'daniel read 2');
631
- expect((_b = danielReadReply2.entries) === null || _b === void 0 ? void 0 : _b.length).toBe(2, 'daniel read records 2');
620
+ expect(danielReadReply2.entries?.length).toBe(2, 'daniel read records 2');
632
621
  expect(danielReadReply2.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'daniel read alice note 2');
633
622
  expect(danielReadReply2.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'daniel read bob note 2');
634
623
  // carol queries for notes from alice and bob and gets the public notes and private notes destined for her
635
624
  // carol does not see the private note from alice to bob
636
- const carolRead = yield RecordsQuery.create({
625
+ const carolRead = await RecordsQuery.create({
637
626
  signer: Jws.createSigner(carol),
638
627
  filter: {
639
628
  protocol: userProtocolDefinition.protocol,
@@ -641,15 +630,15 @@ describe('Aggregator Model', () => {
641
630
  recipient: [alice.did, carol.did],
642
631
  }
643
632
  });
644
- const carolReadReply = yield dwn.processMessage(aggregator.did, carolRead.message);
633
+ const carolReadReply = await dwn.processMessage(aggregator.did, carolRead.message);
645
634
  expect(carolReadReply.status.code).toBe(200, 'carol read');
646
- expect((_c = carolReadReply.entries) === null || _c === void 0 ? void 0 : _c.length).toBe(4, 'carol read records');
635
+ expect(carolReadReply.entries?.length).toBe(4, 'carol read records');
647
636
  expect(carolReadReply.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'carol read alice note');
648
637
  expect(carolReadReply.entries[1].recordId).toBe(bobNoteToAlice.message.recordId, 'carol read bob note');
649
638
  expect(carolReadReply.entries[2].recordId).toBe(aliceNoteToCarolPrivate.message.recordId, 'carol read alice private note');
650
639
  expect(carolReadReply.entries[3].recordId).toBe(bobNoteToCarolPrivate.message.recordId, 'carol read bob private note');
651
640
  // alice queries for notes from bob and carol and gets the public notes and private notes destined for her
652
- const aliceRead = yield RecordsQuery.create({
641
+ const aliceRead = await RecordsQuery.create({
653
642
  signer: Jws.createSigner(alice),
654
643
  filter: {
655
644
  protocol: userProtocolDefinition.protocol,
@@ -657,12 +646,12 @@ describe('Aggregator Model', () => {
657
646
  recipient: [carol.did, bob.did],
658
647
  }
659
648
  });
660
- const aliceReadReply = yield dwn.processMessage(aggregator.did, aliceRead.message);
649
+ const aliceReadReply = await dwn.processMessage(aggregator.did, aliceRead.message);
661
650
  expect(aliceReadReply.status.code).toBe(200, 'alice read');
662
- expect((_d = aliceReadReply.entries) === null || _d === void 0 ? void 0 : _d.length).toBe(3, 'alice read records');
651
+ expect(aliceReadReply.entries?.length).toBe(3, 'alice read records');
663
652
  expect(aliceReadReply.entries[0].recordId).toBe(aliceNoteToCarol.message.recordId, 'alice note to carol public');
664
653
  expect(aliceReadReply.entries[1].recordId).toBe(carolNoteToBob.message.recordId, 'carol note to bob public');
665
654
  expect(aliceReadReply.entries[2].recordId).toBe(aliceNoteToCarolPrivate.message.recordId, 'alice to carol private');
666
- }));
655
+ });
667
656
  });
668
657
  //# sourceMappingURL=aggregator.spec.js.map