@enbox/dwn-sdk-js 0.3.6 → 0.3.8

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 (234) 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 +2591 -1435
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +20 -0
  6. package/dist/esm/src/core/constants.js.map +1 -1
  7. package/dist/esm/src/core/dwn-error.js +24 -1
  8. package/dist/esm/src/core/dwn-error.js.map +1 -1
  9. package/dist/esm/src/core/grant-authorization.js +4 -4
  10. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  11. package/dist/esm/src/core/message.js +89 -4
  12. package/dist/esm/src/core/message.js.map +1 -1
  13. package/dist/esm/src/core/messages-grant-authorization.js +147 -55
  14. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  15. package/dist/esm/src/core/protocol-authorization.js +76 -0
  16. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  17. package/dist/esm/src/core/records-grant-authorization.js +40 -15
  18. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  19. package/dist/esm/src/handlers/messages-read.js +5 -5
  20. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  21. package/dist/esm/src/handlers/messages-subscribe.js +109 -7
  22. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  23. package/dist/esm/src/handlers/messages-sync.js +341 -96
  24. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  25. package/dist/esm/src/handlers/protocols-configure.js +81 -2
  26. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  27. package/dist/esm/src/handlers/records-count.js +30 -0
  28. package/dist/esm/src/handlers/records-count.js.map +1 -1
  29. package/dist/esm/src/handlers/records-delete.js +3 -2
  30. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  31. package/dist/esm/src/handlers/records-query.js +30 -0
  32. package/dist/esm/src/handlers/records-query.js.map +1 -1
  33. package/dist/esm/src/handlers/records-read.js +3 -2
  34. package/dist/esm/src/handlers/records-read.js.map +1 -1
  35. package/dist/esm/src/handlers/records-subscribe.js +31 -0
  36. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  37. package/dist/esm/src/handlers/records-write.js +36 -11
  38. package/dist/esm/src/handlers/records-write.js.map +1 -1
  39. package/dist/esm/src/index.js +2 -0
  40. package/dist/esm/src/index.js.map +1 -1
  41. package/dist/esm/src/interfaces/messages-read.js +6 -3
  42. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  43. package/dist/esm/src/interfaces/messages-subscribe.js +6 -3
  44. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  45. package/dist/esm/src/interfaces/messages-sync.js +17 -3
  46. package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
  47. package/dist/esm/src/interfaces/protocols-configure.js +5 -2
  48. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  49. package/dist/esm/src/interfaces/protocols-query.js +8 -4
  50. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  51. package/dist/esm/src/interfaces/records-count.js +5 -0
  52. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  53. package/dist/esm/src/interfaces/records-delete.js +6 -2
  54. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  55. package/dist/esm/src/interfaces/records-query.js +5 -0
  56. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  57. package/dist/esm/src/interfaces/records-read.js +6 -3
  58. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  59. package/dist/esm/src/interfaces/records-subscribe.js +5 -0
  60. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  61. package/dist/esm/src/interfaces/records-write.js +6 -3
  62. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  63. package/dist/esm/src/protocols/permissions.js +28 -7
  64. package/dist/esm/src/protocols/permissions.js.map +1 -1
  65. package/dist/esm/src/sync/records-projection.js +228 -0
  66. package/dist/esm/src/sync/records-projection.js.map +1 -0
  67. package/dist/esm/src/types/message-types.js.map +1 -1
  68. package/dist/esm/src/types/permission-types.js.map +1 -1
  69. package/dist/esm/src/utils/permission-scope.js +37 -0
  70. package/dist/esm/src/utils/permission-scope.js.map +1 -0
  71. package/dist/esm/tests/core/grant-authorization.spec.js +26 -3
  72. package/dist/esm/tests/core/grant-authorization.spec.js.map +1 -1
  73. package/dist/esm/tests/core/records-grant-authorization.spec.js +117 -0
  74. package/dist/esm/tests/core/records-grant-authorization.spec.js.map +1 -0
  75. package/dist/esm/tests/features/permissions.spec.js +126 -0
  76. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  77. package/dist/esm/tests/handlers/messages-read.spec.js +345 -12
  78. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  79. package/dist/esm/tests/handlers/messages-subscribe.spec.js +326 -9
  80. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  81. package/dist/esm/tests/handlers/messages-sync.spec.js +1053 -7
  82. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  83. package/dist/esm/tests/handlers/protocols-configure.spec.js +361 -0
  84. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  85. package/dist/esm/tests/handlers/records-count.spec.js +75 -2
  86. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  87. package/dist/esm/tests/handlers/records-query.spec.js +73 -0
  88. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  89. package/dist/esm/tests/handlers/records-subscribe.spec.js +75 -1
  90. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  91. package/dist/esm/tests/handlers/records-write.spec.js +15 -0
  92. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  93. package/dist/esm/tests/interfaces/messages-get.spec.js +107 -5
  94. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  95. package/dist/esm/tests/interfaces/protocols-configure.spec.js +13 -0
  96. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  97. package/dist/esm/tests/interfaces/records-delete.spec.js +12 -0
  98. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  99. package/dist/esm/tests/interfaces/records-query.spec.js +10 -0
  100. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  101. package/dist/esm/tests/interfaces/records-subscribe.spec.js +10 -0
  102. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  103. package/dist/esm/tests/interfaces/records-write.spec.js +33 -0
  104. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  105. package/dist/esm/tests/sync/records-projection.spec.js +245 -0
  106. package/dist/esm/tests/sync/records-projection.spec.js.map +1 -0
  107. package/dist/esm/tests/test-suite.js +2 -0
  108. package/dist/esm/tests/test-suite.js.map +1 -1
  109. package/dist/esm/tests/utils/permission-scope.spec.js +66 -0
  110. package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -0
  111. package/dist/esm/tests/utils/test-data-generator.js +5 -2
  112. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  113. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  114. package/dist/types/src/core/constants.d.ts +13 -0
  115. package/dist/types/src/core/constants.d.ts.map +1 -1
  116. package/dist/types/src/core/dwn-error.d.ts +24 -1
  117. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  118. package/dist/types/src/core/grant-authorization.d.ts +1 -2
  119. package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
  120. package/dist/types/src/core/message.d.ts +41 -1
  121. package/dist/types/src/core/message.d.ts.map +1 -1
  122. package/dist/types/src/core/messages-grant-authorization.d.ts +36 -4
  123. package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
  124. package/dist/types/src/core/protocol-authorization.d.ts +12 -0
  125. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  126. package/dist/types/src/core/records-grant-authorization.d.ts +6 -0
  127. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  128. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  129. package/dist/types/src/handlers/messages-subscribe.d.ts +2 -1
  130. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  131. package/dist/types/src/handlers/messages-sync.d.ts +31 -0
  132. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
  133. package/dist/types/src/handlers/protocols-configure.d.ts +3 -0
  134. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  135. package/dist/types/src/handlers/records-count.d.ts +4 -0
  136. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  137. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  138. package/dist/types/src/handlers/records-query.d.ts +4 -0
  139. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  140. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  141. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  142. package/dist/types/src/handlers/records-write.d.ts +1 -0
  143. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  144. package/dist/types/src/index.d.ts +6 -2
  145. package/dist/types/src/index.d.ts.map +1 -1
  146. package/dist/types/src/interfaces/messages-read.d.ts +1 -1
  147. package/dist/types/src/interfaces/messages-read.d.ts.map +1 -1
  148. package/dist/types/src/interfaces/messages-subscribe.d.ts +1 -1
  149. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  150. package/dist/types/src/interfaces/messages-sync.d.ts +4 -1
  151. package/dist/types/src/interfaces/messages-sync.d.ts.map +1 -1
  152. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  153. package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -1
  154. package/dist/types/src/interfaces/records-count.d.ts +1 -0
  155. package/dist/types/src/interfaces/records-count.d.ts.map +1 -1
  156. package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
  157. package/dist/types/src/interfaces/records-query.d.ts +1 -0
  158. package/dist/types/src/interfaces/records-query.d.ts.map +1 -1
  159. package/dist/types/src/interfaces/records-read.d.ts.map +1 -1
  160. package/dist/types/src/interfaces/records-subscribe.d.ts +1 -0
  161. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  162. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  163. package/dist/types/src/protocols/permissions.d.ts +2 -0
  164. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  165. package/dist/types/src/sync/records-projection.d.ts +98 -0
  166. package/dist/types/src/sync/records-projection.d.ts.map +1 -0
  167. package/dist/types/src/types/message-types.d.ts +1 -0
  168. package/dist/types/src/types/message-types.d.ts.map +1 -1
  169. package/dist/types/src/types/messages-types.d.ts +21 -3
  170. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  171. package/dist/types/src/types/permission-types.d.ts +4 -0
  172. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  173. package/dist/types/src/types/records-types.d.ts +4 -0
  174. package/dist/types/src/types/records-types.d.ts.map +1 -1
  175. package/dist/types/src/types/subscriptions.d.ts +18 -3
  176. package/dist/types/src/types/subscriptions.d.ts.map +1 -1
  177. package/dist/types/src/utils/permission-scope.d.ts +29 -0
  178. package/dist/types/src/utils/permission-scope.d.ts.map +1 -0
  179. package/dist/types/tests/core/records-grant-authorization.spec.d.ts +2 -0
  180. package/dist/types/tests/core/records-grant-authorization.spec.d.ts.map +1 -0
  181. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  182. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  183. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  184. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
  185. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
  186. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  187. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  188. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  189. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  190. package/dist/types/tests/sync/records-projection.spec.d.ts +2 -0
  191. package/dist/types/tests/sync/records-projection.spec.d.ts.map +1 -0
  192. package/dist/types/tests/test-suite.d.ts.map +1 -1
  193. package/dist/types/tests/utils/permission-scope.spec.d.ts +2 -0
  194. package/dist/types/tests/utils/permission-scope.spec.d.ts.map +1 -0
  195. package/dist/types/tests/utils/test-data-generator.d.ts +5 -2
  196. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  197. package/package.json +1 -1
  198. package/src/core/constants.ts +24 -0
  199. package/src/core/dwn-error.ts +24 -1
  200. package/src/core/grant-authorization.ts +7 -5
  201. package/src/core/message.ts +153 -6
  202. package/src/core/messages-grant-authorization.ts +282 -70
  203. package/src/core/protocol-authorization.ts +130 -0
  204. package/src/core/records-grant-authorization.ts +64 -21
  205. package/src/handlers/messages-read.ts +7 -5
  206. package/src/handlers/messages-subscribe.ts +149 -9
  207. package/src/handlers/messages-sync.ts +593 -102
  208. package/src/handlers/protocols-configure.ts +103 -2
  209. package/src/handlers/records-count.ts +33 -0
  210. package/src/handlers/records-delete.ts +3 -2
  211. package/src/handlers/records-query.ts +33 -0
  212. package/src/handlers/records-read.ts +3 -2
  213. package/src/handlers/records-subscribe.ts +34 -0
  214. package/src/handlers/records-write.ts +62 -11
  215. package/src/index.ts +7 -3
  216. package/src/interfaces/messages-read.ts +8 -5
  217. package/src/interfaces/messages-subscribe.ts +12 -9
  218. package/src/interfaces/messages-sync.ts +33 -12
  219. package/src/interfaces/protocols-configure.ts +8 -4
  220. package/src/interfaces/protocols-query.ts +13 -9
  221. package/src/interfaces/records-count.ts +7 -0
  222. package/src/interfaces/records-delete.ts +9 -5
  223. package/src/interfaces/records-query.ts +7 -0
  224. package/src/interfaces/records-read.ts +6 -3
  225. package/src/interfaces/records-subscribe.ts +7 -0
  226. package/src/interfaces/records-write.ts +25 -17
  227. package/src/protocols/permissions.ts +47 -9
  228. package/src/sync/records-projection.ts +328 -0
  229. package/src/types/message-types.ts +1 -0
  230. package/src/types/messages-types.ts +23 -3
  231. package/src/types/permission-types.ts +5 -1
  232. package/src/types/records-types.ts +5 -1
  233. package/src/types/subscriptions.ts +19 -3
  234. package/src/utils/permission-scope.ts +55 -0
@@ -1 +1 @@
1
- {"version":3,"file":"grant-authorization.spec.js","sourceRoot":"","sources":["../../../../tests/core/grant-authorization.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,iEAAiE;YACjE,sCAAsC;YACtC,MAAM,SAAS,GAAG;gBAChB,EAAE,EAAY,iBAAiB;gBAC/B,OAAO,EAAO,qBAAqB;gBACnC,OAAO,EAAO,qBAAqB;gBACnC,WAAW,EAAG,0BAA0B;gBACxC,WAAW,EAAG,0BAA0B;gBACxC,KAAK,EAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE;aAC3F,CAAC;YAEF,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE;oBACV,SAAS,EAAU,UAAU;oBAC7B,MAAM,EAAa,MAAM;oBACzB,gBAAgB,EAAG,0BAA0B;iBAC9C;aACF,CAAC;YAEF,kDAAkD;YAClD,MAAM,gBAAgB,GAAG;gBACvB,KAAK,EAAE,KAAK,IAAkB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;aACpD,CAAC;YAEF,MAAM,MAAM,CACV,kBAAkB,CAAC,qBAAqB,CAAC;gBACvC,eAAe,EAAG,WAAkB;gBACpC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,SAAgB;gBAClC,YAAY,EAAM,gBAAuB;aAC1C,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"grant-authorization.spec.js","sourceRoot":"","sources":["../../../../tests/core/grant-authorization.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,MAAM,gBAAgB,GAAG;YACvB,KAAK,EAAE,KAAK,IAAkB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACpD,CAAC;QAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,iEAAiE;YACjE,sCAAsC;YACtC,MAAM,SAAS,GAAG;gBAChB,EAAE,EAAY,iBAAiB;gBAC/B,OAAO,EAAO,qBAAqB;gBACnC,OAAO,EAAO,qBAAqB;gBACnC,WAAW,EAAG,0BAA0B;gBACxC,WAAW,EAAG,0BAA0B;gBACxC,KAAK,EAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE;aAC3F,CAAC;YAEF,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE;oBACV,SAAS,EAAU,UAAU;oBAC7B,MAAM,EAAa,MAAM;oBACzB,gBAAgB,EAAG,0BAA0B;iBAC9C;aACF,CAAC;YAEF,MAAM,MAAM,CACV,kBAAkB,CAAC,qBAAqB,CAAC;gBACvC,eAAe,EAAG,WAAkB;gBACpC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,SAAgB;gBAClC,YAAY,EAAM,gBAAuB;aAC1C,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,SAAS,GAAG;gBAChB,EAAE,EAAY,oBAAoB;gBAClC,OAAO,EAAO,qBAAqB;gBACnC,OAAO,EAAO,qBAAqB;gBACnC,WAAW,EAAG,0BAA0B;gBACxC,WAAW,EAAG,0BAA0B;gBACxC,KAAK,EAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE;aAC1F,CAAC;YAEF,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE;oBACV,SAAS,EAAU,SAAS;oBAC5B,MAAM,EAAa,OAAO;oBAC1B,gBAAgB,EAAG,0BAA0B;iBAC9C;aACF,CAAC;YAEF,MAAM,MAAM,CACV,kBAAkB,CAAC,qBAAqB,CAAC;gBACvC,eAAe,EAAG,WAAkB;gBACpC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,qBAAqB;gBACvC,eAAe,EAAG,SAAgB;gBAClC,YAAY,EAAM,gBAAuB;aAC1C,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { DwnErrorCode } from '../../src/core/dwn-error.js';
3
+ import { RecordsGrantAuthorization } from '../../src/core/records-grant-authorization.js';
4
+ import { DwnInterfaceName, DwnMethodName } from '../../src/enums/dwn-interface-method.js';
5
+ describe('RecordsGrantAuthorization', () => {
6
+ const grantor = 'did:example:alice';
7
+ const grantee = 'did:example:bob';
8
+ const protocol = 'https://example.com/protocol';
9
+ const timestamp = '2026-05-31T00:00:00.000000Z';
10
+ const messageStore = {
11
+ query: async () => ({ messages: [] }),
12
+ };
13
+ function makeRecordsWrite(contextId) {
14
+ const contextIdSegments = contextId.split('/');
15
+ return {
16
+ recordId: contextIdSegments[contextIdSegments.length - 1] ?? contextId,
17
+ contextId,
18
+ descriptor: {
19
+ interface: DwnInterfaceName.Records,
20
+ method: DwnMethodName.Write,
21
+ protocol: 'https://example.com/protocol',
22
+ protocolPath: 'thread/message',
23
+ dataFormat: 'application/json',
24
+ dataCid: 'bafybeigdyrztj3md',
25
+ dataSize: 2,
26
+ dateCreated: '2026-01-01T00:00:00.000000Z',
27
+ messageTimestamp: '2026-01-01T00:00:00.000000Z',
28
+ },
29
+ };
30
+ }
31
+ function makePermissionGrant(method, scope) {
32
+ return {
33
+ id: 'grant-record-id',
34
+ grantor,
35
+ grantee,
36
+ dateGranted: '2026-01-01T00:00:00.000000Z',
37
+ dateExpires: '2027-01-01T00:00:00.000000Z',
38
+ scope: {
39
+ interface: DwnInterfaceName.Records,
40
+ method,
41
+ ...scope,
42
+ },
43
+ };
44
+ }
45
+ function makeIncomingMessage(method, filter) {
46
+ return {
47
+ descriptor: {
48
+ interface: DwnInterfaceName.Records,
49
+ method,
50
+ messageTimestamp: timestamp,
51
+ filter,
52
+ },
53
+ };
54
+ }
55
+ async function expectQueryOrSubscribeScopeMismatch(method, grantScope, filter) {
56
+ await expect(RecordsGrantAuthorization.authorizeQueryOrSubscribe({
57
+ incomingMessage: makeIncomingMessage(method, filter),
58
+ expectedGrantor: grantor,
59
+ expectedGrantee: grantee,
60
+ permissionGrant: makePermissionGrant(method, grantScope),
61
+ messageStore,
62
+ })).rejects.toThrow(DwnErrorCode.RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch);
63
+ }
64
+ it('matches contextId scopes by context subtree', () => {
65
+ const scope = {
66
+ interface: DwnInterfaceName.Records,
67
+ method: DwnMethodName.Read,
68
+ protocol: 'https://example.com/protocol',
69
+ contextId: 'root',
70
+ };
71
+ expect(() => {
72
+ RecordsGrantAuthorization.verifyScope(makeRecordsWrite('root'), scope);
73
+ }).not.toThrow();
74
+ expect(() => {
75
+ RecordsGrantAuthorization.verifyScope(makeRecordsWrite('root/child'), scope);
76
+ }).not.toThrow();
77
+ expect(() => {
78
+ RecordsGrantAuthorization.verifyScope(makeRecordsWrite('rootEVIL'), scope);
79
+ }).toThrow(DwnErrorCode.RecordsGrantAuthorizationScopeContextIdMismatch);
80
+ });
81
+ describe('authorizeQueryOrSubscribe()', () => {
82
+ it('rejects a broad query with a protocolPath-scoped grant', async () => {
83
+ await expectQueryOrSubscribeScopeMismatch(DwnMethodName.Query, { protocol, protocolPath: 'thread/message' }, { protocol });
84
+ });
85
+ it('allows a matching protocolPath-scoped query', async () => {
86
+ await expect(RecordsGrantAuthorization.authorizeQueryOrSubscribe({
87
+ incomingMessage: makeIncomingMessage(DwnMethodName.Query, {
88
+ protocol,
89
+ protocolPath: 'thread/message',
90
+ }),
91
+ expectedGrantor: grantor,
92
+ expectedGrantee: grantee,
93
+ permissionGrant: makePermissionGrant(DwnMethodName.Query, {
94
+ protocol,
95
+ protocolPath: 'thread/message',
96
+ }),
97
+ messageStore,
98
+ })).resolves.toBeUndefined();
99
+ });
100
+ it('rejects sibling protocolPath and contextId filters', async () => {
101
+ await expectQueryOrSubscribeScopeMismatch(DwnMethodName.Query, { protocol, protocolPath: 'thread/message' }, { protocol, protocolPath: 'thread/reaction' });
102
+ await expectQueryOrSubscribeScopeMismatch(DwnMethodName.Subscribe, { protocol, contextId: 'root' }, { protocol, contextId: 'rootEVIL' });
103
+ });
104
+ it('allows protocol-scoped query and count filters', async () => {
105
+ for (const method of [DwnMethodName.Query, DwnMethodName.Count]) {
106
+ await expect(RecordsGrantAuthorization.authorizeQueryOrSubscribe({
107
+ incomingMessage: makeIncomingMessage(method, { protocol }),
108
+ expectedGrantor: grantor,
109
+ expectedGrantee: grantee,
110
+ permissionGrant: makePermissionGrant(method, { protocol }),
111
+ messageStore,
112
+ })).resolves.toBeUndefined();
113
+ }
114
+ });
115
+ });
116
+ });
117
+ //# sourceMappingURL=records-grant-authorization.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records-grant-authorization.spec.js","sourceRoot":"","sources":["../../../../tests/core/records-grant-authorization.spec.ts"],"names":[],"mappings":"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"}
@@ -299,6 +299,56 @@ export function testPermissions() {
299
299
  });
300
300
  await expect(grantWrite).rejects.toThrow(DwnErrorCode.PermissionsProtocolCreateGrantRecordsScopeMissingProtocol);
301
301
  });
302
+ it('should fail if a subtree permission scope is created without a protocol', async () => {
303
+ const alice = await TestDataGenerator.generateDidKeyPersona();
304
+ const bob = await TestDataGenerator.generateDidKeyPersona();
305
+ const permissionScope = {
306
+ interface: DwnInterfaceName.Messages,
307
+ method: DwnMethodName.Read,
308
+ protocolPath: 'post'
309
+ };
310
+ const requestWrite = PermissionsProtocol.createRequest({
311
+ signer: Jws.createSigner(bob),
312
+ description: `Requesting to read Alice's DWN`,
313
+ delegated: false,
314
+ scope: permissionScope
315
+ });
316
+ await expect(requestWrite).rejects.toThrow(DwnErrorCode.PermissionsProtocolCreateRequestSubtreeScopeMissingProtocol);
317
+ const grantWrite = PermissionsProtocol.createGrant({
318
+ signer: Jws.createSigner(alice),
319
+ dateExpires: Time.createOffsetTimestamp({ seconds: 100 }),
320
+ description: 'Allow Bob to read',
321
+ grantedTo: bob.did,
322
+ scope: permissionScope
323
+ });
324
+ await expect(grantWrite).rejects.toThrow(DwnErrorCode.PermissionsProtocolCreateGrantSubtreeScopeMissingProtocol);
325
+ });
326
+ it('should fail if a permission scope is created with both protocolPath and contextId', async () => {
327
+ const alice = await TestDataGenerator.generateDidKeyPersona();
328
+ const bob = await TestDataGenerator.generateDidKeyPersona();
329
+ const permissionScope = {
330
+ interface: DwnInterfaceName.Messages,
331
+ method: DwnMethodName.Read,
332
+ protocol: 'https://example.com/protocol/test',
333
+ protocolPath: 'post',
334
+ contextId: 'root'
335
+ };
336
+ const requestWrite = PermissionsProtocol.createRequest({
337
+ signer: Jws.createSigner(bob),
338
+ description: `Requesting to read Alice's DWN`,
339
+ delegated: false,
340
+ scope: permissionScope
341
+ });
342
+ await expect(requestWrite).rejects.toThrow(DwnErrorCode.PermissionsProtocolCreateRequestScopeContextIdProtocolPathConflict);
343
+ const grantWrite = PermissionsProtocol.createGrant({
344
+ signer: Jws.createSigner(alice),
345
+ dateExpires: Time.createOffsetTimestamp({ seconds: 100 }),
346
+ description: 'Allow Bob to read',
347
+ grantedTo: bob.did,
348
+ scope: permissionScope
349
+ });
350
+ await expect(grantWrite).rejects.toThrow(DwnErrorCode.PermissionsProtocolCreateGrantScopeContextIdProtocolPathConflict);
351
+ });
302
352
  it('should fail if an invalid protocolPath is used during Permissions schema validation', async () => {
303
353
  const alice = await TestDataGenerator.generateDidKeyPersona();
304
354
  const { message, dataBytes } = await TestDataGenerator.generateRecordsWrite({
@@ -309,6 +359,25 @@ export function testPermissions() {
309
359
  });
310
360
  expect(() => PermissionsProtocol.validateSchema(message, dataBytes)).toThrow(DwnErrorCode.PermissionsProtocolValidateSchemaUnexpectedRecord);
311
361
  });
362
+ it('should fail if a permission scope protocolPath exceeds the maximum length', async () => {
363
+ const alice = await TestDataGenerator.generateDidKeyPersona();
364
+ const bob = await TestDataGenerator.generateDidKeyPersona();
365
+ const grant = await PermissionsProtocol.createGrant({
366
+ signer: Jws.createSigner(alice),
367
+ grantedTo: bob.did,
368
+ dateExpires: Time.createOffsetTimestamp({ seconds: 100 }),
369
+ scope: {
370
+ interface: DwnInterfaceName.Messages,
371
+ method: DwnMethodName.Read,
372
+ protocol: 'https://example.com/protocol/test',
373
+ protocolPath: 'a'.repeat(601)
374
+ }
375
+ });
376
+ const reply = await dwn.processMessage(alice.did, grant.recordsWrite.message, {
377
+ dataStream: DataStream.fromBytes(grant.permissionGrantBytes)
378
+ });
379
+ expect(reply.status.code).toBe(400);
380
+ });
312
381
  it('performs additional validation to the tagged protocol in a Revocation message ensuring it matches the Grant it is revoking', async () => {
313
382
  // scenario:
314
383
  // Alice creates a grant scoped to a protocol.
@@ -424,6 +493,40 @@ export function testPermissions() {
424
493
  });
425
494
  expect(messagesSubscribePermissionsReply.status.code).toBe(202);
426
495
  });
496
+ it('MessagesRead with protocolPath and contextId scopes', async () => {
497
+ const alice = await TestDataGenerator.generateDidKeyPersona();
498
+ const bob = await TestDataGenerator.generateDidKeyPersona();
499
+ const withProtocolPath = await PermissionsProtocol.createGrant({
500
+ signer: Jws.createSigner(alice),
501
+ grantedTo: bob.did,
502
+ dateExpires: Time.createOffsetTimestamp({ seconds: 100 }),
503
+ scope: {
504
+ interface: DwnInterfaceName.Messages,
505
+ method: DwnMethodName.Read,
506
+ protocol: 'https://example.com/protocol/test',
507
+ protocolPath: 'foo/bar'
508
+ }
509
+ });
510
+ const withProtocolPathReply = await dwn.processMessage(alice.did, withProtocolPath.recordsWrite.message, {
511
+ dataStream: DataStream.fromBytes(withProtocolPath.permissionGrantBytes)
512
+ });
513
+ expect(withProtocolPathReply.status.code).toBe(202);
514
+ const withContextId = await PermissionsProtocol.createGrant({
515
+ signer: Jws.createSigner(alice),
516
+ grantedTo: bob.did,
517
+ dateExpires: Time.createOffsetTimestamp({ seconds: 100 }),
518
+ scope: {
519
+ interface: DwnInterfaceName.Messages,
520
+ method: DwnMethodName.Read,
521
+ protocol: 'https://example.com/protocol/test',
522
+ contextId: 'test-context'
523
+ }
524
+ });
525
+ const withContextIdReply = await dwn.processMessage(alice.did, withContextId.recordsWrite.message, {
526
+ dataStream: DataStream.fromBytes(withContextId.permissionGrantBytes)
527
+ });
528
+ expect(withContextIdReply.status.code).toBe(202);
529
+ });
427
530
  it('RecordsDelete', async () => {
428
531
  const alice = await TestDataGenerator.generateDidKeyPersona();
429
532
  const bob = await TestDataGenerator.generateDidKeyPersona();
@@ -777,6 +880,29 @@ export function testPermissions() {
777
880
  tags: { protocol: 'https://example.com/protocol/test' }
778
881
  });
779
882
  expect(() => PermissionsProtocol['validateScopeAndTags'](permissionScope, grantRecordsWrite.message)).toThrow(DwnErrorCode.PermissionsProtocolValidateScopeContextIdProhibitedProperties);
883
+ const messagesPermissionScope = {
884
+ interface: DwnInterfaceName.Messages,
885
+ method: DwnMethodName.Read,
886
+ protocol: 'https://example.com/protocol/test',
887
+ protocolPath: 'test/path',
888
+ contextId: 'test-context'
889
+ };
890
+ expect(() => PermissionsProtocol['validateScopeAndTags'](messagesPermissionScope, requestRecordsWrite.message)).toThrow(DwnErrorCode.PermissionsProtocolValidateScopeContextIdProhibitedProperties);
891
+ });
892
+ it('should throw if a subtree permission scope is missing protocol during validation', async () => {
893
+ const alice = await TestDataGenerator.generateDidKeyPersona();
894
+ const permissionScope = {
895
+ interface: DwnInterfaceName.Messages,
896
+ method: DwnMethodName.Read,
897
+ protocolPath: 'test/path'
898
+ };
899
+ const requestRecordsWrite = await TestDataGenerator.generateRecordsWrite({
900
+ author: alice,
901
+ protocol: PermissionsProtocol.uri,
902
+ protocolPath: PermissionsProtocol.requestPath,
903
+ data: Encoder.stringToBytes(JSON.stringify({})),
904
+ });
905
+ expect(() => PermissionsProtocol['validateScopeAndTags'](permissionScope, requestRecordsWrite.message)).toThrow(DwnErrorCode.PermissionsProtocolValidateScopeSubtreeScopeMissingProtocol);
780
906
  });
781
907
  });
782
908
  describe('revocation cleanup', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.spec.js","sourceRoot":"","sources":["../../../../tests/features/permissions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.spec.js","sourceRoot":"","sources":["../../../../tests/features/permissions.spec.ts"],"names":[],"mappings":"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"}