@enbox/dwn-sdk-js 0.0.5 → 0.0.7

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 (363) 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 +1 -2
  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/dwn-constant.js +7 -7
  10. package/dist/esm/src/core/dwn-constant.js.map +1 -1
  11. package/dist/esm/src/core/dwn-error.js +1 -0
  12. package/dist/esm/src/core/dwn-error.js.map +1 -1
  13. package/dist/esm/src/core/grant-authorization.js +37 -52
  14. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  15. package/dist/esm/src/core/message.js +85 -116
  16. package/dist/esm/src/core/message.js.map +1 -1
  17. package/dist/esm/src/core/messages-grant-authorization.js +63 -78
  18. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  19. package/dist/esm/src/core/protocol-authorization-action.js +266 -0
  20. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
  21. package/dist/esm/src/core/protocol-authorization-validation.js +254 -0
  22. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
  23. package/dist/esm/src/core/protocol-authorization.js +122 -740
  24. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  25. package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
  26. package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
  27. package/dist/esm/src/core/record-chain.js +64 -0
  28. package/dist/esm/src/core/record-chain.js.map +1 -0
  29. package/dist/esm/src/core/records-grant-authorization.js +55 -72
  30. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  31. package/dist/esm/src/core/resumable-task-manager.js +50 -65
  32. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  33. package/dist/esm/src/core/tenant-gate.js +2 -13
  34. package/dist/esm/src/core/tenant-gate.js.map +1 -1
  35. package/dist/esm/src/dwn.js +69 -86
  36. package/dist/esm/src/dwn.js.map +1 -1
  37. package/dist/esm/src/event-stream/event-emitter-stream.js +17 -31
  38. package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -1
  39. package/dist/esm/src/handlers/messages-read.js +67 -77
  40. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  41. package/dist/esm/src/handlers/messages-subscribe.js +51 -61
  42. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  43. package/dist/esm/src/handlers/messages-sync.js +75 -85
  44. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  45. package/dist/esm/src/handlers/protocols-configure.js +135 -155
  46. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  47. package/dist/esm/src/handlers/protocols-query.js +52 -51
  48. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  49. package/dist/esm/src/handlers/records-count.js +96 -82
  50. package/dist/esm/src/handlers/records-count.js.map +1 -1
  51. package/dist/esm/src/handlers/records-delete.js +78 -88
  52. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  53. package/dist/esm/src/handlers/records-query.js +116 -101
  54. package/dist/esm/src/handlers/records-query.js.map +1 -1
  55. package/dist/esm/src/handlers/records-read.js +124 -131
  56. package/dist/esm/src/handlers/records-read.js.map +1 -1
  57. package/dist/esm/src/handlers/records-subscribe.js +150 -103
  58. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  59. package/dist/esm/src/handlers/records-write.js +250 -259
  60. package/dist/esm/src/handlers/records-write.js.map +1 -1
  61. package/dist/esm/src/interfaces/messages-read.js +24 -32
  62. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/messages-subscribe.js +27 -41
  64. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/messages-sync.js +26 -40
  66. package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
  67. package/dist/esm/src/interfaces/protocols-configure.js +63 -63
  68. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  69. package/dist/esm/src/interfaces/protocols-query.js +55 -68
  70. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  71. package/dist/esm/src/interfaces/records-count.js +50 -66
  72. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  73. package/dist/esm/src/interfaces/records-delete.js +45 -55
  74. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  75. package/dist/esm/src/interfaces/records-query.js +60 -76
  76. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  77. package/dist/esm/src/interfaces/records-read.js +51 -67
  78. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  79. package/dist/esm/src/interfaces/records-subscribe.js +52 -68
  80. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  81. package/dist/esm/src/interfaces/records-write-query.js +102 -0
  82. package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
  83. package/dist/esm/src/interfaces/records-write-signing.js +92 -0
  84. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
  85. package/dist/esm/src/interfaces/records-write.js +407 -602
  86. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  87. package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
  88. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  89. package/dist/esm/src/jose/jws/general/builder.js +23 -35
  90. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  91. package/dist/esm/src/jose/jws/general/verifier.js +56 -69
  92. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  93. package/dist/esm/src/protocols/permission-grant.js +44 -15
  94. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  95. package/dist/esm/src/protocols/permission-request.js +29 -15
  96. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  97. package/dist/esm/src/protocols/permissions.js +216 -226
  98. package/dist/esm/src/protocols/permissions.js.map +1 -1
  99. package/dist/esm/src/smt/smt-store-level.js +42 -64
  100. package/dist/esm/src/smt/smt-store-level.js.map +1 -1
  101. package/dist/esm/src/smt/smt-store-memory.js +19 -45
  102. package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
  103. package/dist/esm/src/smt/smt-utils.js +28 -45
  104. package/dist/esm/src/smt/smt-utils.js.map +1 -1
  105. package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
  106. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
  107. package/dist/esm/src/state-index/state-index-level.js +115 -150
  108. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  109. package/dist/esm/src/store/blockstore-level.js +54 -156
  110. package/dist/esm/src/store/blockstore-level.js.map +1 -1
  111. package/dist/esm/src/store/blockstore-mock.js +48 -153
  112. package/dist/esm/src/store/blockstore-mock.js.map +1 -1
  113. package/dist/esm/src/store/data-store-level.js +59 -99
  114. package/dist/esm/src/store/data-store-level.js.map +1 -1
  115. package/dist/esm/src/store/index-level-compound.js +246 -0
  116. package/dist/esm/src/store/index-level-compound.js.map +1 -0
  117. package/dist/esm/src/store/index-level.js +295 -713
  118. package/dist/esm/src/store/index-level.js.map +1 -1
  119. package/dist/esm/src/store/level-wrapper.js +143 -244
  120. package/dist/esm/src/store/level-wrapper.js.map +1 -1
  121. package/dist/esm/src/store/message-store-level.js +71 -94
  122. package/dist/esm/src/store/message-store-level.js.map +1 -1
  123. package/dist/esm/src/store/resumable-task-store-level.js +62 -101
  124. package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
  125. package/dist/esm/src/store/storage-controller.js +129 -144
  126. package/dist/esm/src/store/storage-controller.js.map +1 -1
  127. package/dist/esm/src/utils/abort.js +8 -19
  128. package/dist/esm/src/utils/abort.js.map +1 -1
  129. package/dist/esm/src/utils/array.js +15 -49
  130. package/dist/esm/src/utils/array.js.map +1 -1
  131. package/dist/esm/src/utils/cid.js +29 -77
  132. package/dist/esm/src/utils/cid.js.map +1 -1
  133. package/dist/esm/src/utils/data-stream.js +37 -65
  134. package/dist/esm/src/utils/data-stream.js.map +1 -1
  135. package/dist/esm/src/utils/encryption.js +136 -162
  136. package/dist/esm/src/utils/encryption.js.map +1 -1
  137. package/dist/esm/src/utils/filter.js +1 -12
  138. package/dist/esm/src/utils/filter.js.map +1 -1
  139. package/dist/esm/src/utils/hd-key.js +45 -63
  140. package/dist/esm/src/utils/hd-key.js.map +1 -1
  141. package/dist/esm/src/utils/jws.js +9 -20
  142. package/dist/esm/src/utils/jws.js.map +1 -1
  143. package/dist/esm/src/utils/memory-cache.js +12 -23
  144. package/dist/esm/src/utils/memory-cache.js.map +1 -1
  145. package/dist/esm/src/utils/messages.js +9 -3
  146. package/dist/esm/src/utils/messages.js.map +1 -1
  147. package/dist/esm/src/utils/private-key-signer.js +9 -17
  148. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  149. package/dist/esm/src/utils/protocols.js +62 -70
  150. package/dist/esm/src/utils/protocols.js.map +1 -1
  151. package/dist/esm/src/utils/records.js +108 -140
  152. package/dist/esm/src/utils/records.js.map +1 -1
  153. package/dist/esm/src/utils/secp256k1.js +60 -96
  154. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  155. package/dist/esm/src/utils/secp256r1.js +54 -71
  156. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  157. package/dist/esm/src/utils/time.js +5 -18
  158. package/dist/esm/src/utils/time.js.map +1 -1
  159. package/dist/esm/src/utils/url.js +3 -3
  160. package/dist/esm/src/utils/url.js.map +1 -1
  161. package/dist/esm/tests/core/auth.spec.js +3 -12
  162. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  163. package/dist/esm/tests/core/message.spec.js +50 -59
  164. package/dist/esm/tests/core/message.spec.js.map +1 -1
  165. package/dist/esm/tests/core/protocol-authorization.spec.js +9 -18
  166. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  167. package/dist/esm/tests/dwn.spec.js +45 -58
  168. package/dist/esm/tests/dwn.spec.js.map +1 -1
  169. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +24 -33
  170. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -1
  171. package/dist/esm/tests/event-stream/event-stream.spec.js +46 -55
  172. package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -1
  173. package/dist/esm/tests/features/author-delegated-grant.spec.js +326 -343
  174. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  175. package/dist/esm/tests/features/owner-delegated-grant.spec.js +153 -169
  176. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  177. package/dist/esm/tests/features/owner-signature.spec.js +67 -78
  178. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  179. package/dist/esm/tests/features/permissions.spec.js +446 -181
  180. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  181. package/dist/esm/tests/features/protocol-composition.spec.js +346 -356
  182. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  183. package/dist/esm/tests/features/protocol-create-action.spec.js +42 -51
  184. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  185. package/dist/esm/tests/features/protocol-delete-action.spec.js +94 -103
  186. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  187. package/dist/esm/tests/features/protocol-update-action.spec.js +105 -114
  188. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  189. package/dist/esm/tests/features/records-prune.spec.js +175 -191
  190. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  191. package/dist/esm/tests/features/records-tags.spec.js +441 -460
  192. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  193. package/dist/esm/tests/features/resumable-tasks.spec.js +82 -91
  194. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  195. package/dist/esm/tests/handlers/messages-read.spec.js +206 -207
  196. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  197. package/dist/esm/tests/handlers/messages-subscribe.spec.js +145 -154
  198. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  199. package/dist/esm/tests/handlers/messages-sync.spec.js +174 -183
  200. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  201. package/dist/esm/tests/handlers/protocols-configure.spec.js +244 -238
  202. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  203. package/dist/esm/tests/handlers/protocols-query.spec.js +156 -169
  204. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  205. package/dist/esm/tests/handlers/records-count.spec.js +93 -102
  206. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  207. package/dist/esm/tests/handlers/records-delete.spec.js +252 -264
  208. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  209. package/dist/esm/tests/handlers/records-query.spec.js +917 -988
  210. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  211. package/dist/esm/tests/handlers/records-read.spec.js +553 -568
  212. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  213. package/dist/esm/tests/handlers/records-subscribe.spec.js +269 -278
  214. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  215. package/dist/esm/tests/handlers/records-write.spec.js +1057 -1082
  216. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  217. package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
  218. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  219. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
  220. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  221. package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
  222. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  223. package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
  224. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  225. package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
  226. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  227. package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
  228. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  229. package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
  230. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  231. package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
  232. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  233. package/dist/esm/tests/interfaces/records-write.spec.js +152 -165
  234. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  235. package/dist/esm/tests/jose/jws/general.spec.js +36 -45
  236. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  237. package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
  238. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  239. package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
  240. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  241. package/dist/esm/tests/protocols/permissions.spec.js +49 -55
  242. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  243. package/dist/esm/tests/scenarios/aggregator.spec.js +124 -135
  244. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  245. package/dist/esm/tests/scenarios/deleted-record.spec.js +23 -32
  246. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  247. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +52 -61
  248. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  249. package/dist/esm/tests/scenarios/nested-roles.spec.js +63 -73
  250. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  251. package/dist/esm/tests/scenarios/subscriptions.spec.js +377 -333
  252. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  253. package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
  254. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
  255. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
  256. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
  257. package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
  258. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
  259. package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
  260. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
  261. package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
  262. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  263. package/dist/esm/tests/store/data-store-level.spec.js +86 -95
  264. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  265. package/dist/esm/tests/store/index-level.spec.js +404 -414
  266. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  267. package/dist/esm/tests/store/message-store-level.spec.js +13 -22
  268. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  269. package/dist/esm/tests/store/message-store.spec.js +229 -238
  270. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  271. package/dist/esm/tests/test-event-stream.js +3 -3
  272. package/dist/esm/tests/test-event-stream.js.map +1 -1
  273. package/dist/esm/tests/test-stores.js +16 -13
  274. package/dist/esm/tests/test-stores.js.map +1 -1
  275. package/dist/esm/tests/test-suite.js +2 -11
  276. package/dist/esm/tests/test-suite.js.map +1 -1
  277. package/dist/esm/tests/utils/cid.spec.js +24 -33
  278. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  279. package/dist/esm/tests/utils/data-stream.spec.js +48 -57
  280. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  281. package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
  282. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  283. package/dist/esm/tests/utils/encryption.spec.js +291 -44
  284. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  285. package/dist/esm/tests/utils/filters.spec.js +46 -55
  286. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  287. package/dist/esm/tests/utils/hd-key.spec.js +10 -19
  288. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  289. package/dist/esm/tests/utils/jws.spec.js +3 -12
  290. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  291. package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
  292. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  293. package/dist/esm/tests/utils/messages.spec.js +6 -15
  294. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  295. package/dist/esm/tests/utils/poller.js +22 -33
  296. package/dist/esm/tests/utils/poller.js.map +1 -1
  297. package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
  298. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  299. package/dist/esm/tests/utils/records.spec.js +10 -19
  300. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  301. package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
  302. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  303. package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
  304. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  305. package/dist/esm/tests/utils/test-data-generator.js +414 -468
  306. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  307. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
  308. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  309. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
  310. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  311. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
  312. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  313. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
  314. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  315. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
  316. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  317. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
  318. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  319. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
  320. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
  321. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +7 -16
  322. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  323. package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
  324. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
  325. package/dist/types/src/core/protocol-authorization-validation.d.ts +60 -0
  326. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
  327. package/dist/types/src/core/protocol-authorization.d.ts +10 -100
  328. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  329. package/dist/types/src/core/record-chain.d.ts +24 -0
  330. package/dist/types/src/core/record-chain.d.ts.map +1 -0
  331. package/dist/types/src/handlers/records-write.d.ts +2 -1
  332. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  333. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  334. package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
  335. package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
  336. package/dist/types/src/interfaces/records-write-signing.d.ts +35 -0
  337. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
  338. package/dist/types/src/interfaces/records-write.d.ts +10 -44
  339. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  340. package/dist/types/src/store/index-level-compound.d.ts +70 -0
  341. package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
  342. package/dist/types/src/store/index-level.d.ts +0 -58
  343. package/dist/types/src/store/index-level.d.ts.map +1 -1
  344. package/dist/types/src/utils/protocols.d.ts +5 -0
  345. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  346. package/dist/types/src/utils/records.d.ts +3 -1
  347. package/dist/types/src/utils/records.d.ts.map +1 -1
  348. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  349. package/package.json +3 -3
  350. package/src/core/protocol-authorization-action.ts +377 -0
  351. package/src/core/protocol-authorization-validation.ts +391 -0
  352. package/src/core/protocol-authorization.ts +60 -849
  353. package/src/core/record-chain.ts +99 -0
  354. package/src/handlers/records-read.ts +1 -1
  355. package/src/handlers/records-write.ts +37 -21
  356. package/src/interfaces/protocols-configure.ts +33 -5
  357. package/src/interfaces/records-write-query.ts +139 -0
  358. package/src/interfaces/records-write-signing.ts +143 -0
  359. package/src/interfaces/records-write.ts +49 -221
  360. package/src/store/index-level-compound.ts +324 -0
  361. package/src/store/index-level.ts +24 -306
  362. package/src/utils/protocols.ts +8 -0
  363. package/src/utils/records.ts +9 -15
@@ -1,23 +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
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
1
  import { authenticate } from '../core/auth.js';
22
2
  import { Message } from '../core/message.js';
23
3
  import { messageReplyFromError } from '../core/message-reply.js';
@@ -28,121 +8,126 @@ import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
28
8
  import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
29
9
  import { getRuleSetAtPath, parseCrossProtocolRef } from '../utils/protocols.js';
30
10
  export class ProtocolsConfigureHandler {
11
+ didResolver;
12
+ messageStore;
13
+ stateIndex;
14
+ eventStream;
31
15
  constructor(didResolver, messageStore, stateIndex, eventStream) {
32
16
  this.didResolver = didResolver;
33
17
  this.messageStore = messageStore;
34
18
  this.stateIndex = stateIndex;
35
19
  this.eventStream = eventStream;
36
20
  }
37
- handle(_a) {
38
- return __awaiter(this, arguments, void 0, function* ({ tenant, message, }) {
39
- let protocolsConfigure;
40
- try {
41
- protocolsConfigure = yield ProtocolsConfigure.parse(message);
42
- }
43
- catch (e) {
44
- return messageReplyFromError(e, 400);
45
- }
46
- // authentication & authorization
47
- try {
48
- yield authenticate(message.authorization, this.didResolver);
49
- yield ProtocolsConfigureHandler.authorizeProtocolsConfigure(tenant, protocolsConfigure, this.messageStore);
50
- }
51
- catch (e) {
52
- return messageReplyFromError(e, 401);
53
- }
54
- // validate composition dependencies: all `uses` protocols must already be installed,
55
- // `$ref` paths must exist in the referenced protocols, and cross-protocol roles must exist.
56
- try {
57
- yield ProtocolsConfigureHandler.validateCompositionDependencies(tenant, message.descriptor.definition, this.messageStore);
58
- }
59
- catch (e) {
60
- return messageReplyFromError(e, 400);
61
- }
62
- // attempt to get existing protocol
63
- const query = {
64
- interface: DwnInterfaceName.Protocols,
65
- method: DwnMethodName.Configure,
66
- protocol: message.descriptor.definition.protocol
21
+ async handle({ tenant, message, }) {
22
+ let protocolsConfigure;
23
+ try {
24
+ protocolsConfigure = await ProtocolsConfigure.parse(message);
25
+ }
26
+ catch (e) {
27
+ return messageReplyFromError(e, 400);
28
+ }
29
+ // authentication & authorization
30
+ try {
31
+ await authenticate(message.authorization, this.didResolver);
32
+ await ProtocolsConfigureHandler.authorizeProtocolsConfigure(tenant, protocolsConfigure, this.messageStore);
33
+ }
34
+ catch (e) {
35
+ return messageReplyFromError(e, 401);
36
+ }
37
+ // validate composition dependencies: all `uses` protocols must already be installed,
38
+ // `$ref` paths must exist in the referenced protocols, and cross-protocol roles must exist.
39
+ try {
40
+ await ProtocolsConfigureHandler.validateCompositionDependencies(tenant, message.descriptor.definition, this.messageStore);
41
+ }
42
+ catch (e) {
43
+ return messageReplyFromError(e, 400);
44
+ }
45
+ // attempt to get existing protocol
46
+ const query = {
47
+ interface: DwnInterfaceName.Protocols,
48
+ method: DwnMethodName.Configure,
49
+ protocol: message.descriptor.definition.protocol
50
+ };
51
+ const { messages: existingMessages } = await this.messageStore.query(tenant, [query]);
52
+ // find newest message, and if the incoming message is the newest
53
+ let newestMessage = await Message.getNewestMessage(existingMessages);
54
+ let incomingMessageIsNewest = false;
55
+ if (newestMessage === undefined || await Message.isNewer(message, newestMessage)) {
56
+ incomingMessageIsNewest = true;
57
+ newestMessage = message;
58
+ }
59
+ // write the incoming message to DB if incoming message is newest
60
+ let messageReply;
61
+ if (incomingMessageIsNewest) {
62
+ const indexes = ProtocolsConfigureHandler.constructIndexes(protocolsConfigure, true);
63
+ await this.messageStore.put(tenant, message, indexes);
64
+ const messageCid = await Message.getCid(message);
65
+ await this.stateIndex.insert(tenant, messageCid, indexes);
66
+ // only emit if the event stream is set
67
+ if (this.eventStream !== undefined) {
68
+ this.eventStream.emit(tenant, { message }, indexes);
69
+ }
70
+ messageReply = {
71
+ status: { code: 202, detail: 'Accepted' }
67
72
  };
68
- const { messages: existingMessages } = yield this.messageStore.query(tenant, [query]);
69
- // find newest message, and if the incoming message is the newest
70
- let newestMessage = yield Message.getNewestMessage(existingMessages);
71
- let incomingMessageIsNewest = false;
72
- if (newestMessage === undefined || (yield Message.isNewer(message, newestMessage))) {
73
- incomingMessageIsNewest = true;
74
- newestMessage = message;
75
- }
76
- // write the incoming message to DB if incoming message is newest
77
- let messageReply;
78
- if (incomingMessageIsNewest) {
79
- const indexes = ProtocolsConfigureHandler.constructIndexes(protocolsConfigure, true);
80
- yield this.messageStore.put(tenant, message, indexes);
81
- const messageCid = yield Message.getCid(message);
82
- yield this.stateIndex.insert(tenant, messageCid, indexes);
83
- // only emit if the event stream is set
84
- if (this.eventStream !== undefined) {
85
- this.eventStream.emit(tenant, { message }, indexes);
86
- }
87
- messageReply = {
88
- status: { code: 202, detail: 'Accepted' }
89
- };
90
- }
91
- else {
92
- // incoming message is older — still store it as a historical version (not the latest)
93
- const indexes = ProtocolsConfigureHandler.constructIndexes(protocolsConfigure, false);
94
- yield this.messageStore.put(tenant, message, indexes);
95
- const messageCid = yield Message.getCid(message);
96
- yield this.stateIndex.insert(tenant, messageCid, indexes);
97
- messageReply = {
98
- status: { code: 202, detail: 'Accepted' }
99
- };
100
- }
101
- // re-index previously-latest messages as no longer the latest base state.
102
- // We must delete and re-put (not just put) to properly replace old index entries.
103
- for (const existingMessage of existingMessages) {
104
- if (existingMessage !== newestMessage) {
105
- const existingProtocolsConfigure = yield ProtocolsConfigure.parse(existingMessage);
106
- const updatedIndexes = ProtocolsConfigureHandler.constructIndexes(existingProtocolsConfigure, false);
107
- const existingCid = yield Message.getCid(existingMessage);
108
- yield this.messageStore.delete(tenant, existingCid);
109
- yield this.messageStore.put(tenant, existingMessage, updatedIndexes);
110
- }
73
+ }
74
+ else {
75
+ // incoming message is older — still store it as a historical version (not the latest)
76
+ const indexes = ProtocolsConfigureHandler.constructIndexes(protocolsConfigure, false);
77
+ await this.messageStore.put(tenant, message, indexes);
78
+ const messageCid = await Message.getCid(message);
79
+ await this.stateIndex.insert(tenant, messageCid, indexes);
80
+ messageReply = {
81
+ status: { code: 202, detail: 'Accepted' }
82
+ };
83
+ }
84
+ // re-index previously-latest messages as no longer the latest base state.
85
+ // We must delete and re-put (not just put) to properly replace old index entries.
86
+ for (const existingMessage of existingMessages) {
87
+ if (existingMessage !== newestMessage) {
88
+ const existingProtocolsConfigure = await ProtocolsConfigure.parse(existingMessage);
89
+ const updatedIndexes = ProtocolsConfigureHandler.constructIndexes(existingProtocolsConfigure, false);
90
+ const existingCid = await Message.getCid(existingMessage);
91
+ await this.messageStore.delete(tenant, existingCid);
92
+ await this.messageStore.put(tenant, existingMessage, updatedIndexes);
111
93
  }
112
- return messageReply;
113
- });
94
+ }
95
+ return messageReply;
114
96
  }
115
97
  ;
116
98
  static constructIndexes(protocolsConfigure, isLatestBaseState) {
117
99
  // strip out `definition` as it is not indexable
118
- const _a = protocolsConfigure.message.descriptor, { definition } = _a, propertiesToIndex = __rest(_a, ["definition"]);
100
+ const { definition, ...propertiesToIndex } = protocolsConfigure.message.descriptor;
119
101
  const { author } = protocolsConfigure;
120
- const indexes = Object.assign(Object.assign({}, propertiesToIndex), { author: author, protocol: definition.protocol, published: definition.published, // retain published state from definition
121
- isLatestBaseState });
102
+ const indexes = {
103
+ ...propertiesToIndex,
104
+ author: author,
105
+ protocol: definition.protocol, // retain protocol url from `definition`,
106
+ published: definition.published, // retain published state from definition
107
+ isLatestBaseState,
108
+ };
122
109
  return indexes;
123
110
  }
124
- static authorizeProtocolsConfigure(tenant, protocolConfigure, messageStore) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- if (protocolConfigure.isSignedByAuthorDelegate) {
127
- yield protocolConfigure.authorizeAuthorDelegate(messageStore);
128
- }
129
- if (protocolConfigure.author === tenant) {
130
- return;
131
- }
132
- else if (protocolConfigure.author !== undefined && protocolConfigure.signaturePayload.permissionGrantId !== undefined) {
133
- const permissionGrant = yield PermissionsProtocol.fetchGrant(tenant, messageStore, protocolConfigure.signaturePayload.permissionGrantId);
134
- yield ProtocolsGrantAuthorization.authorizeConfigure({
135
- protocolsConfigureMessage: protocolConfigure.message,
136
- expectedGrantor: tenant,
137
- expectedGrantee: protocolConfigure.author,
138
- permissionGrant,
139
- messageStore
140
- });
141
- }
142
- else {
143
- throw new DwnError(DwnErrorCode.ProtocolsConfigureAuthorizationFailed, 'message failed authorization');
144
- }
145
- });
111
+ static async authorizeProtocolsConfigure(tenant, protocolConfigure, messageStore) {
112
+ if (protocolConfigure.isSignedByAuthorDelegate) {
113
+ await protocolConfigure.authorizeAuthorDelegate(messageStore);
114
+ }
115
+ if (protocolConfigure.author === tenant) {
116
+ return;
117
+ }
118
+ else if (protocolConfigure.author !== undefined && protocolConfigure.signaturePayload.permissionGrantId !== undefined) {
119
+ const permissionGrant = await PermissionsProtocol.fetchGrant(tenant, messageStore, protocolConfigure.signaturePayload.permissionGrantId);
120
+ await ProtocolsGrantAuthorization.authorizeConfigure({
121
+ protocolsConfigureMessage: protocolConfigure.message,
122
+ expectedGrantor: tenant,
123
+ expectedGrantee: protocolConfigure.author,
124
+ permissionGrant,
125
+ messageStore
126
+ });
127
+ }
128
+ else {
129
+ throw new DwnError(DwnErrorCode.ProtocolsConfigureAuthorizationFailed, 'message failed authorization');
130
+ }
146
131
  }
147
132
  /**
148
133
  * Validates composition dependencies at install time:
@@ -152,44 +137,40 @@ export class ProtocolsConfigureHandler {
152
137
  *
153
138
  * This is a no-op if the protocol definition has no `uses` map.
154
139
  */
155
- static validateCompositionDependencies(tenant, definition, messageStore) {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- const { uses } = definition;
158
- if (uses === undefined) {
159
- return;
160
- }
161
- // Fetch all referenced protocol definitions
162
- const referencedDefinitions = new Map();
163
- for (const alias in uses) {
164
- const protocolUri = uses[alias];
165
- const refDefinition = yield ProtocolsConfigureHandler.fetchInstalledProtocolDefinition(tenant, protocolUri, messageStore);
166
- if (refDefinition === undefined) {
167
- throw new DwnError(DwnErrorCode.ProtocolsConfigureComposedProtocolNotInstalled, `composed protocol '${protocolUri}' (alias '${alias}') is not installed for tenant '${tenant}'.`);
168
- }
169
- referencedDefinitions.set(alias, refDefinition);
170
- }
171
- // Walk the structure and validate all $ref paths and cross-protocol role references
172
- ProtocolsConfigureHandler.validateRefsAndRolesRecursively(definition.structure, '', referencedDefinitions);
173
- });
140
+ static async validateCompositionDependencies(tenant, definition, messageStore) {
141
+ const { uses } = definition;
142
+ if (uses === undefined) {
143
+ return;
144
+ }
145
+ // Fetch all referenced protocol definitions
146
+ const referencedDefinitions = new Map();
147
+ for (const alias in uses) {
148
+ const protocolUri = uses[alias];
149
+ const refDefinition = await ProtocolsConfigureHandler.fetchInstalledProtocolDefinition(tenant, protocolUri, messageStore);
150
+ if (refDefinition === undefined) {
151
+ throw new DwnError(DwnErrorCode.ProtocolsConfigureComposedProtocolNotInstalled, `composed protocol '${protocolUri}' (alias '${alias}') is not installed for tenant '${tenant}'.`);
152
+ }
153
+ referencedDefinitions.set(alias, refDefinition);
154
+ }
155
+ // Walk the structure and validate all $ref paths and cross-protocol role references
156
+ ProtocolsConfigureHandler.validateRefsAndRolesRecursively(definition.structure, '', referencedDefinitions);
174
157
  }
175
158
  /**
176
159
  * Fetches the latest installed protocol definition for the given protocol URI.
177
160
  * @returns The protocol definition, or `undefined` if not installed.
178
161
  */
179
- static fetchInstalledProtocolDefinition(tenant, protocolUri, messageStore) {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- const query = {
182
- interface: DwnInterfaceName.Protocols,
183
- method: DwnMethodName.Configure,
184
- protocol: protocolUri,
185
- isLatestBaseState: true
186
- };
187
- const { messages } = yield messageStore.query(tenant, [query]);
188
- if (messages.length === 0) {
189
- return undefined;
190
- }
191
- return messages[0].descriptor.definition;
192
- });
162
+ static async fetchInstalledProtocolDefinition(tenant, protocolUri, messageStore) {
163
+ const query = {
164
+ interface: DwnInterfaceName.Protocols,
165
+ method: DwnMethodName.Configure,
166
+ protocol: protocolUri,
167
+ isLatestBaseState: true
168
+ };
169
+ const { messages } = await messageStore.query(tenant, [query]);
170
+ if (messages.length === 0) {
171
+ return undefined;
172
+ }
173
+ return messages[0].descriptor.definition;
193
174
  }
194
175
  /**
195
176
  * Recursively walks the structure tree to validate:
@@ -197,7 +178,6 @@ export class ProtocolsConfigureHandler {
197
178
  * - Cross-protocol `role` references point to valid `$role: true` paths in the referenced protocol
198
179
  */
199
180
  static validateRefsAndRolesRecursively(ruleSet, protocolPath, referencedDefinitions) {
200
- var _a;
201
181
  for (const key in ruleSet) {
202
182
  if (key.startsWith('$')) {
203
183
  continue;
@@ -222,7 +202,7 @@ export class ProtocolsConfigureHandler {
222
202
  }
223
203
  }
224
204
  // Validate cross-protocol references in $actions (roles and `of` paths)
225
- const actionRules = (_a = childRuleSet.$actions) !== null && _a !== void 0 ? _a : [];
205
+ const actionRules = childRuleSet.$actions ?? [];
226
206
  for (const actionRule of actionRules) {
227
207
  // Validate cross-protocol role references
228
208
  if (actionRule.role !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-configure.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols-configure.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { authenticate } from '../core/auth.js';
11
2
  import { DwnErrorCode } from '../core/dwn-error.js';
12
3
  import { messageReplyFromError } from '../core/message-reply.js';
@@ -14,60 +5,70 @@ import { ProtocolsQuery } from '../interfaces/protocols-query.js';
14
5
  import { removeUndefinedProperties } from '../utils/object.js';
15
6
  import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
16
7
  export class ProtocolsQueryHandler {
8
+ didResolver;
9
+ messageStore;
10
+ dataStore;
17
11
  constructor(didResolver, messageStore, dataStore) {
18
12
  this.didResolver = didResolver;
19
13
  this.messageStore = messageStore;
20
14
  this.dataStore = dataStore;
21
15
  }
22
- handle(_a) {
23
- return __awaiter(this, arguments, void 0, function* ({ tenant, message }) {
24
- let protocolsQuery;
25
- try {
26
- protocolsQuery = yield ProtocolsQuery.parse(message);
16
+ async handle({ tenant, message }) {
17
+ let protocolsQuery;
18
+ try {
19
+ protocolsQuery = await ProtocolsQuery.parse(message);
20
+ }
21
+ catch (e) {
22
+ return messageReplyFromError(e, 400);
23
+ }
24
+ // authentication & authorization
25
+ try {
26
+ await authenticate(message.authorization, this.didResolver);
27
+ await protocolsQuery.authorize(tenant, this.messageStore);
28
+ }
29
+ catch (error) {
30
+ // return public ProtocolsConfigures if query fails with a certain authentication or authorization code
31
+ if (error.code === DwnErrorCode.AuthenticateJwsMissing || // unauthenticated
32
+ error.code === DwnErrorCode.ProtocolsQueryUnauthorized ||
33
+ error.code === DwnErrorCode.ProtocolsGrantAuthorizationQueryProtocolScopeMismatch) {
34
+ const entries = await this.fetchPublishedProtocolsConfigure(tenant, protocolsQuery);
35
+ return {
36
+ status: { code: 200, detail: 'OK' },
37
+ entries
38
+ };
27
39
  }
28
- catch (e) {
29
- return messageReplyFromError(e, 400);
40
+ else {
41
+ return messageReplyFromError(error, 401);
30
42
  }
31
- // authentication & authorization
32
- try {
33
- yield authenticate(message.authorization, this.didResolver);
34
- yield protocolsQuery.authorize(tenant, this.messageStore);
35
- }
36
- catch (error) {
37
- // return public ProtocolsConfigures if query fails with a certain authentication or authorization code
38
- if (error.code === DwnErrorCode.AuthenticateJwsMissing || // unauthenticated
39
- error.code === DwnErrorCode.ProtocolsQueryUnauthorized ||
40
- error.code === DwnErrorCode.ProtocolsGrantAuthorizationQueryProtocolScopeMismatch) {
41
- const entries = yield this.fetchPublishedProtocolsConfigure(tenant, protocolsQuery);
42
- return {
43
- status: { code: 200, detail: 'OK' },
44
- entries
45
- };
46
- }
47
- else {
48
- return messageReplyFromError(error, 401);
49
- }
50
- }
51
- const query = Object.assign(Object.assign({}, message.descriptor.filter), { interface: DwnInterfaceName.Protocols, method: DwnMethodName.Configure, isLatestBaseState: true });
52
- removeUndefinedProperties(query);
53
- const { messages } = yield this.messageStore.query(tenant, [query]);
54
- return {
55
- status: { code: 200, detail: 'OK' },
56
- entries: messages
57
- };
58
- });
43
+ }
44
+ const query = {
45
+ ...message.descriptor.filter,
46
+ interface: DwnInterfaceName.Protocols,
47
+ method: DwnMethodName.Configure,
48
+ isLatestBaseState: true,
49
+ };
50
+ removeUndefinedProperties(query);
51
+ const { messages } = await this.messageStore.query(tenant, [query]);
52
+ return {
53
+ status: { code: 200, detail: 'OK' },
54
+ entries: messages
55
+ };
59
56
  }
60
57
  ;
61
58
  /**
62
59
  * Fetches only published `ProtocolsConfigure`.
63
60
  */
64
- fetchPublishedProtocolsConfigure(tenant, protocolsQuery) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- // fetch all published `ProtocolConfigure` matching the query
67
- const filter = Object.assign(Object.assign({}, protocolsQuery.message.descriptor.filter), { interface: DwnInterfaceName.Protocols, method: DwnMethodName.Configure, published: true, isLatestBaseState: true });
68
- const { messages: publishedProtocolsConfigure } = yield this.messageStore.query(tenant, [filter]);
69
- return publishedProtocolsConfigure;
70
- });
61
+ async fetchPublishedProtocolsConfigure(tenant, protocolsQuery) {
62
+ // fetch all published `ProtocolConfigure` matching the query
63
+ const filter = {
64
+ ...protocolsQuery.message.descriptor.filter,
65
+ interface: DwnInterfaceName.Protocols,
66
+ method: DwnMethodName.Configure,
67
+ published: true,
68
+ isLatestBaseState: true,
69
+ };
70
+ const { messages: publishedProtocolsConfigure } = await this.messageStore.query(tenant, [filter]);
71
+ return publishedProtocolsConfigure;
71
72
  }
72
73
  }
73
74
  //# sourceMappingURL=protocols-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-query.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols-query.js","sourceRoot":"","sources":["../../../../src/handlers/protocols-query.ts"],"names":[],"mappings":"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"}