@enbox/dwn-sdk-js 0.0.7 → 0.1.0

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 (368) 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 +817 -911
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +11 -0
  6. package/dist/esm/src/core/constants.js.map +1 -0
  7. package/dist/esm/src/core/core-protocol.js +44 -0
  8. package/dist/esm/src/core/core-protocol.js.map +1 -0
  9. package/dist/esm/src/core/dwn-error.js +12 -12
  10. package/dist/esm/src/core/dwn-error.js.map +1 -1
  11. package/dist/esm/src/core/grant-authorization.js +16 -3
  12. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  13. package/dist/esm/src/core/protocol-authorization-action.js +5 -0
  14. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
  15. package/dist/esm/src/core/protocol-authorization-validation.js +91 -0
  16. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  17. package/dist/esm/src/core/protocol-authorization.js +53 -30
  18. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  19. package/dist/esm/src/core/records-grant-authorization.js +6 -8
  20. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  21. package/dist/esm/src/core/resumable-task-manager.js +2 -0
  22. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  23. package/dist/esm/src/dwn.js +42 -18
  24. package/dist/esm/src/dwn.js.map +1 -1
  25. package/dist/esm/src/event-stream/event-emitter-event-log.js +204 -0
  26. package/dist/esm/src/event-stream/event-emitter-event-log.js.map +1 -0
  27. package/dist/esm/src/handlers/messages-read.js +7 -11
  28. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  29. package/dist/esm/src/handlers/messages-subscribe.js +22 -24
  30. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  31. package/dist/esm/src/handlers/messages-sync.js +11 -15
  32. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  33. package/dist/esm/src/handlers/protocols-configure.js +37 -27
  34. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  35. package/dist/esm/src/handlers/protocols-query.js +7 -11
  36. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  37. package/dist/esm/src/handlers/records-count.js +10 -12
  38. package/dist/esm/src/handlers/records-count.js.map +1 -1
  39. package/dist/esm/src/handlers/records-delete.js +10 -18
  40. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  41. package/dist/esm/src/handlers/records-query.js +11 -15
  42. package/dist/esm/src/handlers/records-query.js.map +1 -1
  43. package/dist/esm/src/handlers/records-read.js +31 -26
  44. package/dist/esm/src/handlers/records-read.js.map +1 -1
  45. package/dist/esm/src/handlers/records-subscribe.js +39 -26
  46. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  47. package/dist/esm/src/handlers/records-write.js +128 -105
  48. package/dist/esm/src/handlers/records-write.js.map +1 -1
  49. package/dist/esm/src/index.js +5 -2
  50. package/dist/esm/src/index.js.map +1 -1
  51. package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
  52. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  53. package/dist/esm/src/interfaces/protocols-configure.js +33 -3
  54. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  55. package/dist/esm/src/interfaces/records-count.js +1 -1
  56. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  57. package/dist/esm/src/interfaces/records-delete.js +1 -1
  58. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  59. package/dist/esm/src/interfaces/records-query.js +1 -1
  60. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  61. package/dist/esm/src/interfaces/records-read.js +1 -1
  62. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/records-subscribe.js +2 -1
  64. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/records-write-signing.js +1 -12
  66. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
  67. package/dist/esm/src/interfaces/records-write.js +25 -41
  68. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  69. package/dist/esm/src/protocols/permission-grant.js +1 -1
  70. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  71. package/dist/esm/src/protocols/permission-request.js +1 -1
  72. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  73. package/dist/esm/src/protocols/permissions.js +113 -5
  74. package/dist/esm/src/protocols/permissions.js.map +1 -1
  75. package/dist/esm/src/state-index/state-index-level.js +5 -7
  76. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  77. package/dist/esm/src/store/data-store-level.js +110 -33
  78. package/dist/esm/src/store/data-store-level.js.map +1 -1
  79. package/dist/esm/src/store/index-level.js +42 -32
  80. package/dist/esm/src/store/index-level.js.map +1 -1
  81. package/dist/esm/src/store/storage-controller.js +70 -6
  82. package/dist/esm/src/store/storage-controller.js.map +1 -1
  83. package/dist/esm/src/types/permission-types.js.map +1 -1
  84. package/dist/esm/src/types/protocols-types.js +11 -0
  85. package/dist/esm/src/types/protocols-types.js.map +1 -1
  86. package/dist/esm/src/types/records-types.js.map +1 -1
  87. package/dist/esm/src/utils/hd-key.js +0 -8
  88. package/dist/esm/src/utils/hd-key.js.map +1 -1
  89. package/dist/esm/src/utils/messages.js +16 -34
  90. package/dist/esm/src/utils/messages.js.map +1 -1
  91. package/dist/esm/src/utils/records.js +5 -43
  92. package/dist/esm/src/utils/records.js.map +1 -1
  93. package/dist/esm/tests/core/protocol-authorization.spec.js +2 -1
  94. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  95. package/dist/esm/tests/dwn.spec.js +32 -43
  96. package/dist/esm/tests/dwn.spec.js.map +1 -1
  97. package/dist/esm/tests/event-emitter-event-log.spec.js +305 -0
  98. package/dist/esm/tests/event-emitter-event-log.spec.js.map +1 -0
  99. package/dist/esm/tests/features/author-delegated-grant.spec.js +14 -7
  100. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  101. package/dist/esm/tests/features/owner-delegated-grant.spec.js +9 -5
  102. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  103. package/dist/esm/tests/features/owner-signature.spec.js +14 -7
  104. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  105. package/dist/esm/tests/features/permissions.spec.js +12 -12
  106. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  107. package/dist/esm/tests/features/protocol-composition.spec.js +636 -5
  108. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  109. package/dist/esm/tests/features/protocol-create-action.spec.js +4 -4
  110. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  111. package/dist/esm/tests/features/protocol-delete-action.spec.js +7 -7
  112. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  113. package/dist/esm/tests/features/protocol-update-action.spec.js +4 -4
  114. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  115. package/dist/esm/tests/features/records-delivery.spec.js +236 -0
  116. package/dist/esm/tests/features/records-delivery.spec.js.map +1 -0
  117. package/dist/esm/tests/features/records-immutable.spec.js +315 -0
  118. package/dist/esm/tests/features/records-immutable.spec.js.map +1 -0
  119. package/dist/esm/tests/features/records-prune.spec.js +4 -4
  120. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  121. package/dist/esm/tests/features/records-record-limit.spec.js +542 -0
  122. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -0
  123. package/dist/esm/tests/features/records-squash.spec.js +1055 -0
  124. package/dist/esm/tests/features/records-squash.spec.js.map +1 -0
  125. package/dist/esm/tests/features/records-tags.spec.js +16 -4
  126. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  127. package/dist/esm/tests/features/resumable-tasks.spec.js +7 -8
  128. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  129. package/dist/esm/tests/handlers/messages-read.spec.js +11 -5
  130. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  131. package/dist/esm/tests/handlers/messages-subscribe.spec.js +169 -22
  132. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  133. package/dist/esm/tests/handlers/messages-sync.spec.js +103 -21
  134. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  135. package/dist/esm/tests/handlers/protocols-configure.spec.js +5 -5
  136. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  137. package/dist/esm/tests/handlers/protocols-query.spec.js +5 -5
  138. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  139. package/dist/esm/tests/handlers/records-count.spec.js +9 -4
  140. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  141. package/dist/esm/tests/handlers/records-delete.spec.js +24 -25
  142. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  143. package/dist/esm/tests/handlers/records-query.spec.js +68 -9
  144. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  145. package/dist/esm/tests/handlers/records-read.spec.js +24 -138
  146. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  147. package/dist/esm/tests/handlers/records-subscribe.spec.js +175 -35
  148. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  149. package/dist/esm/tests/handlers/records-write.spec.js +176 -72
  150. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  151. package/dist/esm/tests/interfaces/records-write.spec.js +52 -68
  152. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  153. package/dist/esm/tests/protocols/permission-grant.spec.js +6 -6
  154. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  155. package/dist/esm/tests/protocols/permission-request.spec.js +4 -4
  156. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  157. package/dist/esm/tests/protocols/permissions.spec.js +4 -4
  158. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  159. package/dist/esm/tests/scenarios/aggregator.spec.js +4 -4
  160. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  161. package/dist/esm/tests/scenarios/deleted-record.spec.js +350 -5
  162. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  163. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +4 -4
  164. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  165. package/dist/esm/tests/scenarios/nested-roles.spec.js +4 -4
  166. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  167. package/dist/esm/tests/scenarios/subscriptions.spec.js +93 -40
  168. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  169. package/dist/esm/tests/store/data-store-level.spec.js +102 -41
  170. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  171. package/dist/esm/tests/test-event-stream.js +12 -13
  172. package/dist/esm/tests/test-event-stream.js.map +1 -1
  173. package/dist/esm/tests/test-suite.js +10 -4
  174. package/dist/esm/tests/test-suite.js.map +1 -1
  175. package/dist/esm/tests/utils/messages.spec.js +12 -5
  176. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  177. package/dist/esm/tests/utils/records.spec.js +8 -12
  178. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  179. package/dist/esm/tests/utils/test-data-generator.js +36 -2
  180. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  181. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +37 -8
  182. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  183. package/dist/types/generated/precompiled-validators.d.ts +49 -40
  184. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  185. package/dist/types/src/core/constants.d.ts +11 -0
  186. package/dist/types/src/core/constants.d.ts.map +1 -0
  187. package/dist/types/src/core/core-protocol.d.ts +89 -0
  188. package/dist/types/src/core/core-protocol.d.ts.map +1 -0
  189. package/dist/types/src/core/dwn-error.d.ts +12 -12
  190. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  191. package/dist/types/src/core/grant-authorization.d.ts +6 -2
  192. package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
  193. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
  194. package/dist/types/src/core/protocol-authorization-validation.d.ts +30 -0
  195. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  196. package/dist/types/src/core/protocol-authorization.d.ts +19 -11
  197. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  198. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  199. package/dist/types/src/core/resumable-task-manager.d.ts +2 -1
  200. package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
  201. package/dist/types/src/dwn.d.ts +19 -7
  202. package/dist/types/src/dwn.d.ts.map +1 -1
  203. package/dist/types/src/event-stream/event-emitter-event-log.d.ts +50 -0
  204. package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +1 -0
  205. package/dist/types/src/handlers/messages-read.d.ts +3 -8
  206. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  207. package/dist/types/src/handlers/messages-subscribe.d.ts +6 -10
  208. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  209. package/dist/types/src/handlers/messages-sync.d.ts +3 -8
  210. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
  211. package/dist/types/src/handlers/protocols-configure.d.ts +3 -10
  212. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  213. package/dist/types/src/handlers/protocols-query.d.ts +3 -8
  214. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  215. package/dist/types/src/handlers/records-count.d.ts +3 -6
  216. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  217. package/dist/types/src/handlers/records-delete.d.ts +3 -8
  218. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  219. package/dist/types/src/handlers/records-query.d.ts +3 -8
  220. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  221. package/dist/types/src/handlers/records-read.d.ts +3 -8
  222. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  223. package/dist/types/src/handlers/records-subscribe.d.ts +8 -10
  224. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  225. package/dist/types/src/handlers/records-write.d.ts +12 -25
  226. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  227. package/dist/types/src/index.d.ts +8 -4
  228. package/dist/types/src/index.d.ts.map +1 -1
  229. package/dist/types/src/interfaces/messages-subscribe.d.ts +5 -0
  230. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  231. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  232. package/dist/types/src/interfaces/records-subscribe.d.ts +5 -0
  233. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  234. package/dist/types/src/interfaces/records-write-signing.d.ts +3 -4
  235. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
  236. package/dist/types/src/interfaces/records-write.d.ts +11 -11
  237. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  238. package/dist/types/src/protocols/permission-grant.d.ts +1 -1
  239. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  240. package/dist/types/src/protocols/permission-request.d.ts +1 -1
  241. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  242. package/dist/types/src/protocols/permissions.d.ts +40 -3
  243. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  244. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -1
  245. package/dist/types/src/store/data-store-level.d.ts +20 -4
  246. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  247. package/dist/types/src/store/index-level.d.ts +4 -0
  248. package/dist/types/src/store/index-level.d.ts.map +1 -1
  249. package/dist/types/src/store/storage-controller.d.ts +20 -6
  250. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  251. package/dist/types/src/types/message-types.d.ts +3 -3
  252. package/dist/types/src/types/message-types.d.ts.map +1 -1
  253. package/dist/types/src/types/messages-types.d.ts +12 -3
  254. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  255. package/dist/types/src/types/method-handler.d.ts +24 -3
  256. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  257. package/dist/types/src/types/permission-types.d.ts +7 -0
  258. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  259. package/dist/types/src/types/protocols-types.d.ts +69 -2
  260. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  261. package/dist/types/src/types/records-types.d.ts +23 -6
  262. package/dist/types/src/types/records-types.d.ts.map +1 -1
  263. package/dist/types/src/types/subscriptions.d.ts +151 -13
  264. package/dist/types/src/types/subscriptions.d.ts.map +1 -1
  265. package/dist/types/src/utils/hd-key.d.ts +1 -9
  266. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  267. package/dist/types/src/utils/messages.d.ts +7 -5
  268. package/dist/types/src/utils/messages.d.ts.map +1 -1
  269. package/dist/types/src/utils/records.d.ts +1 -11
  270. package/dist/types/src/utils/records.d.ts.map +1 -1
  271. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  272. package/dist/types/tests/event-emitter-event-log.spec.d.ts +2 -0
  273. package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +1 -0
  274. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  275. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  276. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  277. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  278. package/dist/types/tests/features/records-delivery.spec.d.ts +2 -0
  279. package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -0
  280. package/dist/types/tests/features/records-immutable.spec.d.ts +2 -0
  281. package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -0
  282. package/dist/types/tests/features/records-record-limit.spec.d.ts +2 -0
  283. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -0
  284. package/dist/types/tests/features/records-squash.spec.d.ts +2 -0
  285. package/dist/types/tests/features/records-squash.spec.d.ts.map +1 -0
  286. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  287. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  288. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  289. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  290. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
  291. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  292. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  293. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  294. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  295. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  296. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  297. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  298. package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
  299. package/dist/types/tests/test-event-stream.d.ts +11 -12
  300. package/dist/types/tests/test-event-stream.d.ts.map +1 -1
  301. package/dist/types/tests/test-suite.d.ts +2 -2
  302. package/dist/types/tests/test-suite.d.ts.map +1 -1
  303. package/dist/types/tests/utils/test-data-generator.d.ts +19 -0
  304. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  305. package/package.json +5 -4
  306. package/src/core/constants.ts +11 -0
  307. package/src/core/core-protocol.ts +129 -0
  308. package/src/core/dwn-error.ts +18 -12
  309. package/src/core/grant-authorization.ts +20 -3
  310. package/src/core/protocol-authorization-action.ts +5 -0
  311. package/src/core/protocol-authorization-validation.ts +133 -0
  312. package/src/core/protocol-authorization.ts +71 -23
  313. package/src/core/records-grant-authorization.ts +6 -8
  314. package/src/core/resumable-task-manager.ts +3 -1
  315. package/src/dwn.ts +58 -73
  316. package/src/event-stream/event-emitter-event-log.ts +283 -0
  317. package/src/handlers/messages-read.ts +8 -9
  318. package/src/handlers/messages-subscribe.ts +24 -28
  319. package/src/handlers/messages-sync.ts +10 -16
  320. package/src/handlers/protocols-configure.ts +47 -32
  321. package/src/handlers/protocols-query.ts +6 -9
  322. package/src/handlers/records-count.ts +11 -10
  323. package/src/handlers/records-delete.ts +12 -21
  324. package/src/handlers/records-query.ts +12 -12
  325. package/src/handlers/records-read.ts +34 -22
  326. package/src/handlers/records-subscribe.ts +47 -26
  327. package/src/handlers/records-write.ts +152 -119
  328. package/src/index.ts +9 -5
  329. package/src/interfaces/messages-subscribe.ts +7 -1
  330. package/src/interfaces/protocols-configure.ts +51 -3
  331. package/src/interfaces/records-count.ts +1 -1
  332. package/src/interfaces/records-delete.ts +1 -1
  333. package/src/interfaces/records-query.ts +1 -1
  334. package/src/interfaces/records-read.ts +1 -1
  335. package/src/interfaces/records-subscribe.ts +8 -1
  336. package/src/interfaces/records-write-signing.ts +2 -22
  337. package/src/interfaces/records-write.ts +35 -48
  338. package/src/protocols/permission-grant.ts +1 -1
  339. package/src/protocols/permission-request.ts +1 -1
  340. package/src/protocols/permissions.ts +148 -6
  341. package/src/state-index/state-index-level.ts +5 -7
  342. package/src/store/data-store-level.ts +124 -34
  343. package/src/store/index-level.ts +44 -35
  344. package/src/store/storage-controller.ts +89 -12
  345. package/src/types/message-types.ts +3 -3
  346. package/src/types/messages-types.ts +12 -3
  347. package/src/types/method-handler.ts +26 -4
  348. package/src/types/mitt.d.ts +28 -0
  349. package/src/types/permission-types.ts +7 -0
  350. package/src/types/protocols-types.ts +78 -1
  351. package/src/types/records-types.ts +24 -6
  352. package/src/types/subscriptions.ts +178 -14
  353. package/src/utils/hd-key.ts +0 -9
  354. package/src/utils/messages.ts +17 -37
  355. package/src/utils/records.ts +7 -58
  356. package/dist/esm/src/event-stream/event-emitter-stream.js +0 -46
  357. package/dist/esm/src/event-stream/event-emitter-stream.js.map +0 -1
  358. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +0 -68
  359. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +0 -1
  360. package/dist/esm/tests/event-stream/event-stream.spec.js +0 -114
  361. package/dist/esm/tests/event-stream/event-stream.spec.js.map +0 -1
  362. package/dist/types/src/event-stream/event-emitter-stream.d.ts +0 -23
  363. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +0 -1
  364. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts +0 -2
  365. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +0 -1
  366. package/dist/types/tests/event-stream/event-stream.spec.d.ts +0 -2
  367. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +0 -1
  368. package/src/event-stream/event-emitter-stream.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/interfaces/records-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/interfaces/records-write.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export class PermissionGrant {
52
52
  * and that the decoded data contains `scope` and `dateExpires`.
53
53
  * @throws {DwnError} if any required field is missing.
54
54
  */
55
- static async parse(message) {
55
+ static parse(message) {
56
56
  PermissionGrant.validateMessage(message);
57
57
  const permissionGrant = new PermissionGrant(message);
58
58
  return permissionGrant;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-grant.js","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-grant.js","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export class PermissionRequest {
37
37
  * and that the decoded data contains `scope`.
38
38
  * @throws {DwnError} if any required field is missing.
39
39
  */
40
- static async parse(message) {
40
+ static parse(message) {
41
41
  PermissionRequest.validateMessage(message);
42
42
  const permissionRequest = new PermissionRequest(message);
43
43
  return permissionRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-request.js","sourceRoot":"","sources":["../../../../src/protocols/permission-request.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG9D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAE5B;;OAEG;IACa,EAAE,CAAS;IAE3B;;OAEG;IACa,SAAS,CAAS;IAElC;;OAEG;IACa,WAAW,CAAU;IAErC;;;OAGG;IACa,SAAS,CAAW;IAEpC;;OAEG;IACa,KAAK,CAAkB;IAEvC;;OAEG;IACa,UAAU,CAAwB;IAElD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAuC;QAC/D,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,eAAe,CAAC,OAAuC;QACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,wCAAwC,EACrD,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,0CAA0C,EACvD,mFAAmF,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAmC,CAAC;QAErG,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,kCAAkC,EAC/C,8DAA8D,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,YAAoB,OAAuC;QACzD,6DAA6D;QAC7D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC;QAE7C,2CAA2C;QAC3C,MAAM,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC;QACzD,MAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,4BAA4B,CAA0B,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"permission-request.js","sourceRoot":"","sources":["../../../../src/protocols/permission-request.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG9D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAE5B;;OAEG;IACa,EAAE,CAAS;IAE3B;;OAEG;IACa,SAAS,CAAS;IAElC;;OAEG;IACa,WAAW,CAAU;IAErC;;;OAGG;IACa,SAAS,CAAW;IAEpC;;OAEG;IACa,KAAK,CAAkB;IAEvC;;OAEG;IACa,UAAU,CAAwB;IAElD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAuC;QACzD,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,eAAe,CAAC,OAAuC;QACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,wCAAwC,EACrD,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,0CAA0C,EACvD,mFAAmF,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAmC,CAAC;QAErG,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,kCAAkC,EAC/C,8DAA8D,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,YAAoB,OAAuC;QACzD,6DAA6D;QAC7D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC;QAE7C,2CAA2C;QAC3C,MAAM,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC;QACzD,MAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,4BAA4B,CAA0B,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC;IACrD,CAAC;CACF"}
@@ -1,7 +1,11 @@
1
+ import { DwnConstant } from '../core/dwn-constant.js';
1
2
  import { Encoder } from '../utils/encoder.js';
3
+ import { FilterUtility } from '../utils/filter.js';
4
+ import { Message } from '../core/message.js';
2
5
  import { PermissionGrant } from './permission-grant.js';
3
6
  import { PermissionRequest } from './permission-request.js';
4
- import { RecordsWrite } from '../../src/interfaces/records-write.js';
7
+ import { Records } from '../utils/records.js';
8
+ import { RecordsWrite } from '../interfaces/records-write.js';
5
9
  import { Time } from '../utils/time.js';
6
10
  import { validateJsonSchema } from '../schema-validator.js';
7
11
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
@@ -9,12 +13,16 @@ import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.j
9
13
  import { normalizeProtocolUrl, validateProtocolUrlNormalized } from '../utils/url.js';
10
14
  /**
11
15
  * This is a first-class DWN protocol for managing permission grants of a given DWN.
16
+ *
17
+ * It implements the `CoreProtocol` interface so that its lifecycle hooks
18
+ * (validation, pre-processing, post-processing) are dispatched generically
19
+ * by the `CoreProtocolRegistry` rather than being hardcoded in handlers.
12
20
  */
13
21
  export class PermissionsProtocol {
14
22
  /**
15
23
  * The URI of the DWN Permissions protocol.
16
24
  */
17
- static uri = 'https://tbd.website/dwn/permissions';
25
+ static uri = 'https://identity.foundation/dwn/permissions';
18
26
  /**
19
27
  * The protocol path of the `request` record.
20
28
  */
@@ -81,6 +89,106 @@ export class PermissionsProtocol {
81
89
  }
82
90
  }
83
91
  };
92
+ // ---------- CoreProtocol instance accessors ----------
93
+ /** @inheritdoc */
94
+ get uri() {
95
+ return PermissionsProtocol.uri;
96
+ }
97
+ /** @inheritdoc */
98
+ get definition() {
99
+ return PermissionsProtocol.definition;
100
+ }
101
+ // ---------- CoreProtocol lifecycle hooks ----------
102
+ /** @inheritdoc */
103
+ validateRecord(message, dataBytes) {
104
+ PermissionsProtocol.validateSchema(message, dataBytes);
105
+ }
106
+ /**
107
+ * Pre-processing hook for permission revocation records.
108
+ * Validates that the revocation's `tags.protocol` matches the grant's scoped protocol.
109
+ */
110
+ async preProcessWrite(tenant, message, messageStore) {
111
+ if (message.descriptor.protocolPath !== PermissionsProtocol.revocationPath) {
112
+ return;
113
+ }
114
+ // fetch the parent grant to compare the scoped protocol against the revocation tag
115
+ const permissionGrantId = message.descriptor.parentId;
116
+ const grant = await PermissionsProtocol.fetchGrant(tenant, messageStore, permissionGrantId);
117
+ const revokeTagProtocol = message.descriptor.tags?.protocol;
118
+ const grantProtocol = 'protocol' in grant.scope ? grant.scope.protocol : undefined;
119
+ if (grantProtocol !== revokeTagProtocol) {
120
+ throw new DwnError(DwnErrorCode.PermissionsProtocolValidateRevocationProtocolTagMismatch, `Revocation protocol ${revokeTagProtocol} does not match grant protocol ${grantProtocol}`);
121
+ }
122
+ }
123
+ /**
124
+ * Post-processing hook for permission revocation records.
125
+ * When a grant is revoked, all messages authorized by that grant and created
126
+ * after the revocation timestamp are deleted from all stores.
127
+ *
128
+ * Deletion order is deliberate to avoid orphaned data in case of crash:
129
+ * 1. data store (large blobs first)
130
+ * 2. state index (SMT entries)
131
+ * 3. message store
132
+ */
133
+ async postProcessWrite(tenant, recordsWrite, stores) {
134
+ if (recordsWrite.message.descriptor.protocolPath !== PermissionsProtocol.revocationPath) {
135
+ return;
136
+ }
137
+ const permissionGrantId = recordsWrite.message.descriptor.parentId;
138
+ const grantAuthorizedMessagesQuery = {
139
+ permissionGrantId,
140
+ dateCreated: { gte: recordsWrite.message.descriptor.messageTimestamp },
141
+ };
142
+ const { messages: grantAuthorizedMessages } = await stores.messageStore.query(tenant, [grantAuthorizedMessagesQuery]);
143
+ if (grantAuthorizedMessages.length === 0) {
144
+ return;
145
+ }
146
+ // 1. Delete data from the data store first to avoid orphaned data blobs in case of crash.
147
+ // Only RecordsWrite messages with data larger than maxDataSizeAllowedToBeEncoded have data in the data store.
148
+ for (const message of grantAuthorizedMessages) {
149
+ if (message.descriptor.method === DwnMethodName.Write) {
150
+ const recordsWriteMessage = message;
151
+ if (recordsWriteMessage.descriptor.dataSize > DwnConstant.maxDataSizeAllowedToBeEncoded) {
152
+ await stores.dataStore.delete(tenant, recordsWriteMessage.recordId, recordsWriteMessage.descriptor.dataCid);
153
+ }
154
+ }
155
+ }
156
+ // 2. Compute CIDs and delete from state index before message store to avoid orphaned state entries.
157
+ const messageCids = await Promise.all(grantAuthorizedMessages.map((message) => Message.getCid(message)));
158
+ await stores.stateIndex.delete(tenant, messageCids);
159
+ // 3. Finally delete all messages from the message store.
160
+ await Promise.all(messageCids.map((cid) => stores.messageStore.delete(tenant, cid)));
161
+ }
162
+ /** @inheritdoc */
163
+ mapErrorToStatusCode(errorCode) {
164
+ if (errorCode.startsWith('PermissionsProtocolValidate')) {
165
+ return 400;
166
+ }
167
+ return undefined;
168
+ }
169
+ /**
170
+ * Constructs an additional filter for protocol-scoped message queries so that
171
+ * permission records (grants, requests, revocations) tagged with the target
172
+ * protocol appear alongside that protocol's own records in sync/subscribe/read results.
173
+ */
174
+ constructAdditionalMessageFilter(filter) {
175
+ const { protocol, messageTimestamp } = filter;
176
+ if (protocol === undefined) {
177
+ return undefined;
178
+ }
179
+ const taggedFilter = {
180
+ protocol: PermissionsProtocol.uri,
181
+ ...Records.convertTagsFilter({ protocol }),
182
+ };
183
+ if (messageTimestamp !== undefined) {
184
+ const messageTimestampFilter = FilterUtility.convertRangeCriterion(messageTimestamp);
185
+ if (messageTimestampFilter) {
186
+ taggedFilter.messageTimestamp = messageTimestampFilter;
187
+ }
188
+ }
189
+ return taggedFilter;
190
+ }
191
+ // ---------- Static utility methods ----------
84
192
  static parseRequest(base64UrlEncodedRequest) {
85
193
  return Encoder.base64UrlToObject(base64UrlEncodedRequest);
86
194
  }
@@ -259,7 +367,7 @@ export class PermissionsProtocol {
259
367
  throw new DwnError(DwnErrorCode.GrantAuthorizationGrantMissing, `Could not find permission grant with record ID ${permissionGrantId}.`);
260
368
  }
261
369
  const permissionGrantMessage = possibleGrantMessage;
262
- const permissionGrant = await PermissionGrant.parse(permissionGrantMessage);
370
+ const permissionGrant = PermissionGrant.parse(permissionGrantMessage);
263
371
  return permissionGrant;
264
372
  }
265
373
  /**
@@ -277,12 +385,12 @@ export class PermissionsProtocol {
277
385
  return grant.scope;
278
386
  }
279
387
  else if (incomingMessage.descriptor.protocolPath === PermissionsProtocol.grantPath) {
280
- const grant = await PermissionGrant.parse(incomingMessage);
388
+ const grant = PermissionGrant.parse(incomingMessage);
281
389
  return grant.scope;
282
390
  }
283
391
  else {
284
392
  // if the record is not a grant or revocation, it must be a request
285
- const request = await PermissionRequest.parse(incomingMessage);
393
+ const request = PermissionRequest.parse(incomingMessage);
286
394
  return request.scope;
287
395
  }
288
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../src/protocols/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../src/protocols/permissions.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,8 @@ export class StateIndexLevel {
57
57
  // Insert into the global tree
58
58
  const globalSmt = await this.getGlobalTree(tenant);
59
59
  await globalSmt.insert(messageCid);
60
- // If the message is associated with a protocol, insert into the protocol-scoped tree
60
+ // Insert into the protocol-scoped tree if the message has a protocol (e.g. RecordsWrite).
61
+ // Non-record messages like ProtocolsConfigure do not have a protocol.
61
62
  const protocol = indexes.protocol;
62
63
  if (protocol !== undefined) {
63
64
  const protoSmt = await this.getProtocolTree(tenant, protocol);
@@ -73,7 +74,7 @@ export class StateIndexLevel {
73
74
  const indexes = await this.getStoredIndexes(tenant, messageCid);
74
75
  // Delete from global tree
75
76
  await globalSmt.delete(messageCid);
76
- // Delete from protocol tree if applicable
77
+ // Delete from protocol tree if the message had a protocol
77
78
  if (indexes !== undefined) {
78
79
  const protocol = indexes.protocol;
79
80
  if (protocol !== undefined) {
@@ -158,11 +159,8 @@ export class StateIndexLevel {
158
159
  */
159
160
  async storeIndexes(tenant, messageCid, indexes) {
160
161
  const metaPartition = await this.getMetaPartition(tenant);
161
- // Only store the minimal set of indexes needed for deletion (protocol)
162
- const minimalIndexes = {};
163
- if (indexes.protocol !== undefined) {
164
- minimalIndexes.protocol = indexes.protocol;
165
- }
162
+ // Store the protocol index needed for deletion
163
+ const minimalIndexes = { protocol: indexes.protocol };
166
164
  await metaPartition.put(messageCid, JSON.stringify(minimalIndexes));
167
165
  }
168
166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"state-index-level.js","sourceRoot":"","sources":["../../../../src/state-index/state-index-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-index-level.js","sourceRoot":"","sources":["../../../../src/state-index/state-index-level.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,19 @@ import { createLevelDatabase } from './level-wrapper.js';
3
3
  import { DataStream } from '../utils/data-stream.js';
4
4
  import { exporter } from 'ipfs-unixfs-exporter';
5
5
  import { importer } from 'ipfs-unixfs-importer';
6
+ const textEncoder = new TextEncoder();
7
+ const textDecoder = new TextDecoder();
6
8
  /**
7
9
  * A simple implementation of {@link DataStore} that works in both the browser and server-side.
8
10
  * Leverages LevelDB under the hood.
9
11
  *
10
- * It has the following structure (`+` represents an additional sublevel/partition):
11
- * 'data' + <tenant> + <recordId> + <dataCid> -> <data>
12
+ * It has the following sublevel structure (`+` represents an additional sublevel):
13
+ * 'refs' + <tenant> + <recordId> : key <dataCid> JSON { dataSize }
14
+ * 'blocks' + <dataCid> : key <blockCid> → block data (shared)
15
+ * 'refcounts' : key <dataCid> → JSON { count, dataSize }
16
+ *
17
+ * Identical data (same dataCid) is stored only once in the blocks sublevel.
18
+ * Multiple (tenant, recordId) pairs can reference the same blocks.
12
19
  */
13
20
  export class DataStoreLevel {
14
21
  config;
@@ -31,25 +38,62 @@ export class DataStoreLevel {
31
38
  await this.blockstore.close();
32
39
  }
33
40
  async put(tenant, recordId, dataCid, dataStream) {
34
- const blockstoreForData = await this.getBlockstoreForStoringData(tenant, recordId, dataCid);
35
- const asyncDataBlocks = importer([{ content: DataStream.asAsyncIterable(dataStream) }], blockstoreForData, { cidVersion: 1 });
36
- // NOTE: the last block contains the root CID as well as info to derive the data size
37
- let dataDagRoot;
38
- for await (dataDagRoot of asyncDataBlocks) {
39
- ;
41
+ // Check if this exact ref already exists (idempotent re-put).
42
+ const refsPartition = await this.getRefsPartition(tenant, recordId);
43
+ const existingRef = await refsPartition.get(dataCid);
44
+ if (existingRef) {
45
+ await dataStream.cancel();
46
+ const { dataSize } = JSON.parse(textDecoder.decode(existingRef));
47
+ return { dataSize };
40
48
  }
41
- return {
42
- dataSize: Number(dataDagRoot.unixfs?.fileSize() ?? dataDagRoot.size)
43
- };
49
+ // Check refcount — if > 0, blocks already exist for this dataCid.
50
+ const refcountsPartition = await this.getRefcountsPartition();
51
+ const rawRefcount = await refcountsPartition.get(dataCid);
52
+ const refcountData = rawRefcount
53
+ ? JSON.parse(textDecoder.decode(rawRefcount))
54
+ : { count: 0, dataSize: 0 };
55
+ let dataSize;
56
+ if (refcountData.count > 0) {
57
+ // Blocks already exist — skip import.
58
+ await dataStream.cancel();
59
+ dataSize = refcountData.dataSize;
60
+ }
61
+ else {
62
+ // First write — import blocks into the shared blocks partition.
63
+ const blocksPartition = await this.getBlocksPartition(dataCid);
64
+ const asyncDataBlocks = importer([{ content: DataStream.asAsyncIterable(dataStream) }], blocksPartition, { cidVersion: 1 });
65
+ // NOTE: the last block contains the root CID as well as info to derive the data size.
66
+ let dataDagRoot;
67
+ for await (dataDagRoot of asyncDataBlocks) {
68
+ ;
69
+ }
70
+ dataSize = Number(dataDagRoot.unixfs?.fileSize() ?? dataDagRoot.size);
71
+ }
72
+ // Write ref entry.
73
+ await refsPartition.put(dataCid, textEncoder.encode(JSON.stringify({ dataSize })));
74
+ // Increment refcount.
75
+ await refcountsPartition.put(dataCid, textEncoder.encode(JSON.stringify({
76
+ count: refcountData.count + 1,
77
+ dataSize,
78
+ })));
79
+ return { dataSize };
44
80
  }
45
81
  async get(tenant, recordId, dataCid) {
46
- const blockstoreForData = await this.getBlockstoreForStoringData(tenant, recordId, dataCid);
47
- const exists = await blockstoreForData.has(dataCid);
82
+ // Check ref exists.
83
+ const refsPartition = await this.getRefsPartition(tenant, recordId);
84
+ const rawRef = await refsPartition.get(dataCid);
85
+ if (!rawRef) {
86
+ return undefined;
87
+ }
88
+ const { dataSize } = JSON.parse(textDecoder.decode(rawRef));
89
+ // Export from the shared blocks partition.
90
+ const blocksPartition = await this.getBlocksPartition(dataCid);
91
+ const exists = await blocksPartition.has(dataCid);
48
92
  if (!exists) {
49
93
  return undefined;
50
94
  }
51
- // data is chunked into dag-pb unixfs blocks. re-inflate the chunks.
52
- const dataDagRoot = await exporter(dataCid, blockstoreForData);
95
+ // Data is chunked into DAG-PB UnixFS blocks. Re-inflate the chunks.
96
+ const dataDagRoot = await exporter(dataCid, blocksPartition);
53
97
  const contentIterator = dataDagRoot.content();
54
98
  const dataStream = new ReadableStream({
55
99
  async pull(controller) {
@@ -62,18 +106,38 @@ export class DataStoreLevel {
62
106
  }
63
107
  }
64
108
  });
65
- let dataSize = dataDagRoot.size;
66
- if (dataDagRoot.type === 'file' || dataDagRoot.type === 'directory') {
67
- dataSize = dataDagRoot.unixfs.fileSize();
68
- }
69
- return {
70
- dataSize: Number(dataSize),
71
- dataStream,
72
- };
109
+ return { dataSize, dataStream };
73
110
  }
74
111
  async delete(tenant, recordId, dataCid) {
75
- const blockstoreForData = await this.getBlockstoreForStoringData(tenant, recordId, dataCid);
76
- await blockstoreForData.clear();
112
+ // Check ref exists.
113
+ const refsPartition = await this.getRefsPartition(tenant, recordId);
114
+ const rawRef = await refsPartition.get(dataCid);
115
+ if (!rawRef) {
116
+ return;
117
+ }
118
+ // Remove ref.
119
+ await refsPartition.delete(dataCid);
120
+ // Decrement refcount and GC blocks if this was the last ref.
121
+ const refcountsPartition = await this.getRefcountsPartition();
122
+ const rawRefcount = await refcountsPartition.get(dataCid);
123
+ if (!rawRefcount) {
124
+ return;
125
+ }
126
+ const refcountData = JSON.parse(textDecoder.decode(rawRefcount));
127
+ const newCount = refcountData.count - 1;
128
+ if (newCount <= 0) {
129
+ // Last reference removed — garbage-collect blocks and refcount entry.
130
+ const blocksPartition = await this.getBlocksPartition(dataCid);
131
+ await blocksPartition.clear();
132
+ await refcountsPartition.delete(dataCid);
133
+ }
134
+ else {
135
+ // Other references remain — update the count.
136
+ await refcountsPartition.put(dataCid, textEncoder.encode(JSON.stringify({
137
+ count: newCount,
138
+ dataSize: refcountData.dataSize,
139
+ })));
140
+ }
77
141
  }
78
142
  /**
79
143
  * Deletes everything in the store. Mainly used in tests.
@@ -82,15 +146,28 @@ export class DataStoreLevel {
82
146
  await this.blockstore.clear();
83
147
  }
84
148
  /**
85
- * Gets the blockstore used for storing data for the given `tenant -> `recordId` -> `dataCid`.
149
+ * Gets the refs sublevel for the given tenant and recordId.
150
+ * Caller uses `dataCid` as the key within the returned partition.
151
+ */
152
+ async getRefsPartition(tenant, recordId) {
153
+ const refsRoot = await this.blockstore.db.partition('refs');
154
+ const tenantPartition = await refsRoot.partition(tenant);
155
+ return tenantPartition.partition(recordId);
156
+ }
157
+ /**
158
+ * Gets the shared blocks sublevel for the given dataCid.
159
+ * Used as a Blockstore for ipfs-unixfs-importer/exporter.
160
+ */
161
+ async getBlocksPartition(dataCid) {
162
+ const blocksRoot = await this.blockstore.partition('blocks');
163
+ return blocksRoot.partition(dataCid);
164
+ }
165
+ /**
166
+ * Gets the refcounts sublevel.
167
+ * Key: `dataCid` → JSON `{ count, dataSize }`.
86
168
  */
87
- async getBlockstoreForStoringData(tenant, recordId, dataCid) {
88
- const dataPartitionName = 'data';
89
- const blockstoreForData = await this.blockstore.partition(dataPartitionName);
90
- const blockstoreOfGivenTenant = await blockstoreForData.partition(tenant);
91
- const blockstoreOfGivenRecordId = await blockstoreOfGivenTenant.partition(recordId);
92
- const blockstoreOfGivenDataCidOfRecordId = await blockstoreOfGivenRecordId.partition(dataCid);
93
- return blockstoreOfGivenDataCidOfRecordId;
169
+ async getRefcountsPartition() {
170
+ return this.blockstore.db.partition('refcounts');
94
171
  }
95
172
  }
96
173
  //# sourceMappingURL=data-store-level.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-level.js","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-store-level.js","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"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"}