@enbox/dwn-sdk-js 0.4.5 → 0.4.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 (369) hide show
  1. package/README.md +3 -1
  2. package/dist/browser.mjs +19 -78
  3. package/dist/browser.mjs.map +4 -4
  4. package/dist/esm/generated/precompiled-validators.js +4465 -3861
  5. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  6. package/dist/esm/src/core/constants.js +50 -0
  7. package/dist/esm/src/core/constants.js.map +1 -1
  8. package/dist/esm/src/core/dwn-error.js +28 -11
  9. package/dist/esm/src/core/dwn-error.js.map +1 -1
  10. package/dist/esm/src/core/encryption-control.js +785 -0
  11. package/dist/esm/src/core/encryption-control.js.map +1 -0
  12. package/dist/esm/src/core/message.js +6 -0
  13. package/dist/esm/src/core/message.js.map +1 -1
  14. package/dist/esm/src/core/messages-grant-authorization.js +36 -5
  15. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  16. package/dist/esm/src/core/protocol-authorization-action.js +3 -12
  17. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
  18. package/dist/esm/src/core/protocol-authorization-validation.js +31 -30
  19. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  20. package/dist/esm/src/core/protocol-authorization.js +6 -0
  21. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  22. package/dist/esm/src/core/recording-validation-state-reader.js +3 -3
  23. package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -1
  24. package/dist/esm/src/core/replication-apply.js +62 -108
  25. package/dist/esm/src/core/replication-apply.js.map +1 -1
  26. package/dist/esm/src/core/validation-state-reader.js +5 -6
  27. package/dist/esm/src/core/validation-state-reader.js.map +1 -1
  28. package/dist/esm/src/dwn.js +1 -2
  29. package/dist/esm/src/dwn.js.map +1 -1
  30. package/dist/esm/src/event-stream/event-emitter-wake-publisher.js +11 -11
  31. package/dist/esm/src/event-stream/event-emitter-wake-publisher.js.map +1 -1
  32. package/dist/esm/src/handlers/messages-query.js +6 -16
  33. package/dist/esm/src/handlers/messages-query.js.map +1 -1
  34. package/dist/esm/src/handlers/messages-read.js +4 -3
  35. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  36. package/dist/esm/src/handlers/messages-subscribe.js +26 -30
  37. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  38. package/dist/esm/src/handlers/protocols-configure.js +6 -4
  39. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  40. package/dist/esm/src/handlers/records-count.js +85 -10
  41. package/dist/esm/src/handlers/records-count.js.map +1 -1
  42. package/dist/esm/src/handlers/records-delete.js +11 -0
  43. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  44. package/dist/esm/src/handlers/records-query.js +140 -18
  45. package/dist/esm/src/handlers/records-query.js.map +1 -1
  46. package/dist/esm/src/handlers/records-read.js +20 -4
  47. package/dist/esm/src/handlers/records-read.js.map +1 -1
  48. package/dist/esm/src/handlers/records-subscribe.js +127 -11
  49. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  50. package/dist/esm/src/handlers/records-write.js +15 -0
  51. package/dist/esm/src/handlers/records-write.js.map +1 -1
  52. package/dist/esm/src/index.js +7 -10
  53. package/dist/esm/src/index.js.map +1 -1
  54. package/dist/esm/src/interfaces/protocols-configure.js +66 -9
  55. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  56. package/dist/esm/src/interfaces/records-write.js +43 -36
  57. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  58. package/dist/esm/src/jose/algorithms/signing/ed25519.js +5 -5
  59. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  60. package/dist/esm/src/jose/jws/general/verifier.js +1 -1
  61. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  62. package/dist/esm/src/protocols/encryption.js +32 -274
  63. package/dist/esm/src/protocols/encryption.js.map +1 -1
  64. package/dist/esm/src/store/blockstore-level.js +14 -23
  65. package/dist/esm/src/store/blockstore-level.js.map +1 -1
  66. package/dist/esm/src/store/blockstore-mock.js +10 -27
  67. package/dist/esm/src/store/blockstore-mock.js.map +1 -1
  68. package/dist/esm/src/store/blockstore-utils.js +45 -0
  69. package/dist/esm/src/store/blockstore-utils.js.map +1 -0
  70. package/dist/esm/src/store/blockstore.js +2 -0
  71. package/dist/esm/src/store/blockstore.js.map +1 -0
  72. package/dist/esm/src/store/data-store-level.js +4 -12
  73. package/dist/esm/src/store/data-store-level.js.map +1 -1
  74. package/dist/esm/src/store/level.js +7 -0
  75. package/dist/esm/src/store/level.js.map +1 -0
  76. package/dist/esm/src/types/encryption-types.js +4 -1
  77. package/dist/esm/src/types/encryption-types.js.map +1 -1
  78. package/dist/esm/src/utils/data-stream.js +25 -0
  79. package/dist/esm/src/utils/data-stream.js.map +1 -1
  80. package/dist/esm/src/utils/encryption.js +142 -34
  81. package/dist/esm/src/utils/encryption.js.map +1 -1
  82. package/dist/esm/src/utils/grant-key-coverage.js +180 -0
  83. package/dist/esm/src/utils/grant-key-coverage.js.map +1 -0
  84. package/dist/esm/src/utils/hd-key.js +1 -2
  85. package/dist/esm/src/utils/hd-key.js.map +1 -1
  86. package/dist/esm/src/utils/jws.js +7 -1
  87. package/dist/esm/src/utils/jws.js.map +1 -1
  88. package/dist/esm/src/utils/memory-cache.js +29 -8
  89. package/dist/esm/src/utils/memory-cache.js.map +1 -1
  90. package/dist/esm/src/utils/protocols.js +27 -0
  91. package/dist/esm/src/utils/protocols.js.map +1 -1
  92. package/dist/esm/src/utils/record-limit-occupancy.js +23 -3
  93. package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
  94. package/dist/esm/src/utils/records.js +29 -0
  95. package/dist/esm/src/utils/records.js.map +1 -1
  96. package/dist/esm/src/utils/secp256k1.js +12 -11
  97. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  98. package/dist/esm/src/utils/secp256r1.js +12 -20
  99. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  100. package/dist/esm/src/utils/time.js +103 -25
  101. package/dist/esm/src/utils/time.js.map +1 -1
  102. package/dist/esm/tests/core/constants.spec.js +35 -0
  103. package/dist/esm/tests/core/constants.spec.js.map +1 -0
  104. package/dist/esm/tests/core/encryption-control.spec.js +100 -0
  105. package/dist/esm/tests/core/encryption-control.spec.js.map +1 -0
  106. package/dist/esm/tests/core/message.spec.js +35 -0
  107. package/dist/esm/tests/core/message.spec.js.map +1 -1
  108. package/dist/esm/tests/core/protocol-authorization.spec.js +1 -1
  109. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  110. package/dist/esm/tests/core/replication-apply.spec.js +157 -74
  111. package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
  112. package/dist/esm/tests/core/replication-replay-property.spec.js +2 -1
  113. package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
  114. package/dist/esm/tests/core/validation-read-closure.spec.js +14 -28
  115. package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
  116. package/dist/esm/tests/core/validation-state-reader.spec.js +19 -23
  117. package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -1
  118. package/dist/esm/tests/dwn.spec.js +2 -1
  119. package/dist/esm/tests/dwn.spec.js.map +1 -1
  120. package/dist/esm/tests/event-emitter-wake-publisher.spec.js +51 -0
  121. package/dist/esm/tests/event-emitter-wake-publisher.spec.js.map +1 -0
  122. package/dist/esm/tests/features/protocol-composition.spec.js +1 -1
  123. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  124. package/dist/esm/tests/features/records-record-limit.spec.js +1 -1
  125. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
  126. package/dist/esm/tests/fuzz/encryption.fuzz.spec.js +9 -1
  127. package/dist/esm/tests/fuzz/encryption.fuzz.spec.js.map +1 -1
  128. package/dist/esm/tests/fuzz/process-message.fuzz.spec.js +1 -1
  129. package/dist/esm/tests/fuzz/process-message.fuzz.spec.js.map +1 -1
  130. package/dist/esm/tests/fuzz/protocols-utils.fuzz.spec.js +29 -1
  131. package/dist/esm/tests/fuzz/protocols-utils.fuzz.spec.js.map +1 -1
  132. package/dist/esm/tests/fuzz/secp256k1.fuzz.spec.js +2 -2
  133. package/dist/esm/tests/fuzz/secp256k1.fuzz.spec.js.map +1 -1
  134. package/dist/esm/tests/fuzz/time.fuzz.spec.js +7 -1
  135. package/dist/esm/tests/fuzz/time.fuzz.spec.js.map +1 -1
  136. package/dist/esm/tests/handlers/messages-query.spec.js +123 -11
  137. package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
  138. package/dist/esm/tests/handlers/messages-read.spec.js +95 -0
  139. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  140. package/dist/esm/tests/handlers/messages-subscribe.spec.js +90 -0
  141. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  142. package/dist/esm/tests/handlers/protocols-configure.spec.js +66 -0
  143. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  144. package/dist/esm/tests/handlers/records-count.spec.js +370 -0
  145. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  146. package/dist/esm/tests/handlers/records-delete.spec.js +70 -1
  147. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  148. package/dist/esm/tests/handlers/records-query.spec.js +562 -1
  149. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  150. package/dist/esm/tests/handlers/records-read.spec.js +140 -2
  151. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  152. package/dist/esm/tests/handlers/records-subscribe.spec.js +241 -1
  153. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  154. package/dist/esm/tests/handlers/records-write.spec.js +1187 -29
  155. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  156. package/dist/esm/tests/interfaces/protocols-configure.spec.js +290 -2
  157. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  158. package/dist/esm/tests/interfaces/records-write.spec.js +47 -5
  159. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  160. package/dist/esm/tests/protocols/encryption.spec.js +116 -472
  161. package/dist/esm/tests/protocols/encryption.spec.js.map +1 -1
  162. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +13 -27
  163. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  164. package/dist/esm/tests/store/blockstore-level.spec.js +33 -10
  165. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
  166. package/dist/esm/tests/store/blockstore-mock.spec.js +31 -7
  167. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  168. package/dist/esm/tests/store/blockstore-utils.spec.js +115 -0
  169. package/dist/esm/tests/store/blockstore-utils.spec.js.map +1 -0
  170. package/dist/esm/tests/store/index-level.spec.js +3 -3
  171. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  172. package/dist/esm/tests/test-stores.js +2 -1
  173. package/dist/esm/tests/test-stores.js.map +1 -1
  174. package/dist/esm/tests/utils/cid.spec.js +15 -0
  175. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  176. package/dist/esm/tests/utils/data-stream.spec.js +30 -0
  177. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  178. package/dist/esm/tests/utils/encryption-control-test-utils.js +111 -0
  179. package/dist/esm/tests/utils/encryption-control-test-utils.js.map +1 -0
  180. package/dist/esm/tests/utils/encryption.spec.js +240 -67
  181. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  182. package/dist/esm/tests/utils/grant-key-coverage.spec.js +262 -0
  183. package/dist/esm/tests/utils/grant-key-coverage.spec.js.map +1 -0
  184. package/dist/esm/tests/utils/memory-cache.spec.js +12 -0
  185. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  186. package/dist/esm/tests/utils/secp256r1.spec.js +2 -2
  187. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  188. package/dist/esm/tests/utils/test-data-generator.js +2 -1
  189. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  190. package/dist/esm/tests/utils/test-validation-state-reader.js +1 -1
  191. package/dist/esm/tests/utils/test-validation-state-reader.js.map +1 -1
  192. package/dist/esm/tests/utils/time.spec.js +26 -0
  193. package/dist/esm/tests/utils/time.spec.js.map +1 -1
  194. package/dist/esm/tests/validation/json-schemas/encryption/audience.spec.js +45 -0
  195. package/dist/esm/tests/validation/json-schemas/encryption/audience.spec.js.map +1 -0
  196. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js +47 -0
  197. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js.map +1 -0
  198. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +25 -16
  199. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +1 -1
  200. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +152 -0
  201. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  202. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +46 -1
  203. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  204. package/dist/types/generated/precompiled-validators.d.ts +4 -4
  205. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  206. package/dist/types/src/core/constants.d.ts +39 -0
  207. package/dist/types/src/core/constants.d.ts.map +1 -1
  208. package/dist/types/src/core/dwn-error.d.ts +28 -11
  209. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  210. package/dist/types/src/core/encryption-control.d.ts +128 -0
  211. package/dist/types/src/core/encryption-control.d.ts.map +1 -0
  212. package/dist/types/src/core/message.d.ts +4 -0
  213. package/dist/types/src/core/message.d.ts.map +1 -1
  214. package/dist/types/src/core/messages-grant-authorization.d.ts +11 -0
  215. package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
  216. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
  217. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  218. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  219. package/dist/types/src/core/recording-validation-state-reader.d.ts +2 -3
  220. package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -1
  221. package/dist/types/src/core/replication-apply.d.ts +10 -1
  222. package/dist/types/src/core/replication-apply.d.ts.map +1 -1
  223. package/dist/types/src/core/validation-state-reader.d.ts +2 -3
  224. package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
  225. package/dist/types/src/dwn.d.ts.map +1 -1
  226. package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts +1 -1
  227. package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts.map +1 -1
  228. package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
  229. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  230. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  231. package/dist/types/src/handlers/protocols-configure.d.ts +1 -0
  232. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  233. package/dist/types/src/handlers/records-count.d.ts +2 -0
  234. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  235. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  236. package/dist/types/src/handlers/records-query.d.ts +3 -0
  237. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  238. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  239. package/dist/types/src/handlers/records-subscribe.d.ts +2 -0
  240. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  241. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  242. package/dist/types/src/index.d.ts +10 -17
  243. package/dist/types/src/index.d.ts.map +1 -1
  244. package/dist/types/src/interfaces/protocols-configure.d.ts +13 -1
  245. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  246. package/dist/types/src/interfaces/records-write.d.ts +5 -1
  247. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  248. package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -1
  249. package/dist/types/src/protocols/encryption.d.ts +2 -19
  250. package/dist/types/src/protocols/encryption.d.ts.map +1 -1
  251. package/dist/types/src/store/blockstore-level.d.ts +11 -11
  252. package/dist/types/src/store/blockstore-level.d.ts.map +1 -1
  253. package/dist/types/src/store/blockstore-mock.d.ts +12 -12
  254. package/dist/types/src/store/blockstore-mock.d.ts.map +1 -1
  255. package/dist/types/src/store/blockstore-utils.d.ts +23 -0
  256. package/dist/types/src/store/blockstore-utils.d.ts.map +1 -0
  257. package/dist/types/src/store/blockstore.d.ts +3 -0
  258. package/dist/types/src/store/blockstore.d.ts.map +1 -0
  259. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  260. package/dist/types/src/store/level.d.ts +13 -0
  261. package/dist/types/src/store/level.d.ts.map +1 -0
  262. package/dist/types/src/types/cache.d.ts +2 -2
  263. package/dist/types/src/types/cache.d.ts.map +1 -1
  264. package/dist/types/src/types/encryption-types.d.ts +31 -2
  265. package/dist/types/src/types/encryption-types.d.ts.map +1 -1
  266. package/dist/types/src/types/validation-state-reader.d.ts +3 -5
  267. package/dist/types/src/types/validation-state-reader.d.ts.map +1 -1
  268. package/dist/types/src/utils/data-stream.d.ts +5 -0
  269. package/dist/types/src/utils/data-stream.d.ts.map +1 -1
  270. package/dist/types/src/utils/encryption.d.ts +58 -22
  271. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  272. package/dist/types/src/utils/grant-key-coverage.d.ts +36 -0
  273. package/dist/types/src/utils/grant-key-coverage.d.ts.map +1 -0
  274. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  275. package/dist/types/src/utils/jws.d.ts.map +1 -1
  276. package/dist/types/src/utils/memory-cache.d.ts +4 -2
  277. package/dist/types/src/utils/memory-cache.d.ts.map +1 -1
  278. package/dist/types/src/utils/protocols.d.ts +11 -0
  279. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  280. package/dist/types/src/utils/record-limit-occupancy.d.ts +7 -0
  281. package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
  282. package/dist/types/src/utils/records.d.ts +2 -0
  283. package/dist/types/src/utils/records.d.ts.map +1 -1
  284. package/dist/types/src/utils/secp256k1.d.ts.map +1 -1
  285. package/dist/types/src/utils/secp256r1.d.ts.map +1 -1
  286. package/dist/types/src/utils/time.d.ts +21 -13
  287. package/dist/types/src/utils/time.d.ts.map +1 -1
  288. package/dist/types/tests/core/constants.spec.d.ts +2 -0
  289. package/dist/types/tests/core/constants.spec.d.ts.map +1 -0
  290. package/dist/types/tests/core/encryption-control.spec.d.ts +2 -0
  291. package/dist/types/tests/core/encryption-control.spec.d.ts.map +1 -0
  292. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  293. package/dist/types/tests/event-emitter-wake-publisher.spec.d.ts +2 -0
  294. package/dist/types/tests/event-emitter-wake-publisher.spec.d.ts.map +1 -0
  295. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
  296. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  297. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  298. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
  299. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  300. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  301. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  302. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  303. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  304. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  305. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  306. package/dist/types/tests/store/blockstore-utils.spec.d.ts +2 -0
  307. package/dist/types/tests/store/blockstore-utils.spec.d.ts.map +1 -0
  308. package/dist/types/tests/test-stores.d.ts.map +1 -1
  309. package/dist/types/tests/utils/encryption-control-test-utils.d.ts +46 -0
  310. package/dist/types/tests/utils/encryption-control-test-utils.d.ts.map +1 -0
  311. package/dist/types/tests/utils/grant-key-coverage.spec.d.ts +2 -0
  312. package/dist/types/tests/utils/grant-key-coverage.spec.d.ts.map +1 -0
  313. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  314. package/dist/types/tests/validation/json-schemas/encryption/audience.spec.d.ts +2 -0
  315. package/dist/types/tests/validation/json-schemas/encryption/audience.spec.d.ts.map +1 -0
  316. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts +2 -0
  317. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts.map +1 -0
  318. package/package.json +47 -28
  319. package/src/core/constants.ts +61 -0
  320. package/src/core/dwn-error.ts +28 -11
  321. package/src/core/encryption-control.ts +1249 -0
  322. package/src/core/message.ts +7 -0
  323. package/src/core/messages-grant-authorization.ts +60 -9
  324. package/src/core/protocol-authorization-action.ts +3 -13
  325. package/src/core/protocol-authorization-validation.ts +66 -46
  326. package/src/core/protocol-authorization.ts +7 -0
  327. package/src/core/recording-validation-state-reader.ts +4 -5
  328. package/src/core/replication-apply.ts +77 -133
  329. package/src/core/validation-state-reader.ts +6 -8
  330. package/src/dwn.ts +1 -2
  331. package/src/event-stream/event-emitter-wake-publisher.ts +10 -14
  332. package/src/handlers/messages-query.ts +6 -22
  333. package/src/handlers/messages-read.ts +4 -3
  334. package/src/handlers/messages-subscribe.ts +34 -30
  335. package/src/handlers/protocols-configure.ts +7 -4
  336. package/src/handlers/records-count.ts +111 -10
  337. package/src/handlers/records-delete.ts +15 -0
  338. package/src/handlers/records-query.ts +176 -20
  339. package/src/handlers/records-read.ts +19 -6
  340. package/src/handlers/records-subscribe.ts +158 -8
  341. package/src/handlers/records-write.ts +19 -0
  342. package/src/index.ts +48 -21
  343. package/src/interfaces/protocols-configure.ts +102 -11
  344. package/src/interfaces/records-write.ts +49 -43
  345. package/src/jose/algorithms/signing/ed25519.ts +7 -6
  346. package/src/jose/jws/general/verifier.ts +3 -3
  347. package/src/protocols/encryption.ts +50 -420
  348. package/src/store/blockstore-level.ts +33 -37
  349. package/src/store/blockstore-mock.ts +24 -38
  350. package/src/store/blockstore-utils.ts +85 -0
  351. package/src/store/blockstore.ts +8 -0
  352. package/src/store/data-store-level.ts +5 -12
  353. package/src/store/level.ts +19 -0
  354. package/src/types/cache.ts +3 -3
  355. package/src/types/encryption-types.ts +39 -2
  356. package/src/types/validation-state-reader.ts +3 -5
  357. package/src/utils/data-stream.ts +29 -1
  358. package/src/utils/encryption.ts +247 -69
  359. package/src/utils/grant-key-coverage.ts +303 -0
  360. package/src/utils/hd-key.ts +1 -2
  361. package/src/utils/jws.ts +8 -2
  362. package/src/utils/memory-cache.ts +42 -11
  363. package/src/utils/protocols.ts +32 -0
  364. package/src/utils/record-limit-occupancy.ts +34 -5
  365. package/src/utils/records.ts +36 -2
  366. package/src/utils/secp256k1.ts +12 -12
  367. package/src/utils/secp256r1.ts +12 -22
  368. package/src/utils/time.ts +145 -27
  369. package/src/types/mitt.d.ts +0 -28
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/delivery.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,QAAQ,GAAG;IACf,SAAS,EAAK,UAAU;IACxB,KAAK,EAAS,6CAA6C;IAC3D,WAAW,EAAG;QACZ,SAAS,EAAU,2BAA2B;QAC9C,gBAAgB,EAAG,cAAc;QACjC,KAAK,EAAc,6CAA6C;QAChE,aAAa,EAAM;YACjB,GAAG,EAAG,QAAQ;YACd,CAAC,EAAK,aAAa;YACnB,GAAG,EAAG,KAAK;YACX,CAAC,EAAK,YAAY;SACnB;QACD,YAAY,EAAE;YACZ,GAAG,EAAG,QAAQ;YACd,GAAG,EAAG,KAAK;YACX,CAAC,EAAK,YAAY;SACnB;KACF;IACD,QAAQ,EAAG,8BAA8B;IACzC,QAAQ,EAAG,oBAAoB;CAChC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC/C,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,eAAe,GAAG;YACtB,GAAG,eAAe,CAAC,QAAQ,CAAC;YAC5B,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,WAAW,CAAC,gBAAgB,GAAG,cAAc,CAAC;QAE9D,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,WAAW,CAAC,KAAK,GAAG,6CAA6C,CAAC;QAElF,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,19 +1,23 @@
1
1
  import { validateJsonSchema } from '../../../../src/schema-validator.js';
2
2
  import { describe, expect, it } from 'bun:test';
3
3
  const grantKey = {
4
- derivationPath: ['protocolPath', 'https://example.com/protocol', 'message'],
5
4
  grantId: 'grant-id',
6
- keyId: 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG',
7
- privateKeyJwk: {
8
- crv: 'X25519',
9
- d: 'private-key',
10
- kty: 'OKP',
11
- x: 'public-key',
12
- },
13
- publicKeyJwk: {
14
- crv: 'X25519',
15
- kty: 'OKP',
16
- x: 'public-key',
5
+ keyMaterial: {
6
+ algorithm: 'X25519-HKDF-SHA256+A256KW',
7
+ derivationPath: ['protocolPath', 'https://example.com/protocol', 'message'],
8
+ derivationScheme: 'protocolPath',
9
+ keyId: 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG',
10
+ privateKeyJwk: {
11
+ crv: 'X25519',
12
+ d: 'private-key',
13
+ kty: 'OKP',
14
+ x: 'public-key',
15
+ },
16
+ publicKeyJwk: {
17
+ crv: 'X25519',
18
+ kty: 'OKP',
19
+ x: 'public-key',
20
+ },
17
21
  },
18
22
  scope: {
19
23
  protocol: 'https://example.com/protocol',
@@ -27,17 +31,17 @@ describe('GrantKey Schema', () => {
27
31
  });
28
32
  it('should reject derivation paths that do not start with protocolPath', () => {
29
33
  const invalidGrantKey = structuredClone(grantKey);
30
- invalidGrantKey.derivationPath[0] = 'unsupported';
34
+ invalidGrantKey.keyMaterial.derivationPath[0] = 'unsupported';
31
35
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
32
36
  });
33
37
  it('should reject empty derivation path segments', () => {
34
38
  const invalidGrantKey = structuredClone(grantKey);
35
- invalidGrantKey.derivationPath[2] = '';
39
+ invalidGrantKey.keyMaterial.derivationPath[2] = '';
36
40
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
37
41
  });
38
42
  it('should reject derivation paths with too many segments', () => {
39
43
  const invalidGrantKey = structuredClone(grantKey);
40
- invalidGrantKey.derivationPath = [
44
+ invalidGrantKey.keyMaterial.derivationPath = [
41
45
  'protocolPath',
42
46
  'https://example.com/protocol',
43
47
  'a',
@@ -56,7 +60,12 @@ describe('GrantKey Schema', () => {
56
60
  });
57
61
  it('should reject key IDs that are not base64url thumbprints', () => {
58
62
  const invalidGrantKey = structuredClone(grantKey);
59
- invalidGrantKey.keyId = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEF!';
63
+ invalidGrantKey.keyMaterial.keyId = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEF!';
64
+ expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
65
+ });
66
+ it('should reject unsupported key material algorithms', () => {
67
+ const invalidGrantKey = structuredClone(grantKey);
68
+ invalidGrantKey.keyMaterial.algorithm = 'unsupported';
60
69
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
61
70
  });
62
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grant-key.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/grant-key.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,QAAQ,GAAG;IACf,cAAc,EAAG,CAAC,cAAc,EAAE,8BAA8B,EAAE,SAAS,CAAC;IAC5E,OAAO,EAAU,UAAU;IAC3B,KAAK,EAAY,6CAA6C;IAC9D,aAAa,EAAI;QACf,GAAG,EAAG,QAAQ;QACd,CAAC,EAAK,aAAa;QACnB,GAAG,EAAG,KAAK;QACX,CAAC,EAAK,YAAY;KACnB;IACD,YAAY,EAAE;QACZ,GAAG,EAAG,QAAQ;QACd,GAAG,EAAG,KAAK;QACX,CAAC,EAAK,YAAY;KACnB;IACD,KAAK,EAAE;QACL,QAAQ,EAAO,8BAA8B;QAC7C,YAAY,EAAG,SAAS;QACxB,MAAM,EAAS,cAAc;KAC9B;CACF,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC/C,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QAElD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEvC,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,GAAG;YAC/B,cAAc;YACd,8BAA8B;YAC9B,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAC;QAEF,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,KAAK,GAAG,6CAA6C,CAAC;QAEtE,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"grant-key.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/grant-key.spec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,162 @@
1
1
  import { ProtocolAction } from '../../../../src/types/protocols-types.js';
2
2
  import { Message } from '../../../../src/core/message.js';
3
+ import { Protocols } from '../../../../src/utils/protocols.js';
3
4
  import { TestDataGenerator } from '../../../utils/test-data-generator.js';
4
5
  import { validateJsonSchema } from '../../../../src/schema-validator.js';
5
6
  import { describe, expect, it } from 'bun:test';
6
7
  import { DwnInterfaceName, DwnMethodName } from '../../../../src/index.js';
7
8
  describe('ProtocolsConfigure schema definition', () => {
9
+ it('should reject reserved top-level structure keys', () => {
10
+ const protocolDefinition = {
11
+ protocol: 'reserved-structure',
12
+ published: true,
13
+ types: {
14
+ record: {
15
+ dataFormats: ['text/plain'],
16
+ schema: 'record',
17
+ }
18
+ },
19
+ structure: {
20
+ $encryption: {
21
+ $actions: [
22
+ {
23
+ can: [ProtocolAction.Create],
24
+ who: 'anyone',
25
+ }
26
+ ]
27
+ },
28
+ record: {
29
+ $actions: [
30
+ {
31
+ can: [ProtocolAction.Create],
32
+ who: 'anyone',
33
+ }
34
+ ]
35
+ }
36
+ }
37
+ };
38
+ expect(() => {
39
+ validateJsonSchema('ProtocolDefinition', protocolDefinition);
40
+ }).toThrow();
41
+ });
42
+ it('should reject nested reserved structure keys', () => {
43
+ const protocolDefinition = {
44
+ protocol: 'reserved-nested-structure',
45
+ published: true,
46
+ types: {
47
+ child: {
48
+ dataFormats: ['text/plain'],
49
+ schema: 'child',
50
+ },
51
+ record: {
52
+ dataFormats: ['text/plain'],
53
+ schema: 'record',
54
+ }
55
+ },
56
+ structure: {
57
+ record: {
58
+ $actions: [
59
+ {
60
+ can: [ProtocolAction.Create],
61
+ who: 'anyone',
62
+ }
63
+ ],
64
+ $encryption: {
65
+ $actions: [
66
+ {
67
+ can: [ProtocolAction.Create],
68
+ who: 'anyone',
69
+ }
70
+ ]
71
+ },
72
+ child: {
73
+ $actions: [
74
+ {
75
+ can: [ProtocolAction.Create],
76
+ who: 'anyone',
77
+ }
78
+ ]
79
+ }
80
+ }
81
+ }
82
+ };
83
+ expect(() => {
84
+ validateJsonSchema('ProtocolDefinition', protocolDefinition);
85
+ }).toThrow();
86
+ });
87
+ it('should reject reserved type names', () => {
88
+ const protocolDefinition = {
89
+ protocol: 'reserved-types',
90
+ published: true,
91
+ types: {
92
+ $encryption: {
93
+ dataFormats: ['application/json'],
94
+ schema: 'encryption',
95
+ },
96
+ record: {
97
+ dataFormats: ['text/plain'],
98
+ schema: 'record',
99
+ }
100
+ },
101
+ structure: {
102
+ record: {
103
+ $actions: [
104
+ {
105
+ can: [ProtocolAction.Create],
106
+ who: 'anyone',
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ };
112
+ expect(() => {
113
+ validateJsonSchema('ProtocolDefinition', protocolDefinition);
114
+ }).toThrow();
115
+ });
116
+ it('should allow encrypted protocol definitions after public key injection', async () => {
117
+ const alice = await TestDataGenerator.generatePersona();
118
+ const protocolDefinition = {
119
+ protocol: 'encrypted-protocol',
120
+ published: true,
121
+ types: {
122
+ message: {
123
+ dataFormats: ['application/json'],
124
+ encryptionRequired: true,
125
+ schema: 'message',
126
+ },
127
+ reply: {
128
+ dataFormats: ['text/plain'],
129
+ encryptionRequired: true,
130
+ schema: 'reply',
131
+ },
132
+ },
133
+ structure: {
134
+ message: {
135
+ $actions: [
136
+ {
137
+ can: [ProtocolAction.Create],
138
+ who: 'anyone',
139
+ }
140
+ ],
141
+ reply: {
142
+ $actions: [
143
+ {
144
+ can: [ProtocolAction.Create],
145
+ who: 'anyone',
146
+ }
147
+ ],
148
+ },
149
+ },
150
+ },
151
+ };
152
+ const hydratedDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, 'root-key-id', alice.encryptionKeyPair.privateJwk);
153
+ const messageRuleSet = hydratedDefinition.structure.message;
154
+ const replyRuleSet = messageRuleSet.reply;
155
+ expect(hydratedDefinition.$keyAgreement?.publicKeyJwk).toBeDefined();
156
+ expect(messageRuleSet.$keyAgreement?.publicKeyJwk).toBeDefined();
157
+ expect(replyRuleSet.$keyAgreement?.publicKeyJwk).toBeDefined();
158
+ validateJsonSchema('ProtocolDefinition', hydratedDefinition);
159
+ });
8
160
  it('should throw if unknown actor is encountered in action rule', async () => {
9
161
  const protocolDefinition = {
10
162
  protocol: 'email',
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/protocols/protocols-configure.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2D,MAAM,0CAA0C,CAAC;AAEnI,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE3E,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,kBAAkB,GAAuB;YAC7C,QAAQ,EAAI,OAAO;YACnB,SAAS,EAAG,IAAI;YAChB,KAAK,EAAO;gBACV,KAAK,EAAE;oBACL,MAAM,EAAQ,OAAO;oBACrB,WAAW,EAAG,CAAC,YAAY,CAAC;iBAC7B;aACF;YACD,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG,EAAG,SAAgB,EAAE,uDAAuD;4BAC/E,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,CAAC;yBAC9B;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,OAAO,GAA8B;YACzC,UAAU,EAAE;gBACV,SAAS,EAAU,gBAAgB,CAAC,SAAS;gBAC7C,MAAM,EAAa,aAAa,CAAC,SAAS;gBAC1C,gBAAgB,EAAG,6BAA6B;gBAChD,UAAU,EAAS,kBAAkB;aACtC;YACD,aAAa,EAAE,iBAAiB,CAAC,qBAAqB,EAAE;SACzD,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE;YACV,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,eAAe,GAAG;gBACtB,QAAQ,EAAE,CAAC;wBACT,GAAG,EAAG,QAAQ;wBACd,EAAE,EAAI,QAAQ;wBACd,0CAA0C;qBAC3C,CAAC;aACH,CAAC;YAEF,MAAM,eAAe,GAAG;gBACtB,QAAQ,EAAE,CAAC;wBACT,GAAG,EAAG,WAAW;wBACjB,EAAE,EAAI,QAAQ;wBACd,0CAA0C;qBAC3C,CAAC;aACH,CAAC;YAEF,KAAK,MAAM,OAAO,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,EAAE;oBACV,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/protocols/protocols-configure.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Message } from '../../../../src/core/message.js';
2
2
  import { TestDataGenerator } from '../../../utils/test-data-generator.js';
3
3
  import { describe, expect, it } from 'bun:test';
4
+ import { ENCRYPTION_CONTROL_AUDIENCE_PATH, ENCRYPTION_CONTROL_DELIVERY_PATH, ENCRYPTION_CONTROL_ROOT_PATH } from '../../../../src/core/constants.js';
4
5
  describe('RecordsWrite schema definition', () => {
5
6
  it('should allow descriptor with only required properties', async () => {
6
7
  const validMessage = {
@@ -145,7 +146,51 @@ describe('RecordsWrite schema definition', () => {
145
146
  };
146
147
  expect(() => {
147
148
  Message.validateJsonSchema(invalidMessage);
148
- }).toThrow('protocolPath: must match pattern "^[a-zA-Z]+(/[a-zA-Z]+)*$');
149
+ }).toThrow('protocolPath: must match pattern');
150
+ });
151
+ it('should allow exact reserved encryption control protocol paths', () => {
152
+ for (const protocolPath of [ENCRYPTION_CONTROL_AUDIENCE_PATH, ENCRYPTION_CONTROL_DELIVERY_PATH]) {
153
+ const message = {
154
+ recordId: 'anyRecordId',
155
+ contextId: 'someContext',
156
+ descriptor: {
157
+ interface: 'Records',
158
+ method: 'Write',
159
+ protocol: 'http://foo.bar',
160
+ protocolPath,
161
+ schema: 'http://foo.bar/schema',
162
+ dataCid: 'anyCid',
163
+ dataFormat: 'application/json',
164
+ dataSize: 123,
165
+ dateCreated: '2022-12-19T10:20:30.123456Z',
166
+ messageTimestamp: '2022-12-19T10:20:30.123456Z'
167
+ },
168
+ authorization: TestDataGenerator.generateAuthorization()
169
+ };
170
+ Message.validateJsonSchema(message);
171
+ }
172
+ });
173
+ it('should reject root-only and lookalike encryption control protocol paths', () => {
174
+ for (const protocolPath of [ENCRYPTION_CONTROL_ROOT_PATH, '$encryptionx/audience', '$encryption/audience/child']) {
175
+ const message = {
176
+ recordId: 'anyRecordId',
177
+ contextId: 'someContext',
178
+ descriptor: {
179
+ interface: 'Records',
180
+ method: 'Write',
181
+ protocol: 'http://foo.bar',
182
+ protocolPath,
183
+ schema: 'http://foo.bar/schema',
184
+ dataCid: 'anyCid',
185
+ dataFormat: 'application/json',
186
+ dataSize: 123,
187
+ dateCreated: '2022-12-19T10:20:30.123456Z',
188
+ messageTimestamp: '2022-12-19T10:20:30.123456Z'
189
+ },
190
+ authorization: TestDataGenerator.generateAuthorization()
191
+ };
192
+ expect(() => Message.validateJsonSchema(message)).toThrow('protocolPath: must match pattern');
193
+ }
149
194
  });
150
195
  it('should throw if `contextId` is malformed', () => {
151
196
  const validMessage = {
@@ -1 +1 @@
1
- {"version":3,"file":"records-write.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/records/records-write.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-write.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/records/records-write.spec.ts"],"names":[],"mappings":"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"}
@@ -42,12 +42,12 @@ export namespace AuthorizationOwner {
42
42
  }
43
43
  export { evaluated_2 as evaluated };
44
44
  }
45
- export function AudienceEpoch(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
45
+ export function Audience(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
46
46
  instancePath?: string | undefined;
47
47
  rootData?: any;
48
48
  dynamicAnchors?: {} | undefined;
49
49
  }): boolean;
50
- export namespace AudienceEpoch {
50
+ export namespace Audience {
51
51
  export namespace evaluated_3 {
52
52
  let props_3: boolean;
53
53
  export { props_3 as props };
@@ -58,12 +58,12 @@ export namespace AudienceEpoch {
58
58
  }
59
59
  export { evaluated_3 as evaluated };
60
60
  }
61
- export function AudienceKey(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
61
+ export function Delivery(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
62
62
  instancePath?: string | undefined;
63
63
  rootData?: any;
64
64
  dynamicAnchors?: {} | undefined;
65
65
  }): boolean;
66
- export namespace AudienceKey {
66
+ export namespace Delivery {
67
67
  export namespace evaluated_4 {
68
68
  let props_4: boolean;
69
69
  export { props_4 as props };
@@ -1 +1 @@
1
- {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAM0ga;;;;YAA2wD;;;;;;;;;;;;AANrlQ;;;;YAG55W;;;;;;;;;;;;AAGs5oB;;;;YAA+mN;;;;;;;;;;;;AAAswC;;;;YAAs63B;;;;;;;;;;;;AAAmhD;;;;YAAq8+B;;;;;;;;;;;;AAAwqoD;;;;YAA8kM;;;;;;;;;;;;AAAm5B;;;;YAA+lN;;;;;;;;;;;;AAAukD;;;;YAAovW;;;;;;;;;;;;AAAmwD;;;;YAAuxf;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAhg3K;;;;YAAkhE;;;;;;;;;;;;AAH0wP;;;;YAGt9T;;;;;;;;;;;;;;;;;;;AAAoj6K;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AAN7g7M;;;;YAAi1I;;;;;;;;;;;;AAM01zM;;;;YAAsnH;;;;;;;;;;;;AAAm2B;;;;YAA2hN;;;;;;;;;;;;AAAsoC;;;;YAA8ib;;;;;;;;;;;;AAA45B;;;;YAAs7O;;;;;;;;;;;;AAA6gC;;;;YAA21X;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAAwH;;;;YAAiyH;;;;;;;;;;;;AAAi+iC;;;;YAAg4f;;;;;;;;;;;;AAA0g8B;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA6lC;;;;YAA6nB;;;;;;;;;;AAA6kE;;;;YAA+nB;;;;;;;;;;AAAiwkC;;;;YAAq1X;;;;;;;;;;;;AAA53wC;;;;YAAu94B;;;;;;;;;;;;AAAk5Z;;;;YAAksM;;;;;;;;;;;;AAA2/B;;;;YAAovQ;;;;;;;;;;;;AAAgjC;;;;YAA8/N;;;;;;;;;;;;AAAxu0U;;;;YAAo2/C;;;;;;;;;;;;AAH362I;;;;YAAwivB;;;;;;;;;;AAG85+Y;;;;YAAg1I;;;;;;;;;;;;AAAmsB;;;;YAA6mJ;;;;;;;;;;;;AAA4H;;;;YAAkiK"}
1
+ {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAM4ma;;;;YAA2wD;;;;;;;;;;;;AAN30O;;;;YAGxwY;;;;;;;;;;;;AAGq+vB;;;;YAA4wQ;;;;;;;;;;;;AAA+7yB;;;;YAAmwO;;;;;;;;;;;;AAA0qzB;;;;YAAorV;;;;;;;;;;;;AAAwqoD;;;;YAA8kM;;;;;;;;;;;;AAAm5B;;;;YAA+lN;;;;;;;;;;;;AAAukD;;;;YAAovW;;;;;;;;;;;;AAAmwD;;;;YAAuxf;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAtivL;;;;YAAkhE;;;;;;;;;;;;AAHwqP;;;;YAGp3T;;;;;;;;;;;;;;;;;;;AAA0lyL;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AANrpzN;;;;YAAi1I;;;;;;;;;;;;AAMm+rN;;;;YAAunH;;;;;;;;;;;;AAAo2B;;;;YAA6hN;;;;;;;;;;;;AAAuoC;;;;YAAgjb;;;;;;;;;;;;AAA45B;;;;YAAs7O;;;;;;;;;;;;AAA6gC;;;;YAA21X;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAAwH;;;;YAAiyH;;;;;;;;;;;;AAAi+iC;;;;YAAg4f;;;;;;;;;;;;AAA0g8B;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA6lC;;;;YAA6nB;;;;;;;;;;AAA6kE;;;;YAA+nB;;;;;;;;;;AAA+xkC;;;;YAAquZ;;;;;;;;;;;;AAA5wyC;;;;YAAu94B;;;;;;;;;;;;AAAkyb;;;;YAAksM;;;;;;;;;;;;AAA4/B;;;;YAA0wQ;;;;;;;;;;;;AAAkjC;;;;YAAghO;;;;;;;;;;;;AAAzs2U;;;;YAAo2/C;;;;;;;;;;;;AAHnjvJ;;;;YAAwivB;;;;;;;;;;AAGyg5Z;;;;YAA81I;;;;;;;;;;;;AAAqsB;;;;YAA4nJ;;;;;;;;;;;;AAA8H;;;;YAAgjK"}
@@ -16,6 +16,45 @@ export declare const PERMISSIONS_PROTOCOL_URI = "https://identity.foundation/dwn
16
16
  * The DWN Encryption protocol URI.
17
17
  */
18
18
  export declare const ENCRYPTION_PROTOCOL_URI = "https://identity.foundation/dwn/protocols/encryption";
19
+ /**
20
+ * Reserved virtual protocol path root for source-protocol-native encryption
21
+ * control records.
22
+ */
23
+ export declare const ENCRYPTION_CONTROL_ROOT_PATH = "$encryption";
24
+ /**
25
+ * Reserved protocol path for role-audience public keys and owner seals.
26
+ */
27
+ export declare const ENCRYPTION_CONTROL_AUDIENCE_PATH = "$encryption/audience";
28
+ /**
29
+ * Reserved protocol path for role-audience key deliveries.
30
+ */
31
+ export declare const ENCRYPTION_CONTROL_DELIVERY_PATH = "$encryption/delivery";
32
+ /**
33
+ * Fixed JSON schema URI for source-protocol audience control records.
34
+ */
35
+ export declare const ENCRYPTION_CONTROL_AUDIENCE_SCHEMA_URI = "https://identity.foundation/dwn/json-schemas/encryption/audience.json";
36
+ /**
37
+ * Fixed JSON schema URI for source-protocol delivery control records.
38
+ */
39
+ export declare const ENCRYPTION_CONTROL_DELIVERY_SCHEMA_URI = "https://identity.foundation/dwn/json-schemas/encryption/delivery.json";
40
+ /**
41
+ * Reserved encryption control protocol paths.
42
+ */
43
+ export declare const ENCRYPTION_CONTROL_PATHS: readonly ["$encryption/audience", "$encryption/delivery"];
44
+ export type EncryptionControlPath = typeof ENCRYPTION_CONTROL_PATHS[number];
45
+ export declare enum EncryptionControlRecordType {
46
+ Audience = "audience",
47
+ Delivery = "delivery"
48
+ }
49
+ /**
50
+ * Returns true when the protocol path is one of the exact reserved encryption
51
+ * control paths.
52
+ */
53
+ export declare function isEncryptionControlPath(protocolPath: string | undefined): protocolPath is EncryptionControlPath;
54
+ /**
55
+ * Returns the encryption control record type for exact reserved paths.
56
+ */
57
+ export declare function getEncryptionControlRecordType(protocolPath: EncryptionControlPath): EncryptionControlRecordType;
19
58
  /**
20
59
  * Returns true for infrastructure protocols whose records are dependencies or
21
60
  * authorization metadata, not primary application records for projection roots.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,wBAAwB,gDAAgD,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,uBAAuB,yDAAyD,CAAC;AAO9F;;;GAGG;AACH,wBAAgB,0CAA0C,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhG"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,wBAAwB,gDAAgD,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,uBAAuB,yDAAyD,CAAC;AAE9F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,gBAAgB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,gCAAgC,yBAA6C,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,gCAAgC,yBAA6C,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,sCAAsC,0EAA0E,CAAC;AAE9H;;GAEG;AACH,eAAO,MAAM,sCAAsC,0EAA0E,CAAC;AAE9H;;GAEG;AACH,eAAO,MAAM,wBAAwB,2DAG3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAE5E,oBAAY,2BAA2B;IACrC,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,IAAI,qBAAqB,CAG/G;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,qBAAqB,GAAG,2BAA2B,CAM/G;AAOD;;;GAGG;AACH,wBAAgB,0CAA0C,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhG"}
@@ -16,21 +16,26 @@ export declare enum DwnErrorCode {
16
16
  ComputeCidCodecNotSupported = "ComputeCidCodecNotSupported",
17
17
  ComputeCidMultihashNotSupported = "ComputeCidMultihashNotSupported",
18
18
  Ed25519InvalidJwk = "Ed25519InvalidJwk",
19
- EncryptionProtocolValidateAudienceEpochEncrypted = "EncryptionProtocolValidateAudienceEpochEncrypted",
20
- EncryptionProtocolValidateAudienceEpochKeyIdMismatch = "EncryptionProtocolValidateAudienceEpochKeyIdMismatch",
21
- EncryptionProtocolValidateAudienceEpochMissing = "EncryptionProtocolValidateAudienceEpochMissing",
22
- EncryptionProtocolValidateAudienceKeyRecipientMissing = "EncryptionProtocolValidateAudienceKeyRecipientMissing",
23
- EncryptionProtocolValidateAudienceKeyRoleRecordMissing = "EncryptionProtocolValidateAudienceKeyRoleRecordMissing",
24
- EncryptionProtocolValidateAudienceMissingRequiredTag = "EncryptionProtocolValidateAudienceMissingRequiredTag",
25
- EncryptionProtocolValidateAudienceTagsMismatch = "EncryptionProtocolValidateAudienceTagsMismatch",
26
- EncryptionProtocolValidateAudienceWriterUnauthorized = "EncryptionProtocolValidateAudienceWriterUnauthorized",
19
+ EncryptionControlReadUnauthorized = "EncryptionControlReadUnauthorized",
20
+ EncryptionControlValidateAudienceContextIdInvalid = "EncryptionControlValidateAudienceContextIdInvalid",
21
+ EncryptionControlValidateAudienceKeyIdMismatch = "EncryptionControlValidateAudienceKeyIdMismatch",
22
+ EncryptionControlValidateAudienceMissingRequiredTag = "EncryptionControlValidateAudienceMissingRequiredTag",
23
+ EncryptionControlValidateAudienceRolePathInvalid = "EncryptionControlValidateAudienceRolePathInvalid",
24
+ EncryptionControlValidateAudienceSealKeyIdMismatch = "EncryptionControlValidateAudienceSealKeyIdMismatch",
25
+ EncryptionControlValidateAudienceTagsMismatch = "EncryptionControlValidateAudienceTagsMismatch",
26
+ EncryptionControlValidateAudienceWriterUnauthorized = "EncryptionControlValidateAudienceWriterUnauthorized",
27
+ EncryptionControlValidateDeliveryAudienceMissing = "EncryptionControlValidateDeliveryAudienceMissing",
28
+ EncryptionControlValidateDeliveryMissingRequiredTag = "EncryptionControlValidateDeliveryMissingRequiredTag",
29
+ EncryptionControlValidateDeliveryRecipientAuthorityInvalid = "EncryptionControlValidateDeliveryRecipientAuthorityInvalid",
30
+ EncryptionControlValidateDeliveryRecipientMissing = "EncryptionControlValidateDeliveryRecipientMissing",
31
+ EncryptionControlValidateDeliveryRecipientRoleRecordMissing = "EncryptionControlValidateDeliveryRecipientRoleRecordMissing",
32
+ EncryptionControlValidateDeliveryTagsMismatch = "EncryptionControlValidateDeliveryTagsMismatch",
33
+ EncryptionControlValidateUnexpectedRecord = "EncryptionControlValidateUnexpectedRecord",
27
34
  EncryptionProtocolValidateEncryptedDeliveryMissingEncryption = "EncryptionProtocolValidateEncryptedDeliveryMissingEncryption",
28
35
  EncryptionProtocolValidateGrantKeyAuthorMismatch = "EncryptionProtocolValidateGrantKeyAuthorMismatch",
29
36
  EncryptionProtocolValidateGrantKeyGrantScopeMismatch = "EncryptionProtocolValidateGrantKeyGrantScopeMismatch",
30
37
  EncryptionProtocolValidateGrantKeyMissingRequiredTag = "EncryptionProtocolValidateGrantKeyMissingRequiredTag",
31
38
  EncryptionProtocolValidateGrantKeyRecipientMismatch = "EncryptionProtocolValidateGrantKeyRecipientMismatch",
32
- EncryptionProtocolValidateRoleAudienceContextInvalid = "EncryptionProtocolValidateRoleAudienceContextInvalid",
33
- EncryptionProtocolValidateRoleAudienceInvalid = "EncryptionProtocolValidateRoleAudienceInvalid",
34
39
  EncryptionProtocolValidateSchemaUnexpectedRecord = "EncryptionProtocolValidateSchemaUnexpectedRecord",
35
40
  EventLogNotOpenError = "EventLogNotOpenError",
36
41
  EventLogProgressGap = "EventLogProgressGap",
@@ -38,7 +43,16 @@ export declare enum DwnErrorCode {
38
43
  MessagesGrantAuthorizationSubscribeProtocolMismatch = "MessagesGrantAuthorizationSubscribeProtocolMismatch",
39
44
  MessagesGrantAuthorizationUnfilteredSubscribeProtocolScope = "MessagesGrantAuthorizationUnfilteredSubscribeProtocolScope",
40
45
  MessagesSubscribeAuthorizationFailed = "MessagesSubscribeAuthorizationFailed",
46
+ /**
47
+ * Terminal subscription delivery error indicating the invoked grant no longer authorizes delivery.
48
+ * Subscribers should not resubscribe with the same grant.
49
+ */
41
50
  MessagesSubscribeDeliveryAuthorizationFailed = "MessagesSubscribeDeliveryAuthorizationFailed",
51
+ /**
52
+ * Terminal subscription delivery error for non-authorization delivery failures.
53
+ * Subscribers may resubscribe from their last cursor.
54
+ */
55
+ MessagesSubscribeDeliveryFailed = "MessagesSubscribeDeliveryFailed",
42
56
  MessagesSubscribeEventLogUnimplemented = "MessagesSubscribeEventLogUnimplemented",
43
57
  GeneralJwsVerifierGetPublicKeyNotFound = "GeneralJwsVerifierGetPublicKeyNotFound",
44
58
  GeneralJwsVerifierInvalidSignature = "GeneralJwsVerifierInvalidSignature",
@@ -116,7 +130,7 @@ export declare enum DwnErrorCode {
116
130
  ProtocolAuthorizationEncryptionKeyAgreementMissing = "ProtocolAuthorizationEncryptionKeyAgreementMissing",
117
131
  ProtocolAuthorizationEncryptionProtocolPathEntryMissing = "ProtocolAuthorizationEncryptionProtocolPathEntryMissing",
118
132
  ProtocolAuthorizationEncryptionRoleAudienceEntryMissing = "ProtocolAuthorizationEncryptionRoleAudienceEntryMissing",
119
- ProtocolAuthorizationEncryptionRoleAudienceEpochMissing = "ProtocolAuthorizationEncryptionRoleAudienceEpochMissing",
133
+ ProtocolAuthorizationEncryptionRoleAudienceMissing = "ProtocolAuthorizationEncryptionRoleAudienceMissing",
120
134
  ProtocolAuthorizationImmutableRecord = "ProtocolAuthorizationImmutableRecord",
121
135
  ProtocolAuthorizationInvalidSchema = "ProtocolAuthorizationInvalidSchema",
122
136
  ProtocolAuthorizationInvalidType = "ProtocolAuthorizationInvalidType",
@@ -159,6 +173,7 @@ export declare enum DwnErrorCode {
159
173
  ProtocolsConfigureInvalidCrossProtocolOf = "ProtocolsConfigureInvalidCrossProtocolOf",
160
174
  ProtocolsConfigureInvalidCrossProtocolRole = "ProtocolsConfigureInvalidCrossProtocolRole",
161
175
  ProtocolsConfigureInvalidEncryptedAnyoneRead = "ProtocolsConfigureInvalidEncryptedAnyoneRead",
176
+ ProtocolsConfigureInvalidEncryptedCrossProtocolRole = "ProtocolsConfigureInvalidEncryptedCrossProtocolRole",
162
177
  ProtocolsConfigureInvalidEncryptedRoleMissingKeyAgreement = "ProtocolsConfigureInvalidEncryptedRoleMissingKeyAgreement",
163
178
  ProtocolsConfigureMissingEncryptedPathKeyAgreement = "ProtocolsConfigureMissingEncryptedPathKeyAgreement",
164
179
  ProtocolsConfigureMissingTopLevelKeyAgreement = "ProtocolsConfigureMissingTopLevelKeyAgreement",
@@ -169,7 +184,9 @@ export declare enum DwnErrorCode {
169
184
  ProtocolsConfigureInvalidUsesProtocolUrl = "ProtocolsConfigureInvalidUsesProtocolUrl",
170
185
  ProtocolsConfigureInvalidUsesSelfReference = "ProtocolsConfigureInvalidUsesSelfReference",
171
186
  ProtocolsConfigureRecordNestingDepthExceeded = "ProtocolsConfigureRecordNestingDepthExceeded",
187
+ ProtocolsConfigureReservedEncryptionControlPath = "ProtocolsConfigureReservedEncryptionControlPath",
172
188
  ProtocolsConfigureRoleDoesNotExistAtGivenPath = "ProtocolsConfigureRoleDoesNotExistAtGivenPath",
189
+ ProtocolsConfigureRoleParentContextDepthExceeded = "ProtocolsConfigureRoleParentContextDepthExceeded",
173
190
  ProtocolsGrantAuthorizationQueryProtocolScopeMismatch = "ProtocolsGrantAuthorizationQueryProtocolScopeMismatch",
174
191
  ProtocolsGrantAuthorizationScopeProtocolMismatch = "ProtocolsGrantAuthorizationScopeProtocolMismatch",
175
192
  ProtocolsQueryUnauthorized = "ProtocolsQueryUnauthorized",
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-error.d.ts","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-error.d.ts","sourceRoot":"","sources":["../../../../src/core/dwn-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACb,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKlD;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,sBAAsB,2BAA2B;IACjD,iCAAiC,sCAAsC;IACvE,8CAA8C,mDAAmD;IACjG,+BAA+B,oCAAoC;IACnE,2BAA2B,gCAAgC;IAC3D,+BAA+B,oCAAoC;IACnE,iBAAiB,sBAAsB;IACvC,iCAAiC,sCAAsC;IACvE,iDAAiD,sDAAsD;IACvG,8CAA8C,mDAAmD;IACjG,mDAAmD,wDAAwD;IAC3G,gDAAgD,qDAAqD;IACrG,kDAAkD,uDAAuD;IACzG,6CAA6C,kDAAkD;IAC/F,mDAAmD,wDAAwD;IAC3G,gDAAgD,qDAAqD;IACrG,mDAAmD,wDAAwD;IAC3G,0DAA0D,+DAA+D;IACzH,iDAAiD,sDAAsD;IACvG,2DAA2D,gEAAgE;IAC3H,6CAA6C,kDAAkD;IAC/F,yCAAyC,8CAA8C;IACvF,4DAA4D,iEAAiE;IAC7H,gDAAgD,qDAAqD;IACrG,oDAAoD,yDAAyD;IAC7G,oDAAoD,yDAAyD;IAC7G,mDAAmD,wDAAwD;IAC3G,gDAAgD,qDAAqD;IACrG,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,4CAA4C,iDAAiD;IAC7F,mDAAmD,wDAAwD;IAC3G,0DAA0D,+DAA+D;IACzH,oCAAoC,yCAAyC;IAC7E;;;OAGG;IACH,4CAA4C,iDAAiD;IAC7F;;;OAGG;IACH,+BAA+B,oCAAoC;IACnE,sCAAsC,2CAA2C;IACjF,sCAAsC,2CAA2C;IACjF,kCAAkC,uCAAuC;IACzE,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,8BAA8B,mCAAmC;IACjE,8BAA8B,mCAAmC;IACjE,8BAA8B,mCAAmC;IACjE,mCAAmC,wCAAwC;IAC3E,gCAAgC,qCAAqC;IACrE,qCAAqC,0CAA0C;IAC/E,oCAAoC,yCAAyC;IAC7E,mCAAmC,wCAAwC;IAC3E,0BAA0B,+BAA+B;IACzD,gCAAgC,qCAAqC;IACrE,2BAA2B,gCAAgC;IAC3D,8BAA8B,mCAAmC;IACjE,gCAAgC,qCAAqC;IACrE,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;IACzE,iCAAiC,sCAAsC;IACvE,oCAAoC,yCAAyC;IAC7E,8BAA8B,mCAAmC;IACjE,uCAAuC,4CAA4C;IACnF,8CAA8C,mDAAmD;IACjG,kDAAkD,uDAAuD;IACzG,wCAAwC,6CAA6C;IACrF,+CAA+C,oDAAoD;IACnG,+CAA+C,oDAAoD;IACnG,kDAAkD,uDAAuD;IACzG,8BAA8B,mCAAmC;IACjE,qCAAqC,0CAA0C;IAC/E,iDAAiD,sDAAsD;IACvG,sBAAsB,2BAA2B;IACjD,gCAAgC,qCAAqC;IACrE,yCAAyC,8CAA8C;IACvF,+BAA+B,oCAAoC;IACnE,oBAAoB,yBAAyB;IAC7C,6BAA6B,kCAAkC;IAC/D,yBAAyB,8BAA8B;IACvD,6BAA6B,kCAAkC;IAC/D,gEAAgE,qEAAqE;IACrI,yDAAyD,8DAA8D;IACvH,yDAAyD,8DAA8D;IACvH,kEAAkE,uEAAuE;IACzI,2DAA2D,gEAAgE;IAC3H,2DAA2D,gEAAgE;IAC3H,0CAA0C,+CAA+C;IACzF,iDAAiD,sDAAsD;IACvG,6DAA6D,kEAAkE;IAC/H,2DAA2D,gEAAgE;IAC3H,gDAAgD,qDAAqD;IACrG,kDAAkD,uDAAuD;IACzG,wDAAwD,6DAA6D;IACrH,wCAAwC,6CAA6C;IACrF,sCAAsC,2CAA2C;IACjF,oCAAoC,yCAAyC;IAC7E,gCAAgC,qCAAqC;IACrE,sCAAsC,2CAA2C;IACjF,0CAA0C,+CAA+C;IACzF,wCAAwC,6CAA6C;IACrF,kCAAkC,uCAAuC;IACzE,uCAAuC,4CAA4C;IACnF,mCAAmC,wCAAwC;IAC3E,gCAAgC,qCAAqC;IACrE,qCAAqC,0CAA0C;IAC/E,wCAAwC,6CAA6C;IACrF,gDAAgD,qDAAqD;IACrG,wCAAwC,6CAA6C;IACrF,uCAAuC,4CAA4C;IACnF,0CAA0C,+CAA+C;IACzF,uDAAuD,4DAA4D;IACnH,2CAA2C,gDAAgD;IAC3F,uCAAuC,4CAA4C;IACnF,kDAAkD,uDAAuD;IACzG,uDAAuD,4DAA4D;IACnH,uDAAuD,4DAA4D;IACnH,kDAAkD,uDAAuD;IACzG,oCAAoC,yCAAyC;IAC7E,kCAAkC,uCAAuC;IACzE,gCAAgC,qCAAqC;IACrE,+CAA+C,oDAAoD;IACnG,mCAAmC,wCAAwC;IAC3E,mCAAmC,wCAAwC;IAC3E,sDAAsD,2DAA2D;IACjH,qCAAqC,0CAA0C;IAC/E,0CAA0C,+CAA+C;IACzF,mCAAmC,wCAAwC;IAC3E,uDAAuD,4DAA4D;IACnH,0DAA0D,+DAA+D;IACzH,2DAA2D,gEAAgE;IAC3H,qCAAqC,0CAA0C;IAC/E,mCAAmC,wCAAwC;IAC3E,yCAAyC,8CAA8C;IACvF,oDAAoD,yDAAyD;IAC7G,6BAA6B,kCAAkC;IAC/D,0DAA0D,+DAA+D;IACzH,qCAAqC,0CAA0C;IAC/E,yCAAyC,8CAA8C;IACvF,sCAAsC,2CAA2C;IACjF,qCAAqC,0CAA0C;IAC/E,8CAA8C,mDAAmD;IACjG,yCAAyC,8CAA8C;IACvF,wCAAwC,6CAA6C;IACrF,iCAAiC,sCAAsC;IACvE,6CAA6C,kDAAkD;IAC/F,qCAAqC,0CAA0C;IAC/E,wCAAwC,6CAA6C;IACrF,4CAA4C,iDAAiD;IAC7F,oCAAoC,yCAAyC;IAC7E,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,8CAA8C,mDAAmD;IACjG,2CAA2C,gDAAgD;IAC3F,kDAAkD,uDAAuD;IACzG,iDAAiD,sDAAsD;IACvG,kDAAkD,uDAAuD;IACzG,wCAAwC,6CAA6C;IACrF,0CAA0C,+CAA+C;IACzF,4CAA4C,iDAAiD;IAC7F,mDAAmD,wDAAwD;IAC3G,yDAAyD,8DAA8D;IACvH,kDAAkD,uDAAuD;IACzG,6CAA6C,kDAAkD;IAC/F,0CAA0C,+CAA+C;IACzF,0CAA0C,+CAA+C;IACzF,kCAAkC,uCAAuC;IACzE,kCAAkC,uCAAuC;IACzE,wCAAwC,6CAA6C;IACrF,0CAA0C,+CAA+C;IACzF,4CAA4C,iDAAiD;IAC7F,+CAA+C,oDAAoD;IACnG,6CAA6C,kDAAkD;IAC/F,gDAAgD,qDAAqD;IACrG,qDAAqD,0DAA0D;IAC/G,gDAAgD,qDAAqD;IACrG,0BAA0B,+BAA+B;IACzD,iDAAiD,sDAAsD;IACvG,sCAAsC,2CAA2C;IACjF,6DAA6D,kEAAkE;IAC/H,6CAA6C,kDAAkD;IAC/F,yCAAyC,8CAA8C;IACvF,4CAA4C,iDAAiD;IAC7F,2CAA2C,gDAAgD;IAC3F,8CAA8C,mDAAmD;IAEjG,4CAA4C,iDAAiD;IAC7F,2CAA2C,gDAAgD;IAC3F,uDAAuD,4DAA4D;IACnH,qDAAqD,0DAA0D;IAC/G,oDAAoD,yDAAyD;IAC7G,8DAA8D,mEAAmE;IACjI,+CAA+C,oDAAoD;IACnG,sCAAsC,2CAA2C;IACjF,8CAA8C,mDAAmD;IACjG,kDAAkD,uDAAuD;IACzG,uCAAuC,4CAA4C;IACnF,0CAA0C,+CAA+C;IACzF,gDAAgD,qDAAqD;IACrG,qCAAqC,0CAA0C;IAC/E,4DAA4D,iEAAiE;IAC7H,4CAA4C,iDAAiD;IAE7F,2CAA2C,gDAAgD;IAC3F,8CAA8C,mDAAmD;IAEjG,2CAA2C,gDAAgD;IAC3F,0CAA0C,+CAA+C;IACzF,qCAAqC,0CAA0C;IAC/E,+CAA+C,oDAAoD;IACnG,kDAAkD,uDAAuD;IAEzG,oDAAoD,yDAAyD;IAC7G,qDAAqD,0DAA0D;IAC/G,sDAAsD,2DAA2D;IAEjH,+BAA+B,oCAAoC;IACnE,iDAAiD,sDAAsD;IACvG,qDAAqD,0DAA0D;IAC/G,+DAA+D,oEAAoE;IACnI,iCAAiC,sCAAsC;IACvE,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,qCAAqC,0CAA0C;IAC/E,wCAAwC,6CAA6C;IACrF,mCAAmC,wCAAwC;IAC3E,oCAAoC,yCAAyC;IAC7E,yBAAyB,8BAA8B;IACvD,iCAAiC,sCAAsC;IACvE,wCAAwC,6CAA6C;IAErF,iCAAiC,sCAAsC;IACvE,kCAAkC,uCAAuC;IACzE,4CAA4C,iDAAiD;IAC7F,oCAAoC,yCAAyC;IAC7E,gDAAgD,qDAAqD;IACrG,8CAA8C,mDAAmD;IACjG,iEAAiE,sEAAsE;IACvI,gDAAgD,qDAAqD;IACrG,iDAAiD,sDAAsD;IACvG,kDAAkD,uDAAuD;IACzG,gEAAgE,qEAAqE;IACrI,kEAAkE,uEAAuE;IACzI,iDAAiD,sDAAsD;IACvG,2CAA2C,gDAAgD;IAC3F,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAC/D,4CAA4C,iDAAiD;IAC7F,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,+BAA+B,oCAAoC;CACpE"}