@abaxxtech/id 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/README.npm.md +31 -0
  4. package/dist/bundles/dwn.js +83 -0
  5. package/dist/cjs/index.js +31250 -0
  6. package/dist/cjs/package.json +1 -0
  7. package/dist/esm/generated/precompiled-validators.js +7820 -0
  8. package/dist/esm/generated/precompiled-validators.js.map +1 -0
  9. package/dist/esm/json-schemas/definitions.json +23 -0
  10. package/dist/esm/src/core/abstract-message.js +37 -0
  11. package/dist/esm/src/core/abstract-message.js.map +1 -0
  12. package/dist/esm/src/core/auth.js +97 -0
  13. package/dist/esm/src/core/auth.js.map +1 -0
  14. package/dist/esm/src/core/dwn-constant.js +8 -0
  15. package/dist/esm/src/core/dwn-constant.js.map +1 -0
  16. package/dist/esm/src/core/dwn-error.js +138 -0
  17. package/dist/esm/src/core/dwn-error.js.map +1 -0
  18. package/dist/esm/src/core/grant-authorization.js +108 -0
  19. package/dist/esm/src/core/grant-authorization.js.map +1 -0
  20. package/dist/esm/src/core/message-reply.js +5 -0
  21. package/dist/esm/src/core/message-reply.js.map +1 -0
  22. package/dist/esm/src/core/message.js +200 -0
  23. package/dist/esm/src/core/message.js.map +1 -0
  24. package/dist/esm/src/core/protocol-authorization.js +449 -0
  25. package/dist/esm/src/core/protocol-authorization.js.map +1 -0
  26. package/dist/esm/src/core/records-grant-authorization.js +106 -0
  27. package/dist/esm/src/core/records-grant-authorization.js.map +1 -0
  28. package/dist/esm/src/core/tenant-gate.js +20 -0
  29. package/dist/esm/src/core/tenant-gate.js.map +1 -0
  30. package/dist/esm/src/did/did-dht-resolver.js +241 -0
  31. package/dist/esm/src/did/did-dht-resolver.js.map +1 -0
  32. package/dist/esm/src/did/did-ion-resolver.js +53 -0
  33. package/dist/esm/src/did/did-ion-resolver.js.map +1 -0
  34. package/dist/esm/src/did/did-key-resolver.js +135 -0
  35. package/dist/esm/src/did/did-key-resolver.js.map +1 -0
  36. package/dist/esm/src/did/did-resolver.js +70 -0
  37. package/dist/esm/src/did/did-resolver.js.map +1 -0
  38. package/dist/esm/src/did/did.js +36 -0
  39. package/dist/esm/src/did/did.js.map +1 -0
  40. package/dist/esm/src/dwn.js +164 -0
  41. package/dist/esm/src/dwn.js.map +1 -0
  42. package/dist/esm/src/enums/dwn-interface-method.js +22 -0
  43. package/dist/esm/src/enums/dwn-interface-method.js.map +1 -0
  44. package/dist/esm/src/event-log/event-log-level.js +112 -0
  45. package/dist/esm/src/event-log/event-log-level.js.map +1 -0
  46. package/dist/esm/src/handlers/events-get.js +48 -0
  47. package/dist/esm/src/handlers/events-get.js.map +1 -0
  48. package/dist/esm/src/handlers/messages-get.js +76 -0
  49. package/dist/esm/src/handlers/messages-get.js.map +1 -0
  50. package/dist/esm/src/handlers/permissions-grant.js +62 -0
  51. package/dist/esm/src/handlers/permissions-grant.js.map +1 -0
  52. package/dist/esm/src/handlers/permissions-request.js +63 -0
  53. package/dist/esm/src/handlers/permissions-request.js.map +1 -0
  54. package/dist/esm/src/handlers/permissions-revoke.js +114 -0
  55. package/dist/esm/src/handlers/permissions-revoke.js.map +1 -0
  56. package/dist/esm/src/handlers/protocols-configure.js +102 -0
  57. package/dist/esm/src/handlers/protocols-configure.js.map +1 -0
  58. package/dist/esm/src/handlers/protocols-query.js +72 -0
  59. package/dist/esm/src/handlers/protocols-query.js.map +1 -0
  60. package/dist/esm/src/handlers/records-delete.js +119 -0
  61. package/dist/esm/src/handlers/records-delete.js.map +1 -0
  62. package/dist/esm/src/handlers/records-query.js +206 -0
  63. package/dist/esm/src/handlers/records-query.js.map +1 -0
  64. package/dist/esm/src/handlers/records-read.js +118 -0
  65. package/dist/esm/src/handlers/records-read.js.map +1 -0
  66. package/dist/esm/src/handlers/records-write.js +252 -0
  67. package/dist/esm/src/handlers/records-write.js.map +1 -0
  68. package/dist/esm/src/index.js +43 -0
  69. package/dist/esm/src/index.js.map +1 -0
  70. package/dist/esm/src/interfaces/events-get.js +41 -0
  71. package/dist/esm/src/interfaces/events-get.js.map +1 -0
  72. package/dist/esm/src/interfaces/messages-get.js +58 -0
  73. package/dist/esm/src/interfaces/messages-get.js.map +1 -0
  74. package/dist/esm/src/interfaces/permissions-grant.js +130 -0
  75. package/dist/esm/src/interfaces/permissions-grant.js.map +1 -0
  76. package/dist/esm/src/interfaces/permissions-request.js +47 -0
  77. package/dist/esm/src/interfaces/permissions-request.js.map +1 -0
  78. package/dist/esm/src/interfaces/permissions-revoke.js +47 -0
  79. package/dist/esm/src/interfaces/permissions-revoke.js.map +1 -0
  80. package/dist/esm/src/interfaces/protocols-configure.js +149 -0
  81. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -0
  82. package/dist/esm/src/interfaces/protocols-query.js +80 -0
  83. package/dist/esm/src/interfaces/protocols-query.js.map +1 -0
  84. package/dist/esm/src/interfaces/records-delete.js +56 -0
  85. package/dist/esm/src/interfaces/records-delete.js.map +1 -0
  86. package/dist/esm/src/interfaces/records-query.js +81 -0
  87. package/dist/esm/src/interfaces/records-query.js.map +1 -0
  88. package/dist/esm/src/interfaces/records-read.js +65 -0
  89. package/dist/esm/src/interfaces/records-read.js.map +1 -0
  90. package/dist/esm/src/interfaces/records-write.js +677 -0
  91. package/dist/esm/src/interfaces/records-write.js.map +1 -0
  92. package/dist/esm/src/jose/algorithms/signing/ed25519.js +54 -0
  93. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -0
  94. package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js +13 -0
  95. package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js.map +1 -0
  96. package/dist/esm/src/jose/jws/general/builder.js +47 -0
  97. package/dist/esm/src/jose/jws/general/builder.js.map +1 -0
  98. package/dist/esm/src/jose/jws/general/signer.js +36 -0
  99. package/dist/esm/src/jose/jws/general/signer.js.map +1 -0
  100. package/dist/esm/src/jose/jws/general/verifier.js +97 -0
  101. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -0
  102. package/dist/esm/src/schema-validator.js +28 -0
  103. package/dist/esm/src/schema-validator.js.map +1 -0
  104. package/dist/esm/src/store/blockstore-level.js +187 -0
  105. package/dist/esm/src/store/blockstore-level.js.map +1 -0
  106. package/dist/esm/src/store/data-store-level.js +192 -0
  107. package/dist/esm/src/store/data-store-level.js.map +1 -0
  108. package/dist/esm/src/store/index-level.js +302 -0
  109. package/dist/esm/src/store/index-level.js.map +1 -0
  110. package/dist/esm/src/store/level-wrapper.js +296 -0
  111. package/dist/esm/src/store/level-wrapper.js.map +1 -0
  112. package/dist/esm/src/store/message-store-level.js +236 -0
  113. package/dist/esm/src/store/message-store-level.js.map +1 -0
  114. package/dist/esm/src/store/storage-controller.js +69 -0
  115. package/dist/esm/src/store/storage-controller.js.map +1 -0
  116. package/dist/esm/src/types/cache.js +2 -0
  117. package/dist/esm/src/types/cache.js.map +1 -0
  118. package/dist/esm/src/types/data-store.js +2 -0
  119. package/dist/esm/src/types/data-store.js.map +1 -0
  120. package/dist/esm/src/types/delegated-grant-message.js +2 -0
  121. package/dist/esm/src/types/delegated-grant-message.js.map +1 -0
  122. package/dist/esm/src/types/did-types.js +2 -0
  123. package/dist/esm/src/types/did-types.js.map +1 -0
  124. package/dist/esm/src/types/event-log.js +2 -0
  125. package/dist/esm/src/types/event-log.js.map +1 -0
  126. package/dist/esm/src/types/event-types.js +2 -0
  127. package/dist/esm/src/types/event-types.js.map +1 -0
  128. package/dist/esm/src/types/jose-types.js +2 -0
  129. package/dist/esm/src/types/jose-types.js.map +1 -0
  130. package/dist/esm/src/types/jws-types.js +2 -0
  131. package/dist/esm/src/types/jws-types.js.map +1 -0
  132. package/dist/esm/src/types/message-interface.js +2 -0
  133. package/dist/esm/src/types/message-interface.js.map +1 -0
  134. package/dist/esm/src/types/message-store.js +2 -0
  135. package/dist/esm/src/types/message-store.js.map +1 -0
  136. package/dist/esm/src/types/message-types.js +6 -0
  137. package/dist/esm/src/types/message-types.js.map +1 -0
  138. package/dist/esm/src/types/messages-types.js +2 -0
  139. package/dist/esm/src/types/messages-types.js.map +1 -0
  140. package/dist/esm/src/types/method-handler.js +2 -0
  141. package/dist/esm/src/types/method-handler.js.map +1 -0
  142. package/dist/esm/src/types/permissions-grant-descriptor.js +6 -0
  143. package/dist/esm/src/types/permissions-grant-descriptor.js.map +1 -0
  144. package/dist/esm/src/types/permissions-types.js +2 -0
  145. package/dist/esm/src/types/permissions-types.js.map +1 -0
  146. package/dist/esm/src/types/protocols-types.js +15 -0
  147. package/dist/esm/src/types/protocols-types.js.map +1 -0
  148. package/dist/esm/src/types/records-types.js +8 -0
  149. package/dist/esm/src/types/records-types.js.map +1 -0
  150. package/dist/esm/src/types/signer.js +2 -0
  151. package/dist/esm/src/types/signer.js.map +1 -0
  152. package/dist/esm/src/utils/abort.js +40 -0
  153. package/dist/esm/src/utils/abort.js.map +1 -0
  154. package/dist/esm/src/utils/array.js +72 -0
  155. package/dist/esm/src/utils/array.js.map +1 -0
  156. package/dist/esm/src/utils/cid.js +130 -0
  157. package/dist/esm/src/utils/cid.js.map +1 -0
  158. package/dist/esm/src/utils/data-stream.js +88 -0
  159. package/dist/esm/src/utils/data-stream.js.map +1 -0
  160. package/dist/esm/src/utils/encoder.js +45 -0
  161. package/dist/esm/src/utils/encoder.js.map +1 -0
  162. package/dist/esm/src/utils/encryption.js +128 -0
  163. package/dist/esm/src/utils/encryption.js.map +1 -0
  164. package/dist/esm/src/utils/hd-key.js +60 -0
  165. package/dist/esm/src/utils/hd-key.js.map +1 -0
  166. package/dist/esm/src/utils/jws.js +89 -0
  167. package/dist/esm/src/utils/jws.js.map +1 -0
  168. package/dist/esm/src/utils/memory-cache.js +41 -0
  169. package/dist/esm/src/utils/memory-cache.js.map +1 -0
  170. package/dist/esm/src/utils/object.js +50 -0
  171. package/dist/esm/src/utils/object.js.map +1 -0
  172. package/dist/esm/src/utils/private-key-signer.js +43 -0
  173. package/dist/esm/src/utils/private-key-signer.js.map +1 -0
  174. package/dist/esm/src/utils/protocols.js +51 -0
  175. package/dist/esm/src/utils/protocols.js.map +1 -0
  176. package/dist/esm/src/utils/records.js +267 -0
  177. package/dist/esm/src/utils/records.js.map +1 -0
  178. package/dist/esm/src/utils/secp256k1.js +219 -0
  179. package/dist/esm/src/utils/secp256k1.js.map +1 -0
  180. package/dist/esm/src/utils/string.js +16 -0
  181. package/dist/esm/src/utils/string.js.map +1 -0
  182. package/dist/esm/src/utils/time.js +84 -0
  183. package/dist/esm/src/utils/time.js.map +1 -0
  184. package/dist/esm/src/utils/url.js +63 -0
  185. package/dist/esm/src/utils/url.js.map +1 -0
  186. package/dist/esm/tests/core/auth.spec.js +25 -0
  187. package/dist/esm/tests/core/auth.spec.js.map +1 -0
  188. package/dist/esm/tests/core/message-reply.spec.js +19 -0
  189. package/dist/esm/tests/core/message-reply.spec.js.map +1 -0
  190. package/dist/esm/tests/core/message.spec.js +85 -0
  191. package/dist/esm/tests/core/message.spec.js.map +1 -0
  192. package/dist/esm/tests/did/did-ion-resolver.spec.js +82 -0
  193. package/dist/esm/tests/did/did-ion-resolver.spec.js.map +1 -0
  194. package/dist/esm/tests/did/did-key-resolver.spec.js +74 -0
  195. package/dist/esm/tests/did/did-key-resolver.spec.js.map +1 -0
  196. package/dist/esm/tests/did/did-resolver.spec.js +84 -0
  197. package/dist/esm/tests/did/did-resolver.spec.js.map +1 -0
  198. package/dist/esm/tests/did/did.spec.js +22 -0
  199. package/dist/esm/tests/did/did.spec.js.map +1 -0
  200. package/dist/esm/tests/dwn.spec.js +252 -0
  201. package/dist/esm/tests/dwn.spec.js.map +1 -0
  202. package/dist/esm/tests/end-to-end-tests.spec.js +218 -0
  203. package/dist/esm/tests/end-to-end-tests.spec.js.map +1 -0
  204. package/dist/esm/tests/event-log/event-log-level.spec.js +137 -0
  205. package/dist/esm/tests/event-log/event-log-level.spec.js.map +1 -0
  206. package/dist/esm/tests/handlers/events-get.spec.js +108 -0
  207. package/dist/esm/tests/handlers/events-get.spec.js.map +1 -0
  208. package/dist/esm/tests/handlers/messages-get.spec.js +209 -0
  209. package/dist/esm/tests/handlers/messages-get.spec.js.map +1 -0
  210. package/dist/esm/tests/handlers/permissions-grant.spec.js +249 -0
  211. package/dist/esm/tests/handlers/permissions-grant.spec.js.map +1 -0
  212. package/dist/esm/tests/handlers/permissions-request.spec.js +132 -0
  213. package/dist/esm/tests/handlers/permissions-request.spec.js.map +1 -0
  214. package/dist/esm/tests/handlers/permissions-revoke.spec.js +311 -0
  215. package/dist/esm/tests/handlers/permissions-revoke.spec.js.map +1 -0
  216. package/dist/esm/tests/handlers/protocols-configure.spec.js +254 -0
  217. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -0
  218. package/dist/esm/tests/handlers/protocols-query.spec.js +373 -0
  219. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -0
  220. package/dist/esm/tests/handlers/records-delete.spec.js +630 -0
  221. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -0
  222. package/dist/esm/tests/handlers/records-query.spec.js +1937 -0
  223. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -0
  224. package/dist/esm/tests/handlers/records-read.spec.js +1729 -0
  225. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -0
  226. package/dist/esm/tests/handlers/records-write.spec.js +3381 -0
  227. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -0
  228. package/dist/esm/tests/interfaces/events-get.spec.js +73 -0
  229. package/dist/esm/tests/interfaces/events-get.spec.js.map +1 -0
  230. package/dist/esm/tests/interfaces/messages-get.spec.js +93 -0
  231. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -0
  232. package/dist/esm/tests/interfaces/permissions-grant.spec.js +216 -0
  233. package/dist/esm/tests/interfaces/permissions-grant.spec.js.map +1 -0
  234. package/dist/esm/tests/interfaces/permissions-request.spec.js +45 -0
  235. package/dist/esm/tests/interfaces/permissions-request.spec.js.map +1 -0
  236. package/dist/esm/tests/interfaces/protocols-configure.spec.js +334 -0
  237. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -0
  238. package/dist/esm/tests/interfaces/protocols-query.spec.js +49 -0
  239. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -0
  240. package/dist/esm/tests/interfaces/records-delete.spec.js +42 -0
  241. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -0
  242. package/dist/esm/tests/interfaces/records-query.spec.js +75 -0
  243. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -0
  244. package/dist/esm/tests/interfaces/records-read.spec.js +65 -0
  245. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -0
  246. package/dist/esm/tests/interfaces/records-write.spec.js +369 -0
  247. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -0
  248. package/dist/esm/tests/jose/jws/general.spec.js +185 -0
  249. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -0
  250. package/dist/esm/tests/scenarios/delegated-grant.spec.js +490 -0
  251. package/dist/esm/tests/scenarios/delegated-grant.spec.js.map +1 -0
  252. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +218 -0
  253. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -0
  254. package/dist/esm/tests/store/data-store-level.spec.js +192 -0
  255. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -0
  256. package/dist/esm/tests/store/index-level.spec.js +428 -0
  257. package/dist/esm/tests/store/index-level.spec.js.map +1 -0
  258. package/dist/esm/tests/store/message-store-level.spec.js +51 -0
  259. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -0
  260. package/dist/esm/tests/store/message-store.spec.js +395 -0
  261. package/dist/esm/tests/store/message-store.spec.js.map +1 -0
  262. package/dist/esm/tests/store-dependent-tests.spec.js +8 -0
  263. package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -0
  264. package/dist/esm/tests/test-stores.js +40 -0
  265. package/dist/esm/tests/test-stores.js.map +1 -0
  266. package/dist/esm/tests/test-suite.js +51 -0
  267. package/dist/esm/tests/test-suite.js.map +1 -0
  268. package/dist/esm/tests/utils/cid.spec.js +83 -0
  269. package/dist/esm/tests/utils/cid.spec.js.map +1 -0
  270. package/dist/esm/tests/utils/data-stream.spec.js +30 -0
  271. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -0
  272. package/dist/esm/tests/utils/encryption.spec.js +151 -0
  273. package/dist/esm/tests/utils/encryption.spec.js.map +1 -0
  274. package/dist/esm/tests/utils/jws.spec.js +11 -0
  275. package/dist/esm/tests/utils/jws.spec.js.map +1 -0
  276. package/dist/esm/tests/utils/memory-cache.spec.js +38 -0
  277. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -0
  278. package/dist/esm/tests/utils/object.spec.js +39 -0
  279. package/dist/esm/tests/utils/object.spec.js.map +1 -0
  280. package/dist/esm/tests/utils/private-key-signer.spec.js +47 -0
  281. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -0
  282. package/dist/esm/tests/utils/records.spec.js +56 -0
  283. package/dist/esm/tests/utils/records.spec.js.map +1 -0
  284. package/dist/esm/tests/utils/secp256k1.spec.js +77 -0
  285. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -0
  286. package/dist/esm/tests/utils/test-data-generator.js +570 -0
  287. package/dist/esm/tests/utils/test-data-generator.js.map +1 -0
  288. package/dist/esm/tests/utils/test-stub-generator.js +39 -0
  289. package/dist/esm/tests/utils/test-stub-generator.js.map +1 -0
  290. package/dist/esm/tests/utils/time.spec.js +67 -0
  291. package/dist/esm/tests/utils/time.spec.js.map +1 -0
  292. package/dist/esm/tests/utils/url.spec.js +46 -0
  293. package/dist/esm/tests/utils/url.spec.js.map +1 -0
  294. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +36 -0
  295. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -0
  296. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +53 -0
  297. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -0
  298. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +39 -0
  299. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -0
  300. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +76 -0
  301. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -0
  302. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +74 -0
  303. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -0
  304. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +151 -0
  305. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -0
  306. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +389 -0
  307. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -0
  308. package/dist/esm/tests/vectors/protocol-definitions/anyone-collaborate.json +25 -0
  309. package/dist/esm/tests/vectors/protocol-definitions/author-can.json +32 -0
  310. package/dist/esm/tests/vectors/protocol-definitions/chat.json +56 -0
  311. package/dist/esm/tests/vectors/protocol-definitions/credential-issuance.json +37 -0
  312. package/dist/esm/tests/vectors/protocol-definitions/dex.json +52 -0
  313. package/dist/esm/tests/vectors/protocol-definitions/email.json +50 -0
  314. package/dist/esm/tests/vectors/protocol-definitions/free-for-all.json +30 -0
  315. package/dist/esm/tests/vectors/protocol-definitions/friend-role.json +48 -0
  316. package/dist/esm/tests/vectors/protocol-definitions/message.json +20 -0
  317. package/dist/esm/tests/vectors/protocol-definitions/minimal.json +10 -0
  318. package/dist/esm/tests/vectors/protocol-definitions/nested.json +31 -0
  319. package/dist/esm/tests/vectors/protocol-definitions/private-protocol.json +13 -0
  320. package/dist/esm/tests/vectors/protocol-definitions/recipient-can.json +36 -0
  321. package/dist/esm/tests/vectors/protocol-definitions/social-media.json +88 -0
  322. package/dist/esm/tests/vectors/protocol-definitions/thread-role.json +68 -0
  323. package/dist/types/generated/precompiled-validators.d.ts +113 -0
  324. package/dist/types/generated/precompiled-validators.d.ts.map +1 -0
  325. package/dist/types/src/core/abstract-message.d.ts +19 -0
  326. package/dist/types/src/core/abstract-message.d.ts.map +1 -0
  327. package/dist/types/src/core/auth.d.ts +30 -0
  328. package/dist/types/src/core/auth.d.ts.map +1 -0
  329. package/dist/types/src/core/dwn-constant.d.ts +8 -0
  330. package/dist/types/src/core/dwn-constant.d.ts.map +1 -0
  331. package/dist/types/src/core/dwn-error.d.ts +133 -0
  332. package/dist/types/src/core/dwn-error.d.ts.map +1 -0
  333. package/dist/types/src/core/grant-authorization.d.ts +35 -0
  334. package/dist/types/src/core/grant-authorization.d.ts.map +1 -0
  335. package/dist/types/src/core/message-reply.d.ts +33 -0
  336. package/dist/types/src/core/message-reply.d.ts.map +1 -0
  337. package/dist/types/src/core/message.d.ts +79 -0
  338. package/dist/types/src/core/message.d.ts.map +1 -0
  339. package/dist/types/src/core/protocol-authorization.d.ts +85 -0
  340. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -0
  341. package/dist/types/src/core/records-grant-authorization.d.ts +38 -0
  342. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -0
  343. package/dist/types/src/core/tenant-gate.d.ts +16 -0
  344. package/dist/types/src/core/tenant-gate.d.ts.map +1 -0
  345. package/dist/types/src/did/did-dht-resolver.d.ts +26 -0
  346. package/dist/types/src/did/did-dht-resolver.d.ts.map +1 -0
  347. package/dist/types/src/did/did-ion-resolver.d.ts +20 -0
  348. package/dist/types/src/did/did-ion-resolver.d.ts.map +1 -0
  349. package/dist/types/src/did/did-key-resolver.d.ts +32 -0
  350. package/dist/types/src/did/did-key-resolver.d.ts.map +1 -0
  351. package/dist/types/src/did/did-resolver.d.ts +20 -0
  352. package/dist/types/src/did/did-resolver.d.ts.map +1 -0
  353. package/dist/types/src/did/did.d.ts +15 -0
  354. package/dist/types/src/did/did.d.ts.map +1 -0
  355. package/dist/types/src/dwn.d.ts +74 -0
  356. package/dist/types/src/dwn.d.ts.map +1 -0
  357. package/dist/types/src/enums/dwn-interface-method.d.ts +20 -0
  358. package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -0
  359. package/dist/types/src/event-log/event-log-level.d.ts +26 -0
  360. package/dist/types/src/event-log/event-log-level.d.ts.map +1 -0
  361. package/dist/types/src/handlers/events-get.d.ts +16 -0
  362. package/dist/types/src/handlers/events-get.d.ts.map +1 -0
  363. package/dist/types/src/handlers/messages-get.d.ts +18 -0
  364. package/dist/types/src/handlers/messages-get.d.ts.map +1 -0
  365. package/dist/types/src/handlers/permissions-grant.d.ts +17 -0
  366. package/dist/types/src/handlers/permissions-grant.d.ts.map +1 -0
  367. package/dist/types/src/handlers/permissions-request.d.ts +17 -0
  368. package/dist/types/src/handlers/permissions-request.d.ts.map +1 -0
  369. package/dist/types/src/handlers/permissions-revoke.d.ts +17 -0
  370. package/dist/types/src/handlers/permissions-revoke.d.ts.map +1 -0
  371. package/dist/types/src/handlers/protocols-configure.d.ts +21 -0
  372. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -0
  373. package/dist/types/src/handlers/protocols-query.d.ts +20 -0
  374. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -0
  375. package/dist/types/src/handlers/records-delete.d.ts +22 -0
  376. package/dist/types/src/handlers/records-delete.d.ts.map +1 -0
  377. package/dist/types/src/handlers/records-query.d.ts +78 -0
  378. package/dist/types/src/handlers/records-query.d.ts.map +1 -0
  379. package/dist/types/src/handlers/records-read.d.ts +17 -0
  380. package/dist/types/src/handlers/records-read.d.ts.map +1 -0
  381. package/dist/types/src/handlers/records-write.d.ts +61 -0
  382. package/dist/types/src/handlers/records-write.d.ts.map +1 -0
  383. package/dist/types/src/index.d.ts +72 -0
  384. package/dist/types/src/index.d.ts.map +1 -0
  385. package/dist/types/src/interfaces/events-get.d.ts +13 -0
  386. package/dist/types/src/interfaces/events-get.d.ts.map +1 -0
  387. package/dist/types/src/interfaces/messages-get.d.ts +19 -0
  388. package/dist/types/src/interfaces/messages-get.d.ts.map +1 -0
  389. package/dist/types/src/interfaces/permissions-grant.d.ts +59 -0
  390. package/dist/types/src/interfaces/permissions-grant.d.ts.map +1 -0
  391. package/dist/types/src/interfaces/permissions-request.d.ts +19 -0
  392. package/dist/types/src/interfaces/permissions-request.d.ts.map +1 -0
  393. package/dist/types/src/interfaces/permissions-revoke.d.ts +14 -0
  394. package/dist/types/src/interfaces/permissions-revoke.d.ts.map +1 -0
  395. package/dist/types/src/interfaces/protocols-configure.d.ts +21 -0
  396. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -0
  397. package/dist/types/src/interfaces/protocols-query.d.ts +17 -0
  398. package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -0
  399. package/dist/types/src/interfaces/records-delete.d.ts +24 -0
  400. package/dist/types/src/interfaces/records-delete.d.ts.map +1 -0
  401. package/dist/types/src/interfaces/records-query.d.ts +29 -0
  402. package/dist/types/src/interfaces/records-query.d.ts.map +1 -0
  403. package/dist/types/src/interfaces/records-read.d.ts +31 -0
  404. package/dist/types/src/interfaces/records-read.d.ts.map +1 -0
  405. package/dist/types/src/interfaces/records-write.d.ts +259 -0
  406. package/dist/types/src/interfaces/records-write.d.ts.map +1 -0
  407. package/dist/types/src/jose/algorithms/signing/ed25519.d.ts +3 -0
  408. package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -0
  409. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts +3 -0
  410. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts.map +1 -0
  411. package/dist/types/src/jose/jws/general/builder.d.ts +10 -0
  412. package/dist/types/src/jose/jws/general/builder.d.ts.map +1 -0
  413. package/dist/types/src/jose/jws/general/signer.d.ts +8 -0
  414. package/dist/types/src/jose/jws/general/signer.d.ts.map +1 -0
  415. package/dist/types/src/jose/jws/general/verifier.d.ts +32 -0
  416. package/dist/types/src/jose/jws/general/verifier.d.ts.map +1 -0
  417. package/dist/types/src/schema-validator.d.ts +8 -0
  418. package/dist/types/src/schema-validator.d.ts.map +1 -0
  419. package/dist/types/src/store/blockstore-level.d.ts +35 -0
  420. package/dist/types/src/store/blockstore-level.d.ts.map +1 -0
  421. package/dist/types/src/store/data-store-level.d.ts +44 -0
  422. package/dist/types/src/store/data-store-level.d.ts.map +1 -0
  423. package/dist/types/src/store/index-level.d.ts +69 -0
  424. package/dist/types/src/store/index-level.d.ts.map +1 -0
  425. package/dist/types/src/store/level-wrapper.d.ts +44 -0
  426. package/dist/types/src/store/level-wrapper.d.ts.map +1 -0
  427. package/dist/types/src/store/message-store-level.d.ts +70 -0
  428. package/dist/types/src/store/message-store-level.d.ts.map +1 -0
  429. package/dist/types/src/store/storage-controller.d.ts +19 -0
  430. package/dist/types/src/store/storage-controller.d.ts.map +1 -0
  431. package/dist/types/src/types/cache.d.ts +16 -0
  432. package/dist/types/src/types/cache.d.ts.map +1 -0
  433. package/dist/types/src/types/data-store.d.ts +69 -0
  434. package/dist/types/src/types/data-store.d.ts.map +1 -0
  435. package/dist/types/src/types/delegated-grant-message.d.ts +14 -0
  436. package/dist/types/src/types/delegated-grant-message.d.ts.map +1 -0
  437. package/dist/types/src/types/did-types.d.ts +68 -0
  438. package/dist/types/src/types/did-types.d.ts.map +1 -0
  439. package/dist/types/src/types/event-log.d.ts +39 -0
  440. package/dist/types/src/types/event-log.d.ts.map +1 -0
  441. package/dist/types/src/types/event-types.d.ts +18 -0
  442. package/dist/types/src/types/event-types.d.ts.map +1 -0
  443. package/dist/types/src/types/jose-types.d.ts +75 -0
  444. package/dist/types/src/types/jose-types.d.ts.map +1 -0
  445. package/dist/types/src/types/jws-types.d.ts +27 -0
  446. package/dist/types/src/types/jws-types.d.ts.map +1 -0
  447. package/dist/types/src/types/message-interface.d.ts +22 -0
  448. package/dist/types/src/types/message-interface.d.ts.map +1 -0
  449. package/dist/types/src/types/message-store.d.ts +43 -0
  450. package/dist/types/src/types/message-store.d.ts.map +1 -0
  451. package/dist/types/src/types/message-types.d.ts +113 -0
  452. package/dist/types/src/types/message-types.d.ts.map +1 -0
  453. package/dist/types/src/types/messages-types.d.ts +23 -0
  454. package/dist/types/src/types/messages-types.d.ts.map +1 -0
  455. package/dist/types/src/types/method-handler.d.ts +17 -0
  456. package/dist/types/src/types/method-handler.d.ts.map +1 -0
  457. package/dist/types/src/types/permissions-grant-descriptor.d.ts +65 -0
  458. package/dist/types/src/types/permissions-grant-descriptor.d.ts.map +1 -0
  459. package/dist/types/src/types/permissions-types.d.ts +33 -0
  460. package/dist/types/src/types/permissions-types.d.ts.map +1 -0
  461. package/dist/types/src/types/protocols-types.d.ts +138 -0
  462. package/dist/types/src/types/protocols-types.d.ts.map +1 -0
  463. package/dist/types/src/types/records-types.d.ts +164 -0
  464. package/dist/types/src/types/records-types.d.ts.map +1 -0
  465. package/dist/types/src/types/signer.d.ts +26 -0
  466. package/dist/types/src/types/signer.d.ts.map +1 -0
  467. package/dist/types/src/utils/abort.d.ts +5 -0
  468. package/dist/types/src/utils/abort.d.ts.map +1 -0
  469. package/dist/types/src/utils/array.d.ts +18 -0
  470. package/dist/types/src/utils/array.d.ts.map +1 -0
  471. package/dist/types/src/utils/cid.d.ts +30 -0
  472. package/dist/types/src/utils/cid.d.ts.map +1 -0
  473. package/dist/types/src/utils/data-stream.d.ts +27 -0
  474. package/dist/types/src/utils/data-stream.d.ts.map +1 -0
  475. package/dist/types/src/utils/encoder.d.ts +14 -0
  476. package/dist/types/src/utils/encoder.d.ts.map +1 -0
  477. package/dist/types/src/utils/encryption.d.ts +44 -0
  478. package/dist/types/src/utils/encryption.d.ts.map +1 -0
  479. package/dist/types/src/utils/hd-key.d.ts +35 -0
  480. package/dist/types/src/utils/hd-key.d.ts.map +1 -0
  481. package/dist/types/src/utils/jws.d.ts +39 -0
  482. package/dist/types/src/utils/jws.d.ts.map +1 -0
  483. package/dist/types/src/utils/memory-cache.d.ts +15 -0
  484. package/dist/types/src/utils/memory-cache.d.ts.map +1 -0
  485. package/dist/types/src/utils/object.d.ts +18 -0
  486. package/dist/types/src/utils/object.d.ts.map +1 -0
  487. package/dist/types/src/utils/private-key-signer.d.ts +34 -0
  488. package/dist/types/src/utils/private-key-signer.d.ts.map +1 -0
  489. package/dist/types/src/utils/protocols.d.ts +14 -0
  490. package/dist/types/src/utils/protocols.d.ts.map +1 -0
  491. package/dist/types/src/utils/records.d.ts +68 -0
  492. package/dist/types/src/utils/records.d.ts.map +1 -0
  493. package/dist/types/src/utils/secp256k1.d.ts +78 -0
  494. package/dist/types/src/utils/secp256k1.d.ts.map +1 -0
  495. package/dist/types/src/utils/string.d.ts +6 -0
  496. package/dist/types/src/utils/string.d.ts.map +1 -0
  497. package/dist/types/src/utils/time.d.ts +49 -0
  498. package/dist/types/src/utils/time.d.ts.map +1 -0
  499. package/dist/types/src/utils/url.d.ts +5 -0
  500. package/dist/types/src/utils/url.d.ts.map +1 -0
  501. package/dist/types/tests/core/auth.spec.d.ts +2 -0
  502. package/dist/types/tests/core/auth.spec.d.ts.map +1 -0
  503. package/dist/types/tests/core/message-reply.spec.d.ts +2 -0
  504. package/dist/types/tests/core/message-reply.spec.d.ts.map +1 -0
  505. package/dist/types/tests/core/message.spec.d.ts +2 -0
  506. package/dist/types/tests/core/message.spec.d.ts.map +1 -0
  507. package/dist/types/tests/did/did-ion-resolver.spec.d.ts +2 -0
  508. package/dist/types/tests/did/did-ion-resolver.spec.d.ts.map +1 -0
  509. package/dist/types/tests/did/did-key-resolver.spec.d.ts +2 -0
  510. package/dist/types/tests/did/did-key-resolver.spec.d.ts.map +1 -0
  511. package/dist/types/tests/did/did-resolver.spec.d.ts +2 -0
  512. package/dist/types/tests/did/did-resolver.spec.d.ts.map +1 -0
  513. package/dist/types/tests/did/did.spec.d.ts +2 -0
  514. package/dist/types/tests/did/did.spec.d.ts.map +1 -0
  515. package/dist/types/tests/dwn.spec.d.ts +2 -0
  516. package/dist/types/tests/dwn.spec.d.ts.map +1 -0
  517. package/dist/types/tests/end-to-end-tests.spec.d.ts +2 -0
  518. package/dist/types/tests/end-to-end-tests.spec.d.ts.map +1 -0
  519. package/dist/types/tests/event-log/event-log-level.spec.d.ts +2 -0
  520. package/dist/types/tests/event-log/event-log-level.spec.d.ts.map +1 -0
  521. package/dist/types/tests/handlers/events-get.spec.d.ts +2 -0
  522. package/dist/types/tests/handlers/events-get.spec.d.ts.map +1 -0
  523. package/dist/types/tests/handlers/messages-get.spec.d.ts +2 -0
  524. package/dist/types/tests/handlers/messages-get.spec.d.ts.map +1 -0
  525. package/dist/types/tests/handlers/permissions-grant.spec.d.ts +2 -0
  526. package/dist/types/tests/handlers/permissions-grant.spec.d.ts.map +1 -0
  527. package/dist/types/tests/handlers/permissions-request.spec.d.ts +2 -0
  528. package/dist/types/tests/handlers/permissions-request.spec.d.ts.map +1 -0
  529. package/dist/types/tests/handlers/permissions-revoke.spec.d.ts +2 -0
  530. package/dist/types/tests/handlers/permissions-revoke.spec.d.ts.map +1 -0
  531. package/dist/types/tests/handlers/protocols-configure.spec.d.ts +2 -0
  532. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -0
  533. package/dist/types/tests/handlers/protocols-query.spec.d.ts +2 -0
  534. package/dist/types/tests/handlers/protocols-query.spec.d.ts.map +1 -0
  535. package/dist/types/tests/handlers/records-delete.spec.d.ts +2 -0
  536. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -0
  537. package/dist/types/tests/handlers/records-query.spec.d.ts +2 -0
  538. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -0
  539. package/dist/types/tests/handlers/records-read.spec.d.ts +2 -0
  540. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -0
  541. package/dist/types/tests/handlers/records-write.spec.d.ts +2 -0
  542. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -0
  543. package/dist/types/tests/interfaces/events-get.spec.d.ts +2 -0
  544. package/dist/types/tests/interfaces/events-get.spec.d.ts.map +1 -0
  545. package/dist/types/tests/interfaces/messages-get.spec.d.ts +2 -0
  546. package/dist/types/tests/interfaces/messages-get.spec.d.ts.map +1 -0
  547. package/dist/types/tests/interfaces/permissions-grant.spec.d.ts +2 -0
  548. package/dist/types/tests/interfaces/permissions-grant.spec.d.ts.map +1 -0
  549. package/dist/types/tests/interfaces/permissions-request.spec.d.ts +2 -0
  550. package/dist/types/tests/interfaces/permissions-request.spec.d.ts.map +1 -0
  551. package/dist/types/tests/interfaces/protocols-configure.spec.d.ts +2 -0
  552. package/dist/types/tests/interfaces/protocols-configure.spec.d.ts.map +1 -0
  553. package/dist/types/tests/interfaces/protocols-query.spec.d.ts +2 -0
  554. package/dist/types/tests/interfaces/protocols-query.spec.d.ts.map +1 -0
  555. package/dist/types/tests/interfaces/records-delete.spec.d.ts +2 -0
  556. package/dist/types/tests/interfaces/records-delete.spec.d.ts.map +1 -0
  557. package/dist/types/tests/interfaces/records-query.spec.d.ts +2 -0
  558. package/dist/types/tests/interfaces/records-query.spec.d.ts.map +1 -0
  559. package/dist/types/tests/interfaces/records-read.spec.d.ts +2 -0
  560. package/dist/types/tests/interfaces/records-read.spec.d.ts.map +1 -0
  561. package/dist/types/tests/interfaces/records-write.spec.d.ts +2 -0
  562. package/dist/types/tests/interfaces/records-write.spec.d.ts.map +1 -0
  563. package/dist/types/tests/jose/jws/general.spec.d.ts +2 -0
  564. package/dist/types/tests/jose/jws/general.spec.d.ts.map +1 -0
  565. package/dist/types/tests/scenarios/delegated-grant.spec.d.ts +2 -0
  566. package/dist/types/tests/scenarios/delegated-grant.spec.d.ts.map +1 -0
  567. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts +2 -0
  568. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -0
  569. package/dist/types/tests/store/data-store-level.spec.d.ts +2 -0
  570. package/dist/types/tests/store/data-store-level.spec.d.ts.map +1 -0
  571. package/dist/types/tests/store/index-level.spec.d.ts +2 -0
  572. package/dist/types/tests/store/index-level.spec.d.ts.map +1 -0
  573. package/dist/types/tests/store/message-store-level.spec.d.ts +2 -0
  574. package/dist/types/tests/store/message-store-level.spec.d.ts.map +1 -0
  575. package/dist/types/tests/store/message-store.spec.d.ts +2 -0
  576. package/dist/types/tests/store/message-store.spec.d.ts.map +1 -0
  577. package/dist/types/tests/store-dependent-tests.spec.d.ts +2 -0
  578. package/dist/types/tests/store-dependent-tests.spec.d.ts.map +1 -0
  579. package/dist/types/tests/test-stores.d.ts +30 -0
  580. package/dist/types/tests/test-stores.d.ts.map +1 -0
  581. package/dist/types/tests/test-suite.d.ts +16 -0
  582. package/dist/types/tests/test-suite.d.ts.map +1 -0
  583. package/dist/types/tests/utils/cid.spec.d.ts +2 -0
  584. package/dist/types/tests/utils/cid.spec.d.ts.map +1 -0
  585. package/dist/types/tests/utils/data-stream.spec.d.ts +2 -0
  586. package/dist/types/tests/utils/data-stream.spec.d.ts.map +1 -0
  587. package/dist/types/tests/utils/encryption.spec.d.ts +2 -0
  588. package/dist/types/tests/utils/encryption.spec.d.ts.map +1 -0
  589. package/dist/types/tests/utils/jws.spec.d.ts +2 -0
  590. package/dist/types/tests/utils/jws.spec.d.ts.map +1 -0
  591. package/dist/types/tests/utils/memory-cache.spec.d.ts +2 -0
  592. package/dist/types/tests/utils/memory-cache.spec.d.ts.map +1 -0
  593. package/dist/types/tests/utils/object.spec.d.ts +2 -0
  594. package/dist/types/tests/utils/object.spec.d.ts.map +1 -0
  595. package/dist/types/tests/utils/private-key-signer.spec.d.ts +2 -0
  596. package/dist/types/tests/utils/private-key-signer.spec.d.ts.map +1 -0
  597. package/dist/types/tests/utils/records.spec.d.ts +2 -0
  598. package/dist/types/tests/utils/records.spec.d.ts.map +1 -0
  599. package/dist/types/tests/utils/secp256k1.spec.d.ts +2 -0
  600. package/dist/types/tests/utils/secp256k1.spec.d.ts.map +1 -0
  601. package/dist/types/tests/utils/test-data-generator.d.ts +323 -0
  602. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -0
  603. package/dist/types/tests/utils/test-stub-generator.d.ts +16 -0
  604. package/dist/types/tests/utils/test-stub-generator.d.ts.map +1 -0
  605. package/dist/types/tests/utils/time.spec.d.ts +2 -0
  606. package/dist/types/tests/utils/time.spec.d.ts.map +1 -0
  607. package/dist/types/tests/utils/url.spec.d.ts +2 -0
  608. package/dist/types/tests/utils/url.spec.d.ts.map +1 -0
  609. package/dist/types/tests/validation/json-schemas/definitions.spec.d.ts +2 -0
  610. package/dist/types/tests/validation/json-schemas/definitions.spec.d.ts.map +1 -0
  611. package/dist/types/tests/validation/json-schemas/jwk/general-jwk.spec.d.ts +2 -0
  612. package/dist/types/tests/validation/json-schemas/jwk/general-jwk.spec.d.ts.map +1 -0
  613. package/dist/types/tests/validation/json-schemas/jwk/public-jwk.spec.d.ts +2 -0
  614. package/dist/types/tests/validation/json-schemas/jwk/public-jwk.spec.d.ts.map +1 -0
  615. package/dist/types/tests/validation/json-schemas/jwk-verification-method.spec.d.ts +2 -0
  616. package/dist/types/tests/validation/json-schemas/jwk-verification-method.spec.d.ts.map +1 -0
  617. package/dist/types/tests/validation/json-schemas/protocols/protocols-configure.spec.d.ts +2 -0
  618. package/dist/types/tests/validation/json-schemas/protocols/protocols-configure.spec.d.ts.map +1 -0
  619. package/dist/types/tests/validation/json-schemas/records/records-query.spec.d.ts +2 -0
  620. package/dist/types/tests/validation/json-schemas/records/records-query.spec.d.ts.map +1 -0
  621. package/dist/types/tests/validation/json-schemas/records/records-write.spec.d.ts +2 -0
  622. package/dist/types/tests/validation/json-schemas/records/records-write.spec.d.ts.map +1 -0
  623. package/package.json +156 -0
  624. package/src/core/abstract-message.ts +48 -0
  625. package/src/core/auth.ts +108 -0
  626. package/src/core/dwn-constant.ts +7 -0
  627. package/src/core/dwn-error.ts +136 -0
  628. package/src/core/grant-authorization.ts +163 -0
  629. package/src/core/message-reply.ts +42 -0
  630. package/src/core/message.ts +224 -0
  631. package/src/core/protocol-authorization.ts +691 -0
  632. package/src/core/records-grant-authorization.ts +167 -0
  633. package/src/core/tenant-gate.ts +18 -0
  634. package/src/did/did-dht-resolver.ts +241 -0
  635. package/src/did/did-ion-resolver.ts +52 -0
  636. package/src/did/did-key-resolver.ts +137 -0
  637. package/src/did/did-resolver.ts +77 -0
  638. package/src/did/did.ts +39 -0
  639. package/src/dwn.ts +213 -0
  640. package/src/enums/dwn-interface-method.ts +20 -0
  641. package/src/event-log/event-log-level.ts +116 -0
  642. package/src/handlers/events-get.ts +46 -0
  643. package/src/handlers/messages-get.ts +80 -0
  644. package/src/handlers/permissions-grant.ts +52 -0
  645. package/src/handlers/permissions-request.ts +54 -0
  646. package/src/handlers/permissions-revoke.ts +121 -0
  647. package/src/handlers/protocols-configure.ts +104 -0
  648. package/src/handlers/protocols-query.ts +81 -0
  649. package/src/handlers/records-delete.ts +139 -0
  650. package/src/handlers/records-query.ts +253 -0
  651. package/src/handlers/records-read.ts +127 -0
  652. package/src/handlers/records-write.ts +296 -0
  653. package/src/index.ts +81 -0
  654. package/src/interfaces/events-get.ts +43 -0
  655. package/src/interfaces/messages-get.ts +59 -0
  656. package/src/interfaces/permissions-grant.ts +175 -0
  657. package/src/interfaces/permissions-request.ts +55 -0
  658. package/src/interfaces/permissions-revoke.ts +46 -0
  659. package/src/interfaces/protocols-configure.ts +188 -0
  660. package/src/interfaces/protocols-query.ts +99 -0
  661. package/src/interfaces/records-delete.ts +67 -0
  662. package/src/interfaces/records-query.ts +100 -0
  663. package/src/interfaces/records-read.ts +82 -0
  664. package/src/interfaces/records-write.ts +924 -0
  665. package/src/jose/algorithms/signing/ed25519.ts +61 -0
  666. package/src/jose/algorithms/signing/signature-algorithms.ts +15 -0
  667. package/src/jose/jws/general/builder.ts +48 -0
  668. package/src/jose/jws/general/signer.ts +29 -0
  669. package/src/jose/jws/general/verifier.ts +113 -0
  670. package/src/schema-validator.ts +34 -0
  671. package/src/store/blockstore-level.ts +113 -0
  672. package/src/store/data-store-level.ts +188 -0
  673. package/src/store/index-level.ts +306 -0
  674. package/src/store/level-wrapper.ts +262 -0
  675. package/src/store/message-store-level.ts +284 -0
  676. package/src/store/storage-controller.ts +80 -0
  677. package/src/types/cache.ts +16 -0
  678. package/src/types/data-store.ts +78 -0
  679. package/src/types/delegated-grant-message.ts +15 -0
  680. package/src/types/did-types.ts +95 -0
  681. package/src/types/event-log.ts +46 -0
  682. package/src/types/event-types.ts +20 -0
  683. package/src/types/jose-types.ts +76 -0
  684. package/src/types/jws-types.ts +28 -0
  685. package/src/types/message-interface.ts +24 -0
  686. package/src/types/message-store.ts +56 -0
  687. package/src/types/message-types.ts +115 -0
  688. package/src/types/messages-types.ts +26 -0
  689. package/src/types/method-handler.ts +17 -0
  690. package/src/types/permissions-grant-descriptor.ts +79 -0
  691. package/src/types/permissions-types.ts +42 -0
  692. package/src/types/protocols-types.ts +154 -0
  693. package/src/types/records-types.ts +184 -0
  694. package/src/types/signer.ts +27 -0
  695. package/src/utils/abort.ts +31 -0
  696. package/src/utils/array.ts +39 -0
  697. package/src/utils/cid.ts +101 -0
  698. package/src/utils/data-stream.ts +85 -0
  699. package/src/utils/encoder.ts +54 -0
  700. package/src/utils/encryption.ts +145 -0
  701. package/src/utils/hd-key.ts +58 -0
  702. package/src/utils/jws.ts +95 -0
  703. package/src/utils/memory-cache.ts +31 -0
  704. package/src/utils/object.ts +55 -0
  705. package/src/utils/private-key-signer.ts +72 -0
  706. package/src/utils/protocols.ts +50 -0
  707. package/src/utils/records.ts +326 -0
  708. package/src/utils/secp256k1.ts +209 -0
  709. package/src/utils/string.ts +13 -0
  710. package/src/utils/time.ts +77 -0
  711. package/src/utils/url.ts +66 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * A class that represents a DWN error.
3
+ */
4
+ export declare class DwnError extends Error {
5
+ code: string;
6
+ constructor(code: string, message: string);
7
+ }
8
+ /**
9
+ * DWN SDK error codes.
10
+ */
11
+ export declare enum DwnErrorCode {
12
+ AuthenticateJwsMissing = "AuthenticateJwsMissing",
13
+ AuthenticateDescriptorCidMismatch = "AuthenticateDescriptorCidMismatch",
14
+ AuthenticationMoreThanOneSignatureNotSupported = "AuthenticationMoreThanOneSignatureNotSupported",
15
+ AuthorizationUnknownAuthor = "AuthorizationUnknownAuthor",
16
+ AuthorizationNotGrantedToAuthor = "AuthorizationNotGrantedToAuthor",
17
+ ComputeCidCodecNotSupported = "ComputeCidCodecNotSupported",
18
+ ComputeCidMultihashNotSupported = "ComputeCidMultihashNotSupported",
19
+ DidMethodNotSupported = "DidMethodNotSupported",
20
+ DidNotString = "DidNotString",
21
+ DidNotValid = "DidNotValid",
22
+ DidResolutionFailed = "DidResolutionFailed",
23
+ Ed25519InvalidJwk = "Ed25519InvalidJwk",
24
+ GeneralJwsVerifierGetPublicKeyNotFound = "GeneralJwsVerifierGetPublicKeyNotFound",
25
+ GeneralJwsVerifierInvalidSignature = "GeneralJwsVerifierInvalidSignature",
26
+ GrantAuthorizationGrantExpired = "GrantAuthorizationGrantExpired",
27
+ GrantAuthorizationGrantMissing = "GrantAuthorizationGrantMissing",
28
+ GrantAuthorizationGrantRevoked = "GrantAuthorizationGrantRevoked",
29
+ GrantAuthorizationInterfaceMismatch = "GrantAuthorizationInterfaceMismatch",
30
+ GrantAuthorizationMethodMismatch = "GrantAuthorizationMethodMismatch",
31
+ GrantAuthorizationNotGrantedForTenant = "GrantAuthorizationNotGrantedForTenant",
32
+ GrantAuthorizationNotGrantedToAuthor = "GrantAuthorizationNotGrantedToAuthor",
33
+ GrantAuthorizationGrantNotYetActive = "GrantAuthorizationGrantNotYetActive",
34
+ HdKeyDerivationPathInvalid = "HdKeyDerivationPathInvalid",
35
+ JwsVerifySignatureUnsupportedCrv = "JwsVerifySignatureUnsupportedCrv",
36
+ JwsDecodePlainObjectPayloadInvalid = "JwsDecodePlainObjectPayloadInvalid",
37
+ MessageGetInvalidCid = "MessageGetInvalidCid",
38
+ ParseCidCodecNotSupported = "ParseCidCodecNotSupported",
39
+ ParseCidMultihashNotSupported = "ParseCidMultihashNotSupported",
40
+ PermissionsGrantGrantedByMismatch = "PermissionsGrantGrantedByMismatch",
41
+ PermissionsGrantNotADelegatedGrant = "PermissionsGrantNotADelegatedGrant",
42
+ PermissionsGrantScopeContextIdAndProtocolPath = "PermissionsGrantScopeContextIdAndProtocolPath",
43
+ PermissionsGrantScopeSchemaProhibitedFields = "PermissionsGrantScopeSchemaProhibitedFields",
44
+ PermissionsGrantUnauthorizedGrant = "PermissionsGrantUnauthorizedGrant",
45
+ PermissionsRevokeMissingPermissionsGrant = "PermissionsRevokeMissingPermissionsGrant",
46
+ PermissionsRevokeUnauthorizedRevoke = "PermissionsRevokeUnauthorizedRevoke",
47
+ PrivateKeySignerUnableToDeduceAlgorithm = "PrivateKeySignerUnableToDeduceAlgorithm",
48
+ PrivateKeySignerUnableToDeduceKeyId = "PrivateKeySignerUnableToDeduceKeyId",
49
+ PrivateKeySignerUnsupportedCurve = "PrivateKeySignerUnsupportedCurve",
50
+ ProtocolAuthorizationActionNotAllowed = "ProtocolAuthorizationActionNotAllowed",
51
+ ProtocolAuthorizationActionRulesNotFound = "ProtocolAuthorizationActionRulesNotFound",
52
+ ProtocolAuthorizationDuplicateContextRoleRecipient = "ProtocolAuthorizationDuplicateContextRoleRecipient",
53
+ ProtocolAuthorizationDuplicateGlobalRoleRecipient = "ProtocolAuthorizationDuplicateGlobalRoleRecipient",
54
+ ProtocolAuthorizationIncorrectDataFormat = "ProtocolAuthorizationIncorrectDataFormat",
55
+ ProtocolAuthorizationIncorrectProtocolPath = "ProtocolAuthorizationIncorrectProtocolPath",
56
+ ProtocolAuthorizationInvalidSchema = "ProtocolAuthorizationInvalidSchema",
57
+ ProtocolAuthorizationInvalidType = "ProtocolAuthorizationInvalidType",
58
+ ProtocolAuthorizationMissingContextId = "ProtocolAuthorizationMissingContextId",
59
+ ProtocolAuthorizationMissingRole = "ProtocolAuthorizationMissingRole",
60
+ ProtocolAuthorizationMissingRuleSet = "ProtocolAuthorizationMissingRuleSet",
61
+ ProtocolAuthorizationParentlessIncorrectProtocolPath = "ProtocolAuthorizationParentlessIncorrectProtocolPath",
62
+ ProtocolAuthorizationNotARole = "ProtocolAuthorizationNotARole",
63
+ ProtocolAuthorizationParentNotFound = "ProtocolAuthorizationParentNotFound",
64
+ ProtocolAuthorizationProtocolNotFound = "ProtocolAuthorizationProtocolNotFound",
65
+ ProtocolAuthorizationQueryWithoutRole = "ProtocolAuthorizationQueryWithoutRole",
66
+ ProtocolAuthorizationRoleMissingRecipient = "ProtocolAuthorizationRoleMissingRecipient",
67
+ ProtocolsConfigureContextRoleAtProhibitedProtocolPath = "ProtocolsConfigureContextRoleAtProhibitedProtocolPath",
68
+ ProtocolsConfigureGlobalRoleAtProhibitedProtocolPath = "ProtocolsConfigureGlobalRoleAtProhibitedProtocolPath",
69
+ ProtocolsConfigureInvalidRole = "ProtocolsConfigureInvalidRole",
70
+ ProtocolsConfigureInvalidActionMissingOf = "ProtocolsConfigureInvalidActionMissingOf",
71
+ ProtocolsConfigureInvalidActionOfNotAllowed = "ProtocolsConfigureInvalidActionOfNotAllowed",
72
+ ProtocolsConfigureInvalidRecipientOfAction = "ProtocolsConfigureInvalidRecipientOfAction",
73
+ ProtocolsConfigureQueryNotAllowed = "ProtocolsConfigureQueryNotAllowed",
74
+ ProtocolsConfigureUnauthorized = "ProtocolsConfigureUnauthorized",
75
+ ProtocolsQueryUnauthorized = "ProtocolsQueryUnauthorized",
76
+ RecordsDecryptNoMatchingKeyEncryptedFound = "RecordsDecryptNoMatchingKeyEncryptedFound",
77
+ RecordsDeleteAuthorizationFailed = "RecordsDeleteAuthorizationFailed",
78
+ RecordsGrantAuthorizationConditionPublicationProhibited = "RecordsGrantAuthorizationConditionPublicationProhibited",
79
+ RecordsGrantAuthorizationConditionPublicationRequired = "RecordsGrantAuthorizationConditionPublicationRequired",
80
+ RecordsGrantAuthorizationScopeContextIdMismatch = "RecordsGrantAuthorizationScopeContextIdMismatch",
81
+ RecordsGrantAuthorizationScopeNotProtocol = "RecordsGrantAuthorizationScopeNotProtocol",
82
+ RecordsGrantAuthorizationScopeProtocolMismatch = "RecordsGrantAuthorizationScopeProtocolMismatch",
83
+ RecordsGrantAuthorizationScopeProtocolPathMismatch = "RecordsGrantAuthorizationScopeProtocolPathMismatch",
84
+ RecordsGrantAuthorizationScopeSchema = "RecordsGrantAuthorizationScopeSchema",
85
+ RecordsDerivePrivateKeyUnSupportedCurve = "RecordsDerivePrivateKeyUnSupportedCurve",
86
+ RecordsInvalidAncestorKeyDerivationSegment = "RecordsInvalidAncestorKeyDerivationSegment",
87
+ RecordsProtocolContextDerivationSchemeMissingContextId = "RecordsProtocolContextDerivationSchemeMissingContextId",
88
+ RecordsProtocolPathDerivationSchemeMissingProtocol = "RecordsProtocolPathDerivationSchemeMissingProtocol",
89
+ RecordsQueryFilterMissingRequiredProperties = "RecordsQueryFilterMissingRequiredProperties",
90
+ RecordsReadReturnedMultiple = "RecordsReadReturnedMultiple",
91
+ RecordsReadAuthorizationFailed = "RecordsReadAuthorizationFailed",
92
+ RecordsSchemasDerivationSchemeMissingSchema = "RecordsSchemasDerivationSchemeMissingSchema",
93
+ RecordsValidateIntegrityDelegatedGrantAndIdExistenceMismatch = "RecordsValidateIntegrityDelegatedGrantAndIdExistenceMismatch",
94
+ RecordsValidateIntegrityGrantedToAndSignerMismatch = "RecordsValidateIntegrityGrantedToAndSignerMismatch",
95
+ RecordsWriteAttestationIntegrityMoreThanOneSignature = "RecordsWriteAttestationIntegrityMoreThanOneSignature",
96
+ RecordsWriteAttestationIntegrityDescriptorCidMismatch = "RecordsWriteAttestationIntegrityDescriptorCidMismatch",
97
+ RecordsWriteAttestationIntegrityInvalidPayloadProperty = "RecordsWriteAttestationIntegrityInvalidPayloadProperty",
98
+ RecordsWriteAuthorizationFailed = "RecordsWriteAuthorizationFailed",
99
+ RecordsWriteCreateMissingSigner = "RecordsWriteCreateMissingSigner",
100
+ RecordsWriteCreateContextIdAndParentIdMutuallyInclusive = "RecordsWriteCreateContextIdAndParentIdMutuallyInclusive",
101
+ RecordsWriteCreateDataAndDataCidMutuallyExclusive = "RecordsWriteCreateDataAndDataCidMutuallyExclusive",
102
+ RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive = "RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive",
103
+ RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive = "RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive",
104
+ RecordsWriteDataCidMismatch = "RecordsWriteDataCidMismatch",
105
+ RecordsWriteDataSizeMismatch = "RecordsWriteDataSizeMismatch",
106
+ RecordsWriteGetEntryIdUndefinedAuthor = "RecordsWriteGetEntryIdUndefinedAuthor",
107
+ RecordsWriteGetInitialWriteNotFound = "RecordsWriteGetInitialWriteNotFound",
108
+ RecordsWriteImmutablePropertyChanged = "RecordsWriteImmutablePropertyChanged",
109
+ RecordsWriteMissingAuthorizationSigner = "RecordsWriteMissingAuthorizationSigner",
110
+ RecordsWriteMissingSigner = "RecordsWriteMissingSigner",
111
+ RecordsWriteMissingDataInPrevious = "RecordsWriteMissingDataInPrevious",
112
+ RecordsWriteMissingDataAssociation = "RecordsWriteMissingDataAssociation",
113
+ RecordsWriteMissingDataStream = "RecordsWriteMissingDataStream",
114
+ RecordsWriteMissingProtocol = "RecordsWriteMissingProtocol",
115
+ RecordsWriteMissingSchema = "RecordsWriteMissingSchema",
116
+ RecordsWriteOwnerAndTenantMismatch = "RecordsWriteOwnerAndTenantMismatch",
117
+ RecordsWriteSignAsOwnerUnknownAuthor = "RecordsWriteSignAsOwnerUnknownAuthor",
118
+ RecordsWriteValidateIntegrityAttestationMismatch = "RecordsWriteValidateIntegrityAttestationMismatch",
119
+ RecordsWriteValidateIntegrityContextIdMismatch = "RecordsWriteValidateIntegrityContextIdMismatch",
120
+ RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload = "RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload",
121
+ RecordsWriteValidateIntegrityDateCreatedMismatch = "RecordsWriteValidateIntegrityDateCreatedMismatch",
122
+ RecordsWriteValidateIntegrityEncryptionCidMismatch = "RecordsWriteValidateIntegrityEncryptionCidMismatch",
123
+ RecordsWriteValidateIntegrityRecordIdUnauthorized = "RecordsWriteValidateIntegrityRecordIdUnauthorized",
124
+ SchemaValidatorSchemaNotFound = "SchemaValidatorSchemaNotFound",
125
+ SchemaValidationFailure = "SchemaValidationFailure",
126
+ Secp256k1KeyNotValid = "Secp256k1KeyNotValid",
127
+ TimestampInvalid = "TimestampInvalid",
128
+ UrlProtocolNotNormalized = "UrlProtocolNotNormalized",
129
+ UrlProtocolNotNormalizable = "UrlProtocolNotNormalizable",
130
+ UrlSchemaNotNormalized = "UrlSchemaNotNormalized",
131
+ UrlSchemaNotNormalizable = "UrlSchemaNotNormalizable"
132
+ }
133
+ //# sourceMappingURL=dwn-error.d.ts.map
@@ -0,0 +1 @@
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,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,2BAA2B,gCAAgC;IAC3D,+BAA+B,oCAAoC;IACnE,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,sCAAsC,2CAA2C;IACjF,kCAAkC,uCAAuC;IACzE,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,kCAAkC,uCAAuC;IACzE,oBAAoB,yBAAyB;IAC7C,yBAAyB,8BAA8B;IACvD,6BAA6B,kCAAkC;IAC/D,iCAAiC,sCAAsC;IACvE,kCAAkC,uCAAuC;IACzE,6CAA6C,kDAAkD;IAC/F,2CAA2C,gDAAgD;IAC3F,iCAAiC,sCAAsC;IACvE,wCAAwC,6CAA6C;IACrF,mCAAmC,wCAAwC;IAC3E,uCAAuC,4CAA4C;IACnF,mCAAmC,wCAAwC;IAC3E,gCAAgC,qCAAqC;IACrE,qCAAqC,0CAA0C;IAC/E,wCAAwC,6CAA6C;IACrF,kDAAkD,uDAAuD;IACzG,iDAAiD,sDAAsD;IACvG,wCAAwC,6CAA6C;IACrF,0CAA0C,+CAA+C;IACzF,kCAAkC,uCAAuC;IACzE,gCAAgC,qCAAqC;IACrE,qCAAqC,0CAA0C;IAC/E,gCAAgC,qCAAqC;IACrE,mCAAmC,wCAAwC;IAC3E,oDAAoD,yDAAyD;IAC7G,6BAA6B,kCAAkC;IAC/D,mCAAmC,wCAAwC;IAC3E,qCAAqC,0CAA0C;IAC/E,qCAAqC,0CAA0C;IAC/E,yCAAyC,8CAA8C;IACvF,qDAAqD,0DAA0D;IAC/G,oDAAoD,yDAAyD;IAC7G,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,2CAA2C,gDAAgD;IAC3F,0CAA0C,+CAA+C;IACzF,iCAAiC,sCAAsC;IACvE,8BAA8B,mCAAmC;IACjE,0BAA0B,+BAA+B;IACzD,yCAAyC,8CAA8C;IACvF,gCAAgC,qCAAqC;IACrE,uDAAuD,4DAA4D;IACnH,qDAAqD,0DAA0D;IAC/G,+CAA+C,oDAAoD;IACnG,yCAAyC,8CAA8C;IACvF,8CAA8C,mDAAmD;IACjG,kDAAkD,uDAAuD;IACzG,oCAAoC,yCAAyC;IAC7E,uCAAuC,4CAA4C;IACnF,0CAA0C,+CAA+C;IACzF,sDAAsD,2DAA2D;IACjH,kDAAkD,uDAAuD;IACzG,2CAA2C,gDAAgD;IAC3F,2BAA2B,gCAAgC;IAC3D,8BAA8B,mCAAmC;IACjE,2CAA2C,gDAAgD;IAC3F,4DAA4D,iEAAiE;IAC7H,kDAAkD,uDAAuD;IACzG,oDAAoD,yDAAyD;IAC7G,qDAAqD,0DAA0D;IAC/G,sDAAsD,2DAA2D;IACjH,+BAA+B,oCAAoC;IACnE,+BAA+B,oCAAoC;IACnE,uDAAuD,4DAA4D;IACnH,iDAAiD,sDAAsD;IACvG,qDAAqD,0DAA0D;IAC/G,0DAA0D,+DAA+D;IACzH,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,qCAAqC,0CAA0C;IAC/E,mCAAmC,wCAAwC;IAC3E,oCAAoC,yCAAyC;IAC7E,sCAAsC,2CAA2C;IACjF,yBAAyB,8BAA8B;IACvD,iCAAiC,sCAAsC;IACvE,kCAAkC,uCAAuC;IACzE,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,yBAAyB,8BAA8B;IACvD,kCAAkC,uCAAuC;IACzE,oCAAoC,yCAAyC;IAC7E,gDAAgD,qDAAqD;IACrG,8CAA8C,mDAAmD;IACjG,iEAAiE,sEAAsE;IACvI,gDAAgD,qDAAqD;IACrG,kDAAkD,uDAAuD;IACzG,iDAAiD,sDAAsD;IACvG,6BAA6B,kCAAkC;IAC/D,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;CACtD"}
@@ -0,0 +1,35 @@
1
+ import type { GenericMessage } from '../types/message-types.js';
2
+ import type { MessageStore } from '../types/message-store.js';
3
+ import type { PermissionsGrantMessage } from '../types/permissions-types.js';
4
+ export declare class GrantAuthorization {
5
+ /**
6
+ * Performs PermissionsGrant-based authorization against the given message
7
+ * Does not validate grant `conditions` or `scope` beyond `interface` and `method`
8
+ * @throws {DwnError} if authorization fails
9
+ */
10
+ static authorizeGenericMessage(tenant: string, incomingMessage: GenericMessage, author: string, permissionsGrantMessage: PermissionsGrantMessage, messageStore: MessageStore): Promise<void>;
11
+ /**
12
+ * Fetches PermissionsGrantMessage with CID `permissionsGrantId`.
13
+ * @returns the PermissionsGrantMessage with CID `permissionsGrantId` if message exists
14
+ * @throws {Error} if PermissionsGrantMessage with CID `permissionsGrantId` does not exist
15
+ */
16
+ static fetchGrant(tenant: string, messageStore: MessageStore, permissionsGrantId: string): Promise<PermissionsGrantMessage>;
17
+ /**
18
+ * Verifies the given `grantedTo` and `grantedFor` values against the given permissions grant and throws error if there is a mismatch.
19
+ */
20
+ private static verifyGrantedToAndGrantedFor;
21
+ /**
22
+ * Verify that the incoming message is within the allowed time frame of the grant,
23
+ * and the grant has not been revoked.
24
+ * @param permissionsGrantId Purely being passed as an optimization. Technically can be computed from `permissionsGrantMessage`.
25
+ * @throws {DwnError} if incomingMessage has timestamp for a time in which the grant is not active.
26
+ */
27
+ private static verifyGrantActive;
28
+ /**
29
+ * Verify that the `interface` and `method` grant scopes match the incoming message
30
+ * @param permissionsGrantId Purely being passed for logging purposes.
31
+ * @throws {DwnError} if the `interface` and `method` of the incoming message do not match the scope of the PermissionsGrant
32
+ */
33
+ private static verifyGrantScopeInterfaceAndMethod;
34
+ }
35
+ //# sourceMappingURL=grant-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grant-authorization.d.ts","sourceRoot":"","sources":["../../../../src/core/grant-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAM7E,qBAAa,kBAAkB;IAE7B;;;;OAIG;WACiB,uBAAuB,CACzC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,cAAc,EAC/B,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;OAIG;WACiB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,uBAAuB,CAAC;IAgBnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAoB3C;;;;;OAKG;mBACkB,iBAAiB;IAuCtC;;;;OAIG;mBACkB,kCAAkC;CAkBxD"}
@@ -0,0 +1,33 @@
1
+ import type { QueryResultEntry } from '../types/message-types.js';
2
+ import type { Readable } from 'readable-stream';
3
+ type Status = {
4
+ code: number;
5
+ detail: string;
6
+ };
7
+ export type GenericMessageReply = {
8
+ status: Status;
9
+ };
10
+ export declare function messageReplyFromError(e: unknown, code: number): GenericMessageReply;
11
+ /**
12
+ * Catch-all message reply type. It is recommended to use GenericMessageReply or a message-specific reply type wherever possible.
13
+ */
14
+ export type UnionMessageReply = GenericMessageReply & {
15
+ /**
16
+ * Resulting message entries or events returned from the invocation of the corresponding message.
17
+ * e.g. the resulting messages from a RecordsQuery
18
+ * Mutually exclusive with `data`.
19
+ */
20
+ entries?: QueryResultEntry[];
21
+ /**
22
+ * Data corresponding to the message received if applicable (e.g. RecordsRead).
23
+ * Mutually exclusive with `entries` and `cursor`.
24
+ */
25
+ data?: Readable;
26
+ /**
27
+ * A cursor for pagination if applicable (e.g. RecordsQuery).
28
+ * Mutually exclusive with `data`.
29
+ */
30
+ cursor?: string;
31
+ };
32
+ export {};
33
+ //# sourceMappingURL=message-reply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-reply.d.ts","sourceRoot":"","sources":["../../../../src/core/message-reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAKnF;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG;IACpD;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAE7B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { DelegatedGrantMessage } from '../types/delegated-grant-message.js';
2
+ import type { GeneralJws } from '../types/jws-types.js';
3
+ import type { Signer } from '../types/signer.js';
4
+ import type { AuthorizationModel, Descriptor, GenericMessage, GenericSignaturePayload } from '../types/message-types.js';
5
+ /**
6
+ * A class containing utility methods for working with DWN messages.
7
+ */
8
+ export declare class Message {
9
+ /**
10
+ * Validates the given message against the corresponding JSON schema.
11
+ * @throws {Error} if fails validation.
12
+ */
13
+ static validateJsonSchema(rawMessage: any): void;
14
+ /**
15
+ * Gets the DID of the signer of the given message, returns `undefined` if message is not signed.
16
+ */
17
+ static getSigner(message: GenericMessage): string | undefined;
18
+ /**
19
+ * Gets the CID of the given message.
20
+ */
21
+ static getCid(message: GenericMessage): Promise<string>;
22
+ /**
23
+ * Compares message CID in lexicographical order according to the spec.
24
+ * @returns 1 if `a` is larger than `b`; -1 if `a` is smaller/older than `b`; 0 otherwise (same message)
25
+ */
26
+ static compareCid(a: GenericMessage, b: GenericMessage): Promise<number>;
27
+ /**
28
+ * Creates the `authorization` property to be included in a DWN message.
29
+ * @param signer Message signer.
30
+ * @returns {AuthorizationModel} used as an `authorization` property.
31
+ */
32
+ static createAuthorization(input: {
33
+ descriptor: Descriptor;
34
+ signer: Signer;
35
+ delegatedGrant?: DelegatedGrantMessage;
36
+ permissionsGrantId?: string;
37
+ protocolRole?: string;
38
+ }): Promise<AuthorizationModel>;
39
+ /**
40
+ * Creates a generic signature from the given DWN message descriptor by including `descriptorCid` as the required property in the signature payload.
41
+ * NOTE: there is an opportunity to consolidate RecordsWrite.createSignerSignature() wth this method
42
+ */
43
+ static createSignature(descriptor: Descriptor, signer: Signer, additionalPayloadProperties?: {
44
+ delegatedGrantId?: string;
45
+ permissionsGrantId?: string;
46
+ protocolRole?: string;
47
+ }): Promise<GeneralJws>;
48
+ /**
49
+ * @returns newest message in the array. `undefined` if given array is empty.
50
+ */
51
+ static getNewestMessage(messages: GenericMessage[]): Promise<GenericMessage | undefined>;
52
+ /**
53
+ * @returns oldest message in the array. `undefined` if given array is empty.
54
+ */
55
+ static getOldestMessage(messages: GenericMessage[]): Promise<GenericMessage | undefined>;
56
+ /**
57
+ * Checks if first message is newer than second message.
58
+ * @returns `true` if `a` is newer than `b`; `false` otherwise
59
+ */
60
+ static isNewer(a: GenericMessage, b: GenericMessage): Promise<boolean>;
61
+ /**
62
+ * Checks if first message is older than second message.
63
+ * @returns `true` if `a` is older than `b`; `false` otherwise
64
+ */
65
+ static isOlder(a: GenericMessage, b: GenericMessage): Promise<boolean>;
66
+ /**
67
+ * Compares the `messageTimestamp` of the given messages with a fallback to message CID according to the spec.
68
+ * @returns 1 if `a` is larger/newer than `b`; -1 if `a` is smaller/older than `b`; 0 otherwise (same age)
69
+ */
70
+ static compareMessageTimestamp(a: GenericMessage, b: GenericMessage): Promise<number>;
71
+ /**
72
+ * Validates the structural integrity of the message signature given.
73
+ * NOTE: signature is not verified.
74
+ * @param payloadJsonSchemaKey The key to look up the JSON schema referenced in `compile-validators.js` and perform payload schema validation on.
75
+ * @returns the parsed JSON payload object if validation succeeds.
76
+ */
77
+ static validateMessageSignatureIntegrity(messageSignature: GeneralJws, messageDescriptor: Descriptor, payloadJsonSchemaKey?: string): Promise<GenericSignaturePayload>;
78
+ }
79
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/core/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAWzH;;GAEG;AACH,qBAAa,OAAO;IAClB;;;OAGG;WACW,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IASvD;;OAEG;WACW,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IASpE;;OAEG;WACiB,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBpE;;;OAGG;WACiB,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrF;;;;OAIG;WACiB,mBAAmB,CAAC,KAAK,EAAE;QAC7C,UAAU,EAAE,UAAU,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,qBAAqB,CAAC;QACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqB/B;;;OAGG;WACiB,eAAe,CACjC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,2BAA2B,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9G,OAAO,CAAC,UAAU,CAAC;IActB;;OAEG;WACiB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAWrG;;OAEG;WACiB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAWrG;;;OAGG;WACiB,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;;OAGG;WACiB,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;;OAGG;WACiB,uBAAuB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAalG;;;;;OAKG;WACiB,iCAAiC,CACnD,gBAAgB,EAAE,UAAU,EAC5B,iBAAiB,EAAE,UAAU,EAC7B,oBAAoB,GAAE,MAAkC,GACvD,OAAO,CAAC,uBAAuB,CAAC;CAuBpC"}
@@ -0,0 +1,85 @@
1
+ import type { MessageStore } from '../types/message-store.js';
2
+ import type { RecordsDelete } from '../interfaces/records-delete.js';
3
+ import type { RecordsQuery } from '../interfaces/records-query.js';
4
+ import type { RecordsRead } from '../interfaces/records-read.js';
5
+ import { RecordsWrite } from '../interfaces/records-write.js';
6
+ export declare class ProtocolAuthorization {
7
+ /**
8
+ * Performs validation on the structure of RecordsWrite messages that use a protocol.
9
+ * @throws {Error} if validation fails.
10
+ */
11
+ static validateReferentialIntegrity(tenant: string, incomingMessage: RecordsWrite, messageStore: MessageStore): Promise<void>;
12
+ /**
13
+ * Performs protocol-based authorization against the incoming RecordsWrite message.
14
+ * @throws {Error} if authorization fails.
15
+ */
16
+ static authorizeWrite(tenant: string, incomingMessage: RecordsWrite, messageStore: MessageStore): Promise<void>;
17
+ /**
18
+ * Performs protocol-based authorization against the incoming RecordsRead message.
19
+ * @param newestRecordsWrite Either the incomingMessage itself if the incoming is a RecordsWrite,
20
+ * or the latest RecordsWrite associated with the recordId being read.
21
+ * @throws {Error} if authorization fails.
22
+ */
23
+ static authorizeRead(tenant: string, incomingMessage: RecordsRead, newestRecordsWrite: RecordsWrite, messageStore: MessageStore): Promise<void>;
24
+ /**
25
+ * Performs protocol-based authorization against the incoming RecordsQuery message.
26
+ * @throws {Error} if authorization fails.
27
+ */
28
+ static authorizeQuery(tenant: string, incomingMessage: RecordsQuery, messageStore: MessageStore): Promise<void>;
29
+ static authorizeDelete(tenant: string, incomingMessage: RecordsDelete, newestRecordsWrite: RecordsWrite, messageStore: MessageStore): Promise<void>;
30
+ /**
31
+ * Fetches the protocol definition based on the protocol specified in the given message.
32
+ */
33
+ private static fetchProtocolDefinition;
34
+ /**
35
+ * Constructs a chain of ancestor messages
36
+ * @param newestRecordsWrite The newest RecordsWrite associated with the recordId being written.
37
+ * This will be the incoming RecordsWrite itself if the incoming message is a RecordsWrite.
38
+ * @returns the ancestor chain of messages where the first element is the root of the chain; returns empty array if no parent is specified.
39
+ */
40
+ private static constructAncestorMessageChain;
41
+ /**
42
+ * Gets the rule set corresponding to the given message chain.
43
+ */
44
+ private static getRuleSet;
45
+ /**
46
+ * Verifies the `protocolPath` declared in the given message (if it is a RecordsWrite) matches the path of actual ancestor chain.
47
+ * @throws {DwnError} if fails verification.
48
+ */
49
+ private static verifyProtocolPath;
50
+ /**
51
+ * Verifies the `dataFormat` and `schema` declared in the given message (if it is a RecordsWrite) matches dataFormat
52
+ * and schema of the type in the given protocol.
53
+ * @throws {DwnError} if fails verification.
54
+ */
55
+ private static verifyType;
56
+ /**
57
+ * Check if the incoming message is invoking a role. If so, validate the invoked role.
58
+ */
59
+ private static verifyInvokedRole;
60
+ /**
61
+ * Returns a list of ProtocolAction(s) based on the incoming message, one of which must be allowed for the message to be authorized.
62
+ * NOTE: the reason why there could be multiple actions is because in case of an "update" RecordsWrite by the original record author,
63
+ * the RecordsWrite can either be authorized by a `write` or `update` allow rule. It is important to recognize that the `write` access that allowed
64
+ * the original record author to create the record maybe revoked (e.g. by role revocation) by the time an "update" by the same author is attempted.
65
+ */
66
+ private static getActionsSeekingARuleMatch;
67
+ /**
68
+ * Verifies the action (e.g. read/write) specified in the given message matches the allowed actions in the rule set.
69
+ * @throws {Error} if action not allowed.
70
+ */
71
+ private static verifyAllowedActions;
72
+ /**
73
+ * Verifies that writes to a $globalRole or $contextRole record do not have the same recipient as an existing RecordsWrite
74
+ * to the same $globalRole or the same $contextRole in the same context.
75
+ */
76
+ private static verifyUniqueRoleRecipient;
77
+ private static getRuleSetAtProtocolPath;
78
+ /**
79
+ * Checks if there is a record in the ancestor chain matching the `who: 'author' | 'recipient'` action rule.
80
+ * @returns true if the action rule is satisfied. false otherwise
81
+ */
82
+ private static checkActor;
83
+ private static getTypeName;
84
+ }
85
+ //# sourceMappingURL=protocol-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-authorization.d.ts","sourceRoot":"","sources":["../../../../src/core/protocol-authorization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,qBAAa,qBAAqB;IAEhC;;;OAGG;WACiB,4BAA4B,CAC9C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAoChB;;;OAGG;WACiB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAsChB;;;;;OAKG;WACiB,aAAa,CAC/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,EAC5B,kBAAkB,EAAE,YAAY,EAChC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAsChB;;;OAGG;WACiB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;WAqCI,eAAe,CACjC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,aAAa,EAC9B,kBAAkB,EAAE,YAAY,EAChC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;mBACkB,uBAAuB;IAqB5C;;;;;OAKG;mBACkB,6BAA6B;IA6ClD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;;OAGG;mBACkB,kBAAkB;IAsCvC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAuCzB;;OAEG;mBACkB,iBAAiB;IAoDtC;;;;;OAKG;mBACkB,2BAA2B;IAkChD;;;OAGG;mBACkB,oBAAoB;IA+DzC;;;OAGG;mBACkB,yBAAyB;IAmD9C,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAmBvC;;;OAGG;mBACkB,UAAU;IA2B/B,OAAO,CAAC,MAAM,CAAC,WAAW;CAG3B"}
@@ -0,0 +1,38 @@
1
+ import type { MessageStore } from '../types/message-store.js';
2
+ import type { PermissionsGrantMessage } from '../types/permissions-types.js';
3
+ import type { RecordsRead } from '../interfaces/records-read.js';
4
+ import type { RecordsWriteMessage } from '../types/records-types.js';
5
+ export declare class RecordsGrantAuthorization {
6
+ /**
7
+ * Authorizes the given RecordsWrite in the scope of the DID given.
8
+ */
9
+ static authorizeWrite(tenant: string, incomingMessage: RecordsWriteMessage, author: string, permissionsGrantMessage: PermissionsGrantMessage, messageStore: MessageStore): Promise<void>;
10
+ /**
11
+ * Authorizes the scope of a PermissionsGrant for RecordsRead.
12
+ */
13
+ static authorizeRead(tenant: string, incomingMessage: RecordsRead, newestRecordsWriteMessage: RecordsWriteMessage, author: string, permissionsGrantMessage: PermissionsGrantMessage, messageStore: MessageStore): Promise<void>;
14
+ /**
15
+ * @param recordsWrite The source of the record being authorized. If the incoming message is a write,
16
+ * then this is the incoming RecordsWrite. Otherwise, it is the newest existing RecordsWrite.
17
+ */
18
+ private static verifyScope;
19
+ /**
20
+ * Authorizes a grant scope for a protocol record
21
+ */
22
+ private static authorizeProtocolRecord;
23
+ /**
24
+ * Authorizes a grant scope for a non-protocol record
25
+ */
26
+ private static authorizeFlatRecord;
27
+ /**
28
+ * Verifies grant `conditions`.
29
+ * Currently the only condition is `published` which only applies to RecordsWrites
30
+ */
31
+ private static verifyConditions;
32
+ /**
33
+ * Checks if scope has no restrictions beyond interface and method.
34
+ * Grant-holder is authorized to access any record.
35
+ */
36
+ private static isUnrestrictedScope;
37
+ }
38
+ //# sourceMappingURL=records-grant-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records-grant-authorization.d.ts","sourceRoot":"","sources":["../../../../src/core/records-grant-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMrE,qBAAa,yBAAyB;IACpC;;OAEG;WACiB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAchB;;OAEG;WACiB,aAAa,CAC/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,EAC5B,yBAAyB,EAAE,mBAAmB,EAC9C,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAiB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAqCtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAInC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * An interface that determines if a DID is a tenant of the DWN.
3
+ */
4
+ export interface TenantGate {
5
+ /**
6
+ * @returns `true` if the given DID is a tenant of the DWN; `false` otherwise
7
+ */
8
+ isTenant(did: string): Promise<boolean>;
9
+ }
10
+ /**
11
+ * A tenant gate that treats every DID as a tenant.
12
+ */
13
+ export declare class AllowAllTenantGate implements TenantGate {
14
+ isTenant(_did: string): Promise<boolean>;
15
+ }
16
+ //# sourceMappingURL=tenant-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-gate.d.ts","sourceRoot":"","sources":["../../../../src/core/tenant-gate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGtD"}
@@ -0,0 +1,26 @@
1
+ import type { DidMethodResolver, DidResolutionResult } from '../types/did-types.js';
2
+ /**
3
+ * did:dht Resolver.
4
+ * Resolves DIDs using the Pkarr DHT network.
5
+ *
6
+ * Helpful Resources:
7
+ * * [DID-DHT Spec](https://did-dht.com/)
8
+ */
9
+ export declare class DidDhtResolver implements DidMethodResolver {
10
+ private pkarrRelay;
11
+ constructor(pkarrRelay?: string);
12
+ method(): string;
13
+ resolve(did: string): Promise<DidResolutionResult>;
14
+ /**
15
+ * Converts a signed pkarr relay payload (`sig + seq + dns-packet`) into a DID Document.
16
+ */
17
+ private fromDnsPacket;
18
+ private extractRawDnsPacket;
19
+ private txtToString;
20
+ private parseTxtRecord;
21
+ private recordHead;
22
+ private keyMaterialToJwk;
23
+ private base64UrlToBytes;
24
+ private static defaultRelayUrl;
25
+ }
26
+ //# sourceMappingURL=did-dht-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-dht-resolver.d.ts","sourceRoot":"","sources":["../../../../src/did/did-dht-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjG;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,GAAE,MAAyC;IAIjE,MAAM,IAAI,MAAM;IAIV,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6CxD;;OAEG;YACW,aAAa;IAoG3B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;YAcJ,gBAAgB;IAe9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,MAAM,CAAC,eAAe;CAI/B"}
@@ -0,0 +1,20 @@
1
+ import type { DidMethodResolver, DidResolutionResult } from '../types/did-types.js';
2
+ /**
3
+ * Resolver for ION DIDs.
4
+ *
5
+ * NOTE: For production use, consider using ion-sidtree in a Docker container
6
+ * to resolve ION DIDs locally instead of relying on external resolution endpoints.
7
+ * This would provide better reliability and performance.
8
+ */
9
+ export declare class DidIonResolver implements DidMethodResolver {
10
+ private resolutionEndpoint;
11
+ private fetchFn;
12
+ /**
13
+ * @param resolutionEndpoint optional custom URL to send DID resolution request to
14
+ * @param fetchFn optional custom fetch function for testing
15
+ */
16
+ constructor(resolutionEndpoint?: string, fetchFn?: typeof globalThis.fetch);
17
+ method(): string;
18
+ resolve(did: string): Promise<DidResolutionResult>;
19
+ }
20
+ //# sourceMappingURL=did-ion-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-ion-resolver.d.ts","sourceRoot":"","sources":["../../../../src/did/did-ion-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAYpF;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IAQpD,OAAO,CAAC,kBAAkB;IAP5B,OAAO,CAAC,OAAO,CAA0B;IAEzC;;;OAGG;gBAEO,kBAAkB,GAAE,MAA+D,EAC3F,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK;IAKnC,MAAM,IAAI,MAAM;IAIV,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAczD"}
@@ -0,0 +1,32 @@
1
+ import type { DidMethodResolver, DidResolutionResult } from '../types/did-types.js';
2
+ import type { KeyMaterial } from '../types/jose-types.js';
3
+ /**
4
+ * did:key Resolver.
5
+ * * **NOTE**: Key support is limited to Ed25519 and SECP256k1.
6
+ * * **NOTE**: `verificationMethod` support is limited to `JsonWebKey2020`
7
+ *
8
+ * Helpful Resources:
9
+ * * [DID-Key Draft Spec](https://w3c-ccg.github.io/did-method-key/)
10
+ */
11
+ export declare class DidKeyResolver implements DidMethodResolver {
12
+ method(): string;
13
+ /**
14
+ * Gets the number of bytes of the multicodec header in the `did:key` DID.
15
+ * @param did - A `did:key` DID
16
+ * @returns size of the multicodec head in number of bytes
17
+ */
18
+ static getMulticodecSize(did: Uint8Array): number;
19
+ resolve(did: string): Promise<DidResolutionResult>;
20
+ /**
21
+ * Generates a new ed25519 public/private key pair. Creates a DID using the private key.
22
+ * @returns DID and its key material.
23
+ */
24
+ static generate(): Promise<{
25
+ did: string;
26
+ } & KeyMaterial>;
27
+ /**
28
+ * Gets the fully qualified key ID of a `did:key` DID. ie. '<did>#<method-specific-id>'
29
+ */
30
+ static getKeyId(did: string): string;
31
+ }
32
+ //# sourceMappingURL=did-key-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-key-resolver.d.ts","sourceRoot":"","sources":["../../../../src/did/did-key-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAOjG,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,wBAAwB,CAAC;AAErE;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;WACW,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAiBlD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6DxD;;;OAGG;WACiB,QAAQ,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC;IAiBtE;;OAEG;WACW,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAM5C"}
@@ -0,0 +1,20 @@
1
+ import type { Cache } from '../types/cache.js';
2
+ import type { DidMethodResolver, DidResolutionResult } from '../types/did-types.js';
3
+ /**
4
+ * A DID resolver that by default supports `did:key`, `did:ion`, and `did:dht` DIDs.
5
+ */
6
+ export declare class DidResolver {
7
+ private didResolvers;
8
+ private cache;
9
+ constructor(resolvers?: DidMethodResolver[], cache?: Cache);
10
+ /**
11
+ * attempt to resolve the DID provided
12
+ * @throws {Error} if DID is invalid
13
+ * @throws {Error} if DID method is not supported
14
+ * @throws {Error} if resolving DID fails
15
+ * @param did - the DID to resolve
16
+ * @returns {DidResolutionResult}
17
+ */
18
+ resolve(did: string): Promise<DidResolutionResult>;
19
+ }
20
+ //# sourceMappingURL=did-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-resolver.d.ts","sourceRoot":"","sources":["../../../../src/did/did-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AASpF;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,KAAK,CAAQ;gBAET,SAAS,CAAC,EAAE,iBAAiB,EAAE,EAAE,KAAK,CAAC,EAAC,KAAK;IAoBzD;;;;;;;OAOG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA+BhE"}
@@ -0,0 +1,15 @@
1
+ export declare class Did {
2
+ /**
3
+ * Gets the method specific ID segment of a DID. ie. did:<method-name>:<method-specific-id>
4
+ */
5
+ static getMethodSpecificId(did: string): string;
6
+ /**
7
+ * @param did - the DID to validate
8
+ */
9
+ static validate(did: unknown): void;
10
+ /**
11
+ * Gets the method name from a DID. ie. did:<method-name>:<method-specific-id>
12
+ */
13
+ static getMethodName(did: string): string;
14
+ }
15
+ //# sourceMappingURL=did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../../../src/did/did.ts"],"names":[],"mappings":"AAKA,qBAAa,GAAG;IACd;;OAEG;WACW,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMtD;;OAEG;WACW,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY1C;;OAEG;WACW,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAKjD"}