@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 +1 @@
1
- {"version":3,"file":"protocol-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocol-authorization.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,40 @@
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 { GrantAuthorization } from './grant-authorization.js';
11
2
  import { DwnError, DwnErrorCode } from './dwn-error.js';
12
3
  export class ProtocolsGrantAuthorization {
13
4
  /**
14
5
  * Authorizes the given ProtocolsConfigure in the scope of the DID given.
15
6
  */
16
- static authorizeConfigure(input) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const { protocolsConfigureMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
19
- yield GrantAuthorization.performBaseValidation({
20
- incomingMessage: protocolsConfigureMessage,
21
- expectedGrantor,
22
- expectedGrantee,
23
- permissionGrant,
24
- messageStore
25
- });
26
- ProtocolsGrantAuthorization.verifyScope(protocolsConfigureMessage, permissionGrant.scope);
7
+ static async authorizeConfigure(input) {
8
+ const { protocolsConfigureMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
9
+ await GrantAuthorization.performBaseValidation({
10
+ incomingMessage: protocolsConfigureMessage,
11
+ expectedGrantor,
12
+ expectedGrantee,
13
+ permissionGrant,
14
+ messageStore
27
15
  });
16
+ ProtocolsGrantAuthorization.verifyScope(protocolsConfigureMessage, permissionGrant.scope);
28
17
  }
29
18
  /**
30
19
  * Authorizes the scope of a permission grant for a ProtocolsQuery message.
31
20
  * @param messageStore Used to check if the grant has been revoked.
32
21
  */
33
- static authorizeQuery(input) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- var _a;
36
- const { expectedGrantee, expectedGrantor, incomingMessage, permissionGrant, messageStore } = input;
37
- yield GrantAuthorization.performBaseValidation({
38
- incomingMessage: incomingMessage,
39
- expectedGrantor,
40
- expectedGrantee,
41
- permissionGrant,
42
- messageStore
43
- });
44
- // If the grant specifies a protocol, the query must specify the same protocol.
45
- const permissionScope = permissionGrant.scope;
46
- const protocolInGrant = permissionScope.protocol;
47
- const protocolInMessage = (_a = incomingMessage.descriptor.filter) === null || _a === void 0 ? void 0 : _a.protocol;
48
- if (protocolInGrant !== undefined && protocolInMessage !== protocolInGrant) {
49
- throw new DwnError(DwnErrorCode.ProtocolsGrantAuthorizationQueryProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in message ${protocolInMessage}`);
50
- }
22
+ static async authorizeQuery(input) {
23
+ const { expectedGrantee, expectedGrantor, incomingMessage, permissionGrant, messageStore } = input;
24
+ await GrantAuthorization.performBaseValidation({
25
+ incomingMessage: incomingMessage,
26
+ expectedGrantor,
27
+ expectedGrantee,
28
+ permissionGrant,
29
+ messageStore
51
30
  });
31
+ // If the grant specifies a protocol, the query must specify the same protocol.
32
+ const permissionScope = permissionGrant.scope;
33
+ const protocolInGrant = permissionScope.protocol;
34
+ const protocolInMessage = incomingMessage.descriptor.filter?.protocol;
35
+ if (protocolInGrant !== undefined && protocolInMessage !== protocolInGrant) {
36
+ throw new DwnError(DwnErrorCode.ProtocolsGrantAuthorizationQueryProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in message ${protocolInMessage}`);
37
+ }
52
38
  }
53
39
  /**
54
40
  * Verifies a ProtocolsConfigure against the scope of the given grant.
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-grant-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocols-grant-authorization.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACI,MAAM,CAAO,kBAAkB,CAAC,KAMtC;;YACC,MAAM,EACJ,yBAAyB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAC3F,GAAG,KAAK,CAAC;YAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;gBAC7C,eAAe,EAAE,yBAAyB;gBAC1C,eAAe;gBACf,eAAe;gBACf,eAAe;gBACf,YAAY;aACb,CAAC,CAAC;YAEH,2BAA2B,CAAC,WAAW,CAAC,yBAAyB,EAAE,eAAe,CAAC,KAAgC,CAAC,CAAC;QACvH,CAAC;KAAA;IAED;;;OAGG;IACI,MAAM,CAAO,cAAc,CAAC,KAMlC;;;YACC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;YAEnG,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;gBAC7C,eAAe,EAAE,eAAe;gBAChC,eAAe;gBACf,eAAe;gBACf,eAAe;gBACf,YAAY;aACb,CAAC,CAAC;YAEH,+EAA+E;YAC/E,MAAM,eAAe,GAAG,eAAe,CAAC,KAAgC,CAAC;YACzE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;YACjD,MAAM,iBAAiB,GAAG,MAAA,eAAe,CAAC,UAAU,CAAC,MAAM,0CAAE,QAAQ,CAAC;YACtE,IAAI,eAAe,KAAK,SAAS,IAAI,iBAAiB,KAAK,eAAe,EAAE,CAAC;gBAC3E,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,qDAAqD,EAClE,wBAAwB,eAAe,uCAAuC,iBAAiB,EAAE,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CACxB,yBAAoD,EACpD,UAAmC;QAGnC,mFAAmF;QACnF,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrF,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,gDAAgD,EAC7D,sFAAsF,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"protocols-grant-authorization.js","sourceRoot":"","sources":["../../../../src/core/protocols-grant-authorization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAMtC;QACC,MAAM,EACJ,yBAAyB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAC3F,GAAG,KAAK,CAAC;QAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe,EAAE,yBAAyB;YAC1C,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,2BAA2B,CAAC,WAAW,CAAC,yBAAyB,EAAE,eAAe,CAAC,KAAgC,CAAC,CAAC;IACvH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAMlC;QACC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAEnG,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe,EAAE,eAAe;YAChC,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,+EAA+E;QAC/E,MAAM,eAAe,GAAG,eAAe,CAAC,KAAgC,CAAC;QACzE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;QACjD,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QACtE,IAAI,eAAe,KAAK,SAAS,IAAI,iBAAiB,KAAK,eAAe,EAAE,CAAC;YAC3E,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,qDAAqD,EAClE,wBAAwB,eAAe,uCAAuC,iBAAiB,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CACxB,yBAAoD,EACpD,UAAmC;QAGnC,mFAAmF;QACnF,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrF,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,gDAAgD,EAC7D,sFAAsF,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,64 @@
1
+ import { RecordsWrite } from '../interfaces/records-write.js';
2
+ import { DwnError, DwnErrorCode } from './dwn-error.js';
3
+ import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
4
+ /**
5
+ * Fetches the initial RecordsWrite message associated with the given (tenant + recordId).
6
+ */
7
+ export async function fetchInitialWrite(tenant, recordId, messageStore) {
8
+ const query = {
9
+ interface: DwnInterfaceName.Records,
10
+ method: DwnMethodName.Write,
11
+ recordId: recordId
12
+ };
13
+ const { messages } = await messageStore.query(tenant, [query]);
14
+ if (messages.length === 0) {
15
+ return undefined;
16
+ }
17
+ const initialWrite = await RecordsWrite.getInitialWrite(messages);
18
+ return initialWrite;
19
+ }
20
+ /**
21
+ * Constructs the chain of EXISTING records in the datastore where the first record is the root initial `RecordsWrite` of the record chain
22
+ * and last record is the initial `RecordsWrite` of the descendant record specified.
23
+ * @param descendantRecordId The ID of the descendent record to start constructing the record chain from by repeatedly looking up the parent.
24
+ * @returns the record chain where each record is represented by its initial `RecordsWrite`;
25
+ * returns empty array if `descendantRecordId` is `undefined`.
26
+ * @throws {DwnError} if `descendantRecordId` is defined but any initial `RecordsWrite` is not found in the chain of records.
27
+ */
28
+ export async function constructRecordChain(tenant, descendantRecordId, messageStore) {
29
+ if (descendantRecordId === undefined) {
30
+ return [];
31
+ }
32
+ const recordChain = [];
33
+ // keep walking up the chain from the inbound message's parent, until there is no more parent
34
+ let currentRecordId = descendantRecordId;
35
+ while (currentRecordId !== undefined) {
36
+ const initialWrite = await fetchInitialWrite(tenant, currentRecordId, messageStore);
37
+ // RecordsWrite needed should be available since we perform necessary checks at the time of writes,
38
+ // eg. check the immediate parent in `verifyProtocolPathAndContextId` at the time of writing,
39
+ // so if this condition is triggered, it means there is an unexpected bug that caused an incomplete chain.
40
+ // We add additional defensive check here because returning an unexpected/incorrect record chain could lead to security vulnerabilities.
41
+ if (initialWrite === undefined) {
42
+ throw new DwnError(DwnErrorCode.ProtocolAuthorizationParentNotFoundConstructingRecordChain, `Unexpected error that should never trigger: no parent found with ID ${currentRecordId} when constructing record chain.`);
43
+ }
44
+ recordChain.push(initialWrite);
45
+ currentRecordId = initialWrite.descriptor.parentId;
46
+ }
47
+ return recordChain.reverse(); // root record first
48
+ }
49
+ /**
50
+ * Determines the timestamp that governs which protocol definition version applies to the given RecordsWrite.
51
+ * For an update, this is the initial write's `messageTimestamp` (the protocol version is locked at creation time).
52
+ * For a new initial write, returns `undefined` — the latest protocol definition should be used because the
53
+ * record is being created now and must conform to the current protocol rules.
54
+ */
55
+ export async function getGoverningTimestamp(tenant, incomingMessage, messageStore) {
56
+ const existingInitialWrite = await fetchInitialWrite(tenant, incomingMessage.message.recordId, messageStore);
57
+ if (existingInitialWrite !== undefined) {
58
+ // update case: use the initial write's timestamp
59
+ return existingInitialWrite.descriptor.messageTimestamp;
60
+ }
61
+ // initial write case: validate against the latest protocol definition
62
+ return undefined;
63
+ }
64
+ //# sourceMappingURL=record-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-chain.js","sourceRoot":"","sources":["../../../../src/core/record-chain.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEnF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,QAAgB,EAChB,YAA0B;IAG1B,MAAM,KAAK,GAAW;QACpB,SAAS,EAAG,gBAAgB,CAAC,OAAO;QACpC,MAAM,EAAM,aAAa,CAAC,KAAK;QAC/B,QAAQ,EAAI,QAAQ;KACrB,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,kBAAsC,EACtC,YAA0B;IAG1B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAA0B,EAAE,CAAC;IAE9C,6FAA6F;IAC7F,IAAI,eAAe,GAAuB,kBAAkB,CAAC;IAC7D,OAAO,eAAe,KAAK,SAAS,EAAE,CAAC;QAErC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAEpF,mGAAmG;QACnG,6FAA6F;QAC7F,0GAA0G;QAC1G,wIAAwI;QACxI,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,0DAA0D,EACvE,uEAAuE,eAAe,kCAAkC,CACzH,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,eAA6B,EAC7B,YAA0B;IAE1B,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAClD,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CACvD,CAAC;IAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,iDAAiD;QACjD,OAAO,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IAED,sEAAsE;IACtE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -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 { GrantAuthorization } from './grant-authorization.js';
11
2
  import { PermissionConditionPublication } from '../types/permission-types.js';
12
3
  import { DwnError, DwnErrorCode } from './dwn-error.js';
@@ -14,86 +5,78 @@ export class RecordsGrantAuthorization {
14
5
  /**
15
6
  * Authorizes the given RecordsWrite in the scope of the DID given.
16
7
  */
17
- static authorizeWrite(input) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const { recordsWriteMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
20
- yield GrantAuthorization.performBaseValidation({
21
- incomingMessage: recordsWriteMessage,
22
- expectedGrantor,
23
- expectedGrantee,
24
- permissionGrant,
25
- messageStore
26
- });
27
- // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
28
- RecordsGrantAuthorization.verifyScope(recordsWriteMessage, permissionGrant.scope);
29
- RecordsGrantAuthorization.verifyConditions(recordsWriteMessage, permissionGrant.conditions);
8
+ static async authorizeWrite(input) {
9
+ const { recordsWriteMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
10
+ await GrantAuthorization.performBaseValidation({
11
+ incomingMessage: recordsWriteMessage,
12
+ expectedGrantor,
13
+ expectedGrantee,
14
+ permissionGrant,
15
+ messageStore
30
16
  });
17
+ // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
18
+ RecordsGrantAuthorization.verifyScope(recordsWriteMessage, permissionGrant.scope);
19
+ RecordsGrantAuthorization.verifyConditions(recordsWriteMessage, permissionGrant.conditions);
31
20
  }
32
21
  /**
33
22
  * Authorizes a RecordsReadMessage using the given permission grant.
34
23
  * @param messageStore Used to check if the given grant has been revoked.
35
24
  */
36
- static authorizeRead(input) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const { recordsReadMessage, recordsWriteMessageToBeRead, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
39
- yield GrantAuthorization.performBaseValidation({
40
- incomingMessage: recordsReadMessage,
41
- expectedGrantor,
42
- expectedGrantee,
43
- permissionGrant,
44
- messageStore
45
- });
46
- // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
47
- RecordsGrantAuthorization.verifyScope(recordsWriteMessageToBeRead, permissionGrant.scope);
25
+ static async authorizeRead(input) {
26
+ const { recordsReadMessage, recordsWriteMessageToBeRead, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
27
+ await GrantAuthorization.performBaseValidation({
28
+ incomingMessage: recordsReadMessage,
29
+ expectedGrantor,
30
+ expectedGrantee,
31
+ permissionGrant,
32
+ messageStore
48
33
  });
34
+ // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
35
+ RecordsGrantAuthorization.verifyScope(recordsWriteMessageToBeRead, permissionGrant.scope);
49
36
  }
50
37
  /**
51
38
  * Authorizes the scope of a permission grant for RecordsQuery or RecordsSubscribe.
52
39
  * @param messageStore Used to check if the grant has been revoked.
53
40
  */
54
- static authorizeQueryOrSubscribe(input) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const { incomingMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
57
- yield GrantAuthorization.performBaseValidation({
58
- incomingMessage,
59
- expectedGrantor,
60
- expectedGrantee,
61
- permissionGrant,
62
- messageStore
63
- });
64
- // If the grant specifies a protocol, the subscribe or query must specify the same protocol.
65
- // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
66
- const permissionScope = permissionGrant.scope;
67
- const protocolInGrant = permissionScope.protocol;
68
- const protocolInMessage = incomingMessage.descriptor.filter.protocol;
69
- if (protocolInGrant !== undefined && protocolInMessage !== protocolInGrant) {
70
- throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in message ${protocolInMessage}`);
71
- }
41
+ static async authorizeQueryOrSubscribe(input) {
42
+ const { incomingMessage, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
43
+ await GrantAuthorization.performBaseValidation({
44
+ incomingMessage,
45
+ expectedGrantor,
46
+ expectedGrantee,
47
+ permissionGrant,
48
+ messageStore
72
49
  });
50
+ // If the grant specifies a protocol, the subscribe or query must specify the same protocol.
51
+ // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
52
+ const permissionScope = permissionGrant.scope;
53
+ const protocolInGrant = permissionScope.protocol;
54
+ const protocolInMessage = incomingMessage.descriptor.filter.protocol;
55
+ if (protocolInGrant !== undefined && protocolInMessage !== protocolInGrant) {
56
+ throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in message ${protocolInMessage}`);
57
+ }
73
58
  }
74
59
  /**
75
60
  * Authorizes the scope of a permission grant for RecordsDelete.
76
61
  * @param messageStore Used to check if the grant has been revoked.
77
62
  */
78
- static authorizeDelete(input) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- const { recordsDeleteMessage, recordsWriteToDelete, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
81
- yield GrantAuthorization.performBaseValidation({
82
- incomingMessage: recordsDeleteMessage,
83
- expectedGrantor,
84
- expectedGrantee,
85
- permissionGrant,
86
- messageStore
87
- });
88
- // If the grant specifies a protocol, the delete must be deleting a record with the same protocol.
89
- // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
90
- const permissionScope = permissionGrant.scope;
91
- const protocolInGrant = permissionScope.protocol;
92
- const protocolOfRecordToDelete = recordsWriteToDelete.descriptor.protocol;
93
- if (protocolInGrant !== undefined && protocolOfRecordToDelete !== protocolInGrant) {
94
- throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationDeleteProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in record to delete ${protocolOfRecordToDelete}`);
95
- }
63
+ static async authorizeDelete(input) {
64
+ const { recordsDeleteMessage, recordsWriteToDelete, expectedGrantor, expectedGrantee, permissionGrant, messageStore } = input;
65
+ await GrantAuthorization.performBaseValidation({
66
+ incomingMessage: recordsDeleteMessage,
67
+ expectedGrantor,
68
+ expectedGrantee,
69
+ permissionGrant,
70
+ messageStore
96
71
  });
72
+ // If the grant specifies a protocol, the delete must be deleting a record with the same protocol.
73
+ // NOTE: validated the invoked permission is for Records in GrantAuthorization.performBaseValidation()
74
+ const permissionScope = permissionGrant.scope;
75
+ const protocolInGrant = permissionScope.protocol;
76
+ const protocolOfRecordToDelete = recordsWriteToDelete.descriptor.protocol;
77
+ if (protocolInGrant !== undefined && protocolOfRecordToDelete !== protocolInGrant) {
78
+ throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationDeleteProtocolScopeMismatch, `Grant protocol scope ${protocolInGrant} does not match protocol in record to delete ${protocolOfRecordToDelete}`);
79
+ }
97
80
  }
98
81
  /**
99
82
  * Verifies a record against the scope of the given grant.
@@ -120,11 +103,11 @@ export class RecordsGrantAuthorization {
120
103
  */
121
104
  static verifyConditions(recordsWriteMessage, conditions) {
122
105
  // If conditions require publication, RecordsWrite must have `published` === true
123
- if ((conditions === null || conditions === void 0 ? void 0 : conditions.publication) === PermissionConditionPublication.Required && !recordsWriteMessage.descriptor.published) {
106
+ if (conditions?.publication === PermissionConditionPublication.Required && !recordsWriteMessage.descriptor.published) {
124
107
  throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationConditionPublicationRequired, 'Permission grant requires message to be published');
125
108
  }
126
109
  // if conditions prohibit publication, RecordsWrite must have published === false or undefined
127
- if ((conditions === null || conditions === void 0 ? void 0 : conditions.publication) === PermissionConditionPublication.Prohibited && recordsWriteMessage.descriptor.published) {
110
+ if (conditions?.publication === PermissionConditionPublication.Prohibited && recordsWriteMessage.descriptor.published) {
128
111
  throw new DwnError(DwnErrorCode.RecordsGrantAuthorizationConditionPublicationProhibited, 'Permission grant prohibits message from being published');
129
112
  }
130
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"records-grant-authorization.js","sourceRoot":"","sources":["../../../../src/core/records-grant-authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-grant-authorization.js","sourceRoot":"","sources":["../../../../src/core/records-grant-authorization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAMlC;QACC,MAAM,EACJ,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EACrF,GAAG,KAAK,CAAC;QAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe,EAAE,mBAAmB;YACpC,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,sGAAsG;QACtG,yBAAyB,CAAC,WAAW,CAAC,mBAAmB,EAAE,eAAe,CAAC,KAA+B,CAAC,CAAC;QAE5G,yBAAyB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAOjC;QACC,MAAM,EACJ,kBAAkB,EAAE,2BAA2B,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EACjH,GAAG,KAAK,CAAC;QAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe,EAAE,kBAAkB;YACnC,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,sGAAsG;QACtG,yBAAyB,CAAC,WAAW,CAAC,2BAA2B,EAAE,eAAe,CAAC,KAA+B,CAAC,CAAC;IACtH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAM7C;QACC,MAAM,EACJ,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EACjF,GAAG,KAAK,CAAC;QAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe;YACf,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,4FAA4F;QAC5F,sGAAsG;QACtG,MAAM,eAAe,GAAG,eAAe,CAAC,KAA+B,CAAC;QACxE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;QACjD,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrE,IAAI,eAAe,KAAK,SAAS,IAAI,iBAAiB,KAAK,eAAe,EAAE,CAAC;YAC3E,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,8DAA8D,EAC3E,wBAAwB,eAAe,uCAAuC,iBAAiB,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAOnC;QACC,MAAM,EACJ,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAC5G,GAAG,KAAK,CAAC;QAEV,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,eAAe,EAAE,oBAAoB;YACrC,eAAe;YACf,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC,CAAC;QAEH,kGAAkG;QAClG,sGAAsG;QACtG,MAAM,eAAe,GAAG,eAAe,CAAC,KAA+B,CAAC;QACxE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;QACjD,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1E,IAAI,eAAe,KAAK,SAAS,IAAI,wBAAwB,KAAK,eAAe,EAAE,CAAC;YAClF,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,oDAAoD,EACjE,wBAAwB,eAAe,gDAAgD,wBAAwB,EAAE,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CACxB,mBAAwC,EACxC,UAAkC;QAGlC,wEAAwE;QACxE,IAAI,UAAU,CAAC,QAAQ,KAAK,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,8CAA8C,EAC3D,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,+EAA+E;QAC/E,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,mBAAmB,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnH,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,+CAA+C,EAC5D,2EAA2E,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,YAAY,KAAK,mBAAmB,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACrH,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,kDAAkD,EAC/D,8EAA8E,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,gBAAgB,CAAC,mBAAwC,EAAE,UAA4C;QAEpH,iFAAiF;QACjF,IAAI,UAAU,EAAE,WAAW,KAAK,8BAA8B,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACrH,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,qDAAqD,EAClE,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,IAAI,UAAU,EAAE,WAAW,KAAK,8BAA8B,CAAC,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACtH,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,uDAAuD,EACpE,yDAAyD,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -1,59 +1,52 @@
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
  export var ResumableTaskName;
11
2
  (function (ResumableTaskName) {
12
3
  ResumableTaskName["RecordsDelete"] = "RecordsDelete";
13
4
  })(ResumableTaskName || (ResumableTaskName = {}));
14
5
  export class ResumableTaskManager {
6
+ resumableTaskStore;
7
+ /**
8
+ * The frequency at which the automatic timeout extension is requested for a resumable task.
9
+ */
10
+ static timeoutExtensionFrequencyInSeconds = 30;
11
+ resumableTaskBatchSize = 100;
12
+ resumableTaskHandlers;
15
13
  constructor(resumableTaskStore, storageController) {
16
14
  this.resumableTaskStore = resumableTaskStore;
17
- this.resumableTaskBatchSize = 100;
18
15
  // assign resumable task handlers
19
16
  this.resumableTaskHandlers = {
20
17
  // NOTE: The arrow function is IMPORTANT here, else the `this` context will be lost within the invoked method.
21
18
  // e.g. code within performRecordsDelete() won't know `this` refers to the `storageController` instance.
22
- [ResumableTaskName.RecordsDelete]: (task) => __awaiter(this, void 0, void 0, function* () { return yield storageController.performRecordsDelete(task); }),
19
+ [ResumableTaskName.RecordsDelete]: async (task) => await storageController.performRecordsDelete(task),
23
20
  };
24
21
  }
25
22
  /**
26
23
  * Runs a new resumable task.
27
24
  */
28
- run(task) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const timeoutInSeconds = ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 2; // give ample time for extension to take place
31
- // register the new resumable task before running it so that it can be resumed if it times out for any reason
32
- const managedResumableTask = yield this.resumableTaskStore.register(task, timeoutInSeconds);
33
- yield this.runWithAutomaticTimeoutExtension(managedResumableTask);
34
- });
25
+ async run(task) {
26
+ const timeoutInSeconds = ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 2; // give ample time for extension to take place
27
+ // register the new resumable task before running it so that it can be resumed if it times out for any reason
28
+ const managedResumableTask = await this.resumableTaskStore.register(task, timeoutInSeconds);
29
+ await this.runWithAutomaticTimeoutExtension(managedResumableTask);
35
30
  }
36
31
  /**
37
32
  * Runs a resumable task with automatic timeout extension.
38
33
  * Deletes the task from the resumable task store once it is completed.
39
34
  */
40
- runWithAutomaticTimeoutExtension(managedTask) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const timeoutInSeconds = ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 2; // give ample time for extension to take place
43
- let timer;
44
- try {
45
- // start a timer loop to keep extending the timeout of the task until it is completed
46
- timer = setInterval(() => {
47
- this.resumableTaskStore.extend(managedTask.id, timeoutInSeconds);
48
- }, ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 1000);
49
- const handler = this.resumableTaskHandlers[managedTask.task.name];
50
- yield handler(managedTask.task.data);
51
- yield this.resumableTaskStore.delete(managedTask.id);
52
- }
53
- finally {
54
- ResumableTaskManager.clearTimeoutExtensionTimer(timer);
55
- }
56
- });
35
+ async runWithAutomaticTimeoutExtension(managedTask) {
36
+ const timeoutInSeconds = ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 2; // give ample time for extension to take place
37
+ let timer;
38
+ try {
39
+ // start a timer loop to keep extending the timeout of the task until it is completed
40
+ timer = setInterval(() => {
41
+ this.resumableTaskStore.extend(managedTask.id, timeoutInSeconds);
42
+ }, ResumableTaskManager.timeoutExtensionFrequencyInSeconds * 1000);
43
+ const handler = this.resumableTaskHandlers[managedTask.task.name];
44
+ await handler(managedTask.task.data);
45
+ await this.resumableTaskStore.delete(managedTask.id);
46
+ }
47
+ finally {
48
+ ResumableTaskManager.clearTimeoutExtensionTimer(timer);
49
+ }
57
50
  }
58
51
  /**
59
52
  * Removes the specified timeout extension loop timer.
@@ -66,44 +59,36 @@ export class ResumableTaskManager {
66
59
  /**
67
60
  * Resumes the execution of resumable tasks until all are completed successfully.
68
61
  */
69
- resumeTasksAndWaitForCompletion() {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- while (true) {
72
- const resumableTasks = yield this.resumableTaskStore.grab(this.resumableTaskBatchSize);
73
- if (resumableTasks === undefined || resumableTasks.length === 0) {
74
- break;
75
- }
76
- // Handle this batch of tasks before grabbing the next batch.
77
- yield this.retryTasksUntilCompletion(resumableTasks);
62
+ async resumeTasksAndWaitForCompletion() {
63
+ while (true) {
64
+ const resumableTasks = await this.resumableTaskStore.grab(this.resumableTaskBatchSize);
65
+ if (resumableTasks === undefined || resumableTasks.length === 0) {
66
+ break;
78
67
  }
79
- });
68
+ // Handle this batch of tasks before grabbing the next batch.
69
+ await this.retryTasksUntilCompletion(resumableTasks);
70
+ }
80
71
  }
81
72
  /**
82
73
  * Repeatedly retry the given tasks until all are completed successfully.
83
74
  * Tasks are processed sequentially to avoid concurrent database write contention (e.g. SQLite's single-writer lock).
84
75
  */
85
- retryTasksUntilCompletion(resumableTasks) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- let managedTasks = resumableTasks;
88
- while (managedTasks.length > 0) {
89
- const managedTasksCopy = managedTasks;
90
- managedTasks = [];
91
- for (const managedTask of managedTasksCopy) {
92
- try {
93
- yield this.runWithAutomaticTimeoutExtension(managedTask);
94
- }
95
- catch (error) {
96
- console.error('Error while running resumable task:', error);
97
- console.error('Resumable task:', managedTask);
98
- managedTasks.push(managedTask);
99
- }
76
+ async retryTasksUntilCompletion(resumableTasks) {
77
+ let managedTasks = resumableTasks;
78
+ while (managedTasks.length > 0) {
79
+ const managedTasksCopy = managedTasks;
80
+ managedTasks = [];
81
+ for (const managedTask of managedTasksCopy) {
82
+ try {
83
+ await this.runWithAutomaticTimeoutExtension(managedTask);
84
+ }
85
+ catch (error) {
86
+ console.error('Error while running resumable task:', error);
87
+ console.error('Resumable task:', managedTask);
88
+ managedTasks.push(managedTask);
100
89
  }
101
90
  }
102
- });
91
+ }
103
92
  }
104
93
  }
105
- /**
106
- * The frequency at which the automatic timeout extension is requested for a resumable task.
107
- */
108
- ResumableTaskManager.timeoutExtensionFrequencyInSeconds = 30;
109
94
  //# sourceMappingURL=resumable-task-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resumable-task-manager.js","sourceRoot":"","sources":["../../../../src/core/resumable-task-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resumable-task-manager.js","sourceRoot":"","sources":["../../../../src/core/resumable-task-manager.ts"],"names":[],"mappings":"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"}