@enbox/dwn-sdk-js 0.0.2 → 0.0.4

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