@enbox/agent 0.0.1

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 (348) hide show
  1. package/dist/browser.js +2215 -0
  2. package/dist/browser.js.map +7 -0
  3. package/dist/browser.mjs +2215 -0
  4. package/dist/browser.mjs.map +7 -0
  5. package/dist/cjs/index.js +8530 -0
  6. package/dist/cjs/index.js.map +7 -0
  7. package/dist/cjs/package.json +1 -0
  8. package/dist/esm/agent-did-resolver-cache.js +87 -0
  9. package/dist/esm/agent-did-resolver-cache.js.map +1 -0
  10. package/dist/esm/bearer-identity.js +41 -0
  11. package/dist/esm/bearer-identity.js.map +1 -0
  12. package/dist/esm/connect.js +191 -0
  13. package/dist/esm/connect.js.map +1 -0
  14. package/dist/esm/crypto-api.js +346 -0
  15. package/dist/esm/crypto-api.js.map +1 -0
  16. package/dist/esm/did-api.js +278 -0
  17. package/dist/esm/did-api.js.map +1 -0
  18. package/dist/esm/dwn-api.js +336 -0
  19. package/dist/esm/dwn-api.js.map +1 -0
  20. package/dist/esm/dwn-registrar.js +120 -0
  21. package/dist/esm/dwn-registrar.js.map +1 -0
  22. package/dist/esm/hd-identity-vault.js +729 -0
  23. package/dist/esm/hd-identity-vault.js.map +1 -0
  24. package/dist/esm/identity-api.js +262 -0
  25. package/dist/esm/identity-api.js.map +1 -0
  26. package/dist/esm/index.js +23 -0
  27. package/dist/esm/index.js.map +1 -0
  28. package/dist/esm/local-key-manager.js +498 -0
  29. package/dist/esm/local-key-manager.js.map +1 -0
  30. package/dist/esm/oidc.js +507 -0
  31. package/dist/esm/oidc.js.map +1 -0
  32. package/dist/esm/permissions-api.js +322 -0
  33. package/dist/esm/permissions-api.js.map +1 -0
  34. package/dist/esm/prototyping/clients/dwn-rpc-types.js +2 -0
  35. package/dist/esm/prototyping/clients/dwn-rpc-types.js.map +1 -0
  36. package/dist/esm/prototyping/clients/dwn-server-info-cache-memory.js +74 -0
  37. package/dist/esm/prototyping/clients/dwn-server-info-cache-memory.js.map +1 -0
  38. package/dist/esm/prototyping/clients/http-dwn-rpc-client.js +105 -0
  39. package/dist/esm/prototyping/clients/http-dwn-rpc-client.js.map +1 -0
  40. package/dist/esm/prototyping/clients/json-rpc-socket.js +150 -0
  41. package/dist/esm/prototyping/clients/json-rpc-socket.js.map +1 -0
  42. package/dist/esm/prototyping/clients/json-rpc.js +58 -0
  43. package/dist/esm/prototyping/clients/json-rpc.js.map +1 -0
  44. package/dist/esm/prototyping/clients/server-info-types.js +2 -0
  45. package/dist/esm/prototyping/clients/server-info-types.js.map +1 -0
  46. package/dist/esm/prototyping/clients/web-socket-clients.js +90 -0
  47. package/dist/esm/prototyping/clients/web-socket-clients.js.map +1 -0
  48. package/dist/esm/prototyping/common/object.js +14 -0
  49. package/dist/esm/prototyping/common/object.js.map +1 -0
  50. package/dist/esm/prototyping/common/type-utils.js +2 -0
  51. package/dist/esm/prototyping/common/type-utils.js.map +1 -0
  52. package/dist/esm/prototyping/crypto/algorithms/aes-gcm.js +147 -0
  53. package/dist/esm/prototyping/crypto/algorithms/aes-gcm.js.map +1 -0
  54. package/dist/esm/prototyping/crypto/algorithms/aes-kw.js +137 -0
  55. package/dist/esm/prototyping/crypto/algorithms/aes-kw.js.map +1 -0
  56. package/dist/esm/prototyping/crypto/algorithms/ecdsa.js +307 -0
  57. package/dist/esm/prototyping/crypto/algorithms/ecdsa.js.map +1 -0
  58. package/dist/esm/prototyping/crypto/algorithms/eddsa.js +264 -0
  59. package/dist/esm/prototyping/crypto/algorithms/eddsa.js.map +1 -0
  60. package/dist/esm/prototyping/crypto/algorithms/hkdf.js +39 -0
  61. package/dist/esm/prototyping/crypto/algorithms/hkdf.js.map +1 -0
  62. package/dist/esm/prototyping/crypto/algorithms/pbkdf2.js +41 -0
  63. package/dist/esm/prototyping/crypto/algorithms/pbkdf2.js.map +1 -0
  64. package/dist/esm/prototyping/crypto/crypto-error.js +41 -0
  65. package/dist/esm/prototyping/crypto/crypto-error.js.map +1 -0
  66. package/dist/esm/prototyping/crypto/dsa.js +236 -0
  67. package/dist/esm/prototyping/crypto/dsa.js.map +1 -0
  68. package/dist/esm/prototyping/crypto/jose/jwe-compact.js +130 -0
  69. package/dist/esm/prototyping/crypto/jose/jwe-compact.js.map +1 -0
  70. package/dist/esm/prototyping/crypto/jose/jwe-flattened.js +294 -0
  71. package/dist/esm/prototyping/crypto/jose/jwe-flattened.js.map +1 -0
  72. package/dist/esm/prototyping/crypto/jose/jwe.js +308 -0
  73. package/dist/esm/prototyping/crypto/jose/jwe.js.map +1 -0
  74. package/dist/esm/prototyping/crypto/primitives/aes-gcm.js +352 -0
  75. package/dist/esm/prototyping/crypto/primitives/aes-gcm.js.map +1 -0
  76. package/dist/esm/prototyping/crypto/primitives/aes-kw.js +247 -0
  77. package/dist/esm/prototyping/crypto/primitives/aes-kw.js.map +1 -0
  78. package/dist/esm/prototyping/crypto/primitives/hkdf.js +80 -0
  79. package/dist/esm/prototyping/crypto/primitives/hkdf.js.map +1 -0
  80. package/dist/esm/prototyping/crypto/primitives/pbkdf2.js +85 -0
  81. package/dist/esm/prototyping/crypto/primitives/pbkdf2.js.map +1 -0
  82. package/dist/esm/prototyping/crypto/types/cipher.js +2 -0
  83. package/dist/esm/prototyping/crypto/types/cipher.js.map +1 -0
  84. package/dist/esm/prototyping/crypto/types/crypto-api.js +2 -0
  85. package/dist/esm/prototyping/crypto/types/crypto-api.js.map +1 -0
  86. package/dist/esm/prototyping/crypto/types/key-converter.js +2 -0
  87. package/dist/esm/prototyping/crypto/types/key-converter.js.map +1 -0
  88. package/dist/esm/prototyping/crypto/types/key-deriver.js +2 -0
  89. package/dist/esm/prototyping/crypto/types/key-deriver.js.map +1 -0
  90. package/dist/esm/prototyping/crypto/types/key-io.js +2 -0
  91. package/dist/esm/prototyping/crypto/types/key-io.js.map +1 -0
  92. package/dist/esm/prototyping/crypto/types/key-manager.js +2 -0
  93. package/dist/esm/prototyping/crypto/types/key-manager.js.map +1 -0
  94. package/dist/esm/prototyping/crypto/types/key-wrapper.js +2 -0
  95. package/dist/esm/prototyping/crypto/types/key-wrapper.js.map +1 -0
  96. package/dist/esm/prototyping/crypto/types/params-direct.js +2 -0
  97. package/dist/esm/prototyping/crypto/types/params-direct.js.map +1 -0
  98. package/dist/esm/prototyping/crypto/types/params-kms.js +2 -0
  99. package/dist/esm/prototyping/crypto/types/params-kms.js.map +1 -0
  100. package/dist/esm/prototyping/crypto/utils.js +19 -0
  101. package/dist/esm/prototyping/crypto/utils.js.map +1 -0
  102. package/dist/esm/prototyping/dids/resolver-cache-memory.js +77 -0
  103. package/dist/esm/prototyping/dids/resolver-cache-memory.js.map +1 -0
  104. package/dist/esm/prototyping/dids/utils.js +9 -0
  105. package/dist/esm/prototyping/dids/utils.js.map +1 -0
  106. package/dist/esm/rpc-client.js +123 -0
  107. package/dist/esm/rpc-client.js.map +1 -0
  108. package/dist/esm/store-data-protocols.js +38 -0
  109. package/dist/esm/store-data-protocols.js.map +1 -0
  110. package/dist/esm/store-data.js +320 -0
  111. package/dist/esm/store-data.js.map +1 -0
  112. package/dist/esm/store-did.js +136 -0
  113. package/dist/esm/store-did.js.map +1 -0
  114. package/dist/esm/store-identity.js +140 -0
  115. package/dist/esm/store-identity.js.map +1 -0
  116. package/dist/esm/store-key.js +136 -0
  117. package/dist/esm/store-key.js.map +1 -0
  118. package/dist/esm/sync-api.js +61 -0
  119. package/dist/esm/sync-api.js.map +1 -0
  120. package/dist/esm/sync-engine-level.js +618 -0
  121. package/dist/esm/sync-engine-level.js.map +1 -0
  122. package/dist/esm/test-harness.js +239 -0
  123. package/dist/esm/test-harness.js.map +1 -0
  124. package/dist/esm/types/agent.js +2 -0
  125. package/dist/esm/types/agent.js.map +1 -0
  126. package/dist/esm/types/dwn.js +31 -0
  127. package/dist/esm/types/dwn.js.map +1 -0
  128. package/dist/esm/types/identity-vault.js +2 -0
  129. package/dist/esm/types/identity-vault.js.map +1 -0
  130. package/dist/esm/types/identity.js +2 -0
  131. package/dist/esm/types/identity.js.map +1 -0
  132. package/dist/esm/types/key-manager.js +2 -0
  133. package/dist/esm/types/key-manager.js.map +1 -0
  134. package/dist/esm/types/permissions.js +2 -0
  135. package/dist/esm/types/permissions.js.map +1 -0
  136. package/dist/esm/types/sync.js +2 -0
  137. package/dist/esm/types/sync.js.map +1 -0
  138. package/dist/esm/types/vc.js +5 -0
  139. package/dist/esm/types/vc.js.map +1 -0
  140. package/dist/esm/utils-internal.js +147 -0
  141. package/dist/esm/utils-internal.js.map +1 -0
  142. package/dist/esm/utils.js +161 -0
  143. package/dist/esm/utils.js.map +1 -0
  144. package/dist/types/agent-did-resolver-cache.d.ts +30 -0
  145. package/dist/types/agent-did-resolver-cache.d.ts.map +1 -0
  146. package/dist/types/bearer-identity.d.ts +31 -0
  147. package/dist/types/bearer-identity.d.ts.map +1 -0
  148. package/dist/types/connect.d.ts +88 -0
  149. package/dist/types/connect.d.ts.map +1 -0
  150. package/dist/types/crypto-api.d.ts +286 -0
  151. package/dist/types/crypto-api.d.ts.map +1 -0
  152. package/dist/types/did-api.d.ts +119 -0
  153. package/dist/types/did-api.d.ts.map +1 -0
  154. package/dist/types/dwn-api.d.ts +66 -0
  155. package/dist/types/dwn-api.d.ts.map +1 -0
  156. package/dist/types/dwn-registrar.d.ts +29 -0
  157. package/dist/types/dwn-registrar.d.ts.map +1 -0
  158. package/dist/types/hd-identity-vault.d.ts +306 -0
  159. package/dist/types/hd-identity-vault.d.ts.map +1 -0
  160. package/dist/types/identity-api.d.ts +107 -0
  161. package/dist/types/identity-api.d.ts.map +1 -0
  162. package/dist/types/index.d.ts +30 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/local-key-manager.d.ts +311 -0
  165. package/dist/types/local-key-manager.d.ts.map +1 -0
  166. package/dist/types/oidc.d.ts +247 -0
  167. package/dist/types/oidc.d.ts.map +1 -0
  168. package/dist/types/permissions-api.d.ts +35 -0
  169. package/dist/types/permissions-api.d.ts.map +1 -0
  170. package/dist/types/prototyping/clients/dwn-rpc-types.d.ts +45 -0
  171. package/dist/types/prototyping/clients/dwn-rpc-types.d.ts.map +1 -0
  172. package/dist/types/prototyping/clients/dwn-server-info-cache-memory.d.ts +57 -0
  173. package/dist/types/prototyping/clients/dwn-server-info-cache-memory.d.ts.map +1 -0
  174. package/dist/types/prototyping/clients/http-dwn-rpc-client.d.ts +13 -0
  175. package/dist/types/prototyping/clients/http-dwn-rpc-client.d.ts.map +1 -0
  176. package/dist/types/prototyping/clients/json-rpc-socket.d.ts +43 -0
  177. package/dist/types/prototyping/clients/json-rpc-socket.d.ts.map +1 -0
  178. package/dist/types/prototyping/clients/json-rpc.d.ts +49 -0
  179. package/dist/types/prototyping/clients/json-rpc.d.ts.map +1 -0
  180. package/dist/types/prototyping/clients/server-info-types.d.ts +20 -0
  181. package/dist/types/prototyping/clients/server-info-types.d.ts.map +1 -0
  182. package/dist/types/prototyping/clients/web-socket-clients.d.ts +10 -0
  183. package/dist/types/prototyping/clients/web-socket-clients.d.ts.map +1 -0
  184. package/dist/types/prototyping/common/object.d.ts +2 -0
  185. package/dist/types/prototyping/common/object.d.ts.map +1 -0
  186. package/dist/types/prototyping/common/type-utils.d.ts +7 -0
  187. package/dist/types/prototyping/common/type-utils.d.ts.map +1 -0
  188. package/dist/types/prototyping/crypto/algorithms/aes-gcm.d.ts +151 -0
  189. package/dist/types/prototyping/crypto/algorithms/aes-gcm.d.ts.map +1 -0
  190. package/dist/types/prototyping/crypto/algorithms/aes-kw.d.ts +109 -0
  191. package/dist/types/prototyping/crypto/algorithms/aes-kw.d.ts.map +1 -0
  192. package/dist/types/prototyping/crypto/algorithms/ecdsa.d.ts +160 -0
  193. package/dist/types/prototyping/crypto/algorithms/ecdsa.d.ts.map +1 -0
  194. package/dist/types/prototyping/crypto/algorithms/eddsa.d.ts +157 -0
  195. package/dist/types/prototyping/crypto/algorithms/eddsa.d.ts.map +1 -0
  196. package/dist/types/prototyping/crypto/algorithms/hkdf.d.ts +21 -0
  197. package/dist/types/prototyping/crypto/algorithms/hkdf.d.ts.map +1 -0
  198. package/dist/types/prototyping/crypto/algorithms/pbkdf2.d.ts +21 -0
  199. package/dist/types/prototyping/crypto/algorithms/pbkdf2.d.ts.map +1 -0
  200. package/dist/types/prototyping/crypto/crypto-error.d.ts +29 -0
  201. package/dist/types/prototyping/crypto/crypto-error.d.ts.map +1 -0
  202. package/dist/types/prototyping/crypto/dsa.d.ts +169 -0
  203. package/dist/types/prototyping/crypto/dsa.d.ts.map +1 -0
  204. package/dist/types/prototyping/crypto/jose/jwe-compact.d.ts +135 -0
  205. package/dist/types/prototyping/crypto/jose/jwe-compact.d.ts.map +1 -0
  206. package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts +134 -0
  207. package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts.map +1 -0
  208. package/dist/types/prototyping/crypto/jose/jwe.d.ts +378 -0
  209. package/dist/types/prototyping/crypto/jose/jwe.d.ts.map +1 -0
  210. package/dist/types/prototyping/crypto/primitives/aes-gcm.d.ts +245 -0
  211. package/dist/types/prototyping/crypto/primitives/aes-gcm.d.ts.map +1 -0
  212. package/dist/types/prototyping/crypto/primitives/aes-kw.d.ts +103 -0
  213. package/dist/types/prototyping/crypto/primitives/aes-kw.d.ts.map +1 -0
  214. package/dist/types/prototyping/crypto/primitives/hkdf.d.ts +90 -0
  215. package/dist/types/prototyping/crypto/primitives/hkdf.d.ts.map +1 -0
  216. package/dist/types/prototyping/crypto/primitives/pbkdf2.d.ts +84 -0
  217. package/dist/types/prototyping/crypto/primitives/pbkdf2.d.ts.map +1 -0
  218. package/dist/types/prototyping/crypto/types/cipher.d.ts +14 -0
  219. package/dist/types/prototyping/crypto/types/cipher.d.ts.map +1 -0
  220. package/dist/types/prototyping/crypto/types/crypto-api.d.ts +35 -0
  221. package/dist/types/prototyping/crypto/types/crypto-api.d.ts.map +1 -0
  222. package/dist/types/prototyping/crypto/types/key-converter.d.ts +49 -0
  223. package/dist/types/prototyping/crypto/types/key-converter.d.ts.map +1 -0
  224. package/dist/types/prototyping/crypto/types/key-deriver.d.ts +50 -0
  225. package/dist/types/prototyping/crypto/types/key-deriver.d.ts.map +1 -0
  226. package/dist/types/prototyping/crypto/types/key-io.d.ts +49 -0
  227. package/dist/types/prototyping/crypto/types/key-io.d.ts.map +1 -0
  228. package/dist/types/prototyping/crypto/types/key-manager.d.ts +69 -0
  229. package/dist/types/prototyping/crypto/types/key-manager.d.ts.map +1 -0
  230. package/dist/types/prototyping/crypto/types/key-wrapper.d.ts +14 -0
  231. package/dist/types/prototyping/crypto/types/key-wrapper.d.ts.map +1 -0
  232. package/dist/types/prototyping/crypto/types/params-direct.d.ts +75 -0
  233. package/dist/types/prototyping/crypto/types/params-direct.d.ts.map +1 -0
  234. package/dist/types/prototyping/crypto/types/params-kms.d.ts +63 -0
  235. package/dist/types/prototyping/crypto/types/params-kms.d.ts.map +1 -0
  236. package/dist/types/prototyping/crypto/utils.d.ts +7 -0
  237. package/dist/types/prototyping/crypto/utils.d.ts.map +1 -0
  238. package/dist/types/prototyping/dids/resolver-cache-memory.d.ts +57 -0
  239. package/dist/types/prototyping/dids/resolver-cache-memory.d.ts.map +1 -0
  240. package/dist/types/prototyping/dids/utils.d.ts +3 -0
  241. package/dist/types/prototyping/dids/utils.d.ts.map +1 -0
  242. package/dist/types/rpc-client.d.ts +51 -0
  243. package/dist/types/rpc-client.d.ts.map +1 -0
  244. package/dist/types/store-data-protocols.d.ts +4 -0
  245. package/dist/types/store-data-protocols.d.ts.map +1 -0
  246. package/dist/types/store-data.d.ts +95 -0
  247. package/dist/types/store-data.d.ts.map +1 -0
  248. package/dist/types/store-did.d.ts +33 -0
  249. package/dist/types/store-did.d.ts.map +1 -0
  250. package/dist/types/store-identity.d.ts +34 -0
  251. package/dist/types/store-identity.d.ts.map +1 -0
  252. package/dist/types/store-key.d.ts +32 -0
  253. package/dist/types/store-key.d.ts.map +1 -0
  254. package/dist/types/sync-api.d.ts +41 -0
  255. package/dist/types/sync-api.d.ts.map +1 -0
  256. package/dist/types/sync-engine-level.d.ts +85 -0
  257. package/dist/types/sync-engine-level.d.ts.map +1 -0
  258. package/dist/types/test-harness.d.ts +69 -0
  259. package/dist/types/test-harness.d.ts.map +1 -0
  260. package/dist/types/types/agent.d.ts +172 -0
  261. package/dist/types/types/agent.d.ts.map +1 -0
  262. package/dist/types/types/dwn.d.ts +178 -0
  263. package/dist/types/types/dwn.d.ts.map +1 -0
  264. package/dist/types/types/identity-vault.d.ts +129 -0
  265. package/dist/types/types/identity-vault.d.ts.map +1 -0
  266. package/dist/types/types/identity.d.ts +16 -0
  267. package/dist/types/types/identity.d.ts.map +1 -0
  268. package/dist/types/types/key-manager.d.ts +9 -0
  269. package/dist/types/types/key-manager.d.ts.map +1 -0
  270. package/dist/types/types/permissions.d.ts +98 -0
  271. package/dist/types/types/permissions.d.ts.map +1 -0
  272. package/dist/types/types/sync.d.ts +66 -0
  273. package/dist/types/types/sync.d.ts.map +1 -0
  274. package/dist/types/types/vc.d.ts +7 -0
  275. package/dist/types/types/vc.d.ts.map +1 -0
  276. package/dist/types/utils-internal.d.ts +50 -0
  277. package/dist/types/utils-internal.d.ts.map +1 -0
  278. package/dist/types/utils.d.ts +37 -0
  279. package/dist/types/utils.d.ts.map +1 -0
  280. package/package.json +112 -0
  281. package/src/agent-did-resolver-cache.ts +95 -0
  282. package/src/bearer-identity.ts +42 -0
  283. package/src/connect.ts +296 -0
  284. package/src/crypto-api.ts +593 -0
  285. package/src/did-api.ts +429 -0
  286. package/src/dwn-api.ts +462 -0
  287. package/src/dwn-registrar.ts +127 -0
  288. package/src/hd-identity-vault.ts +853 -0
  289. package/src/identity-api.ts +324 -0
  290. package/src/index.ts +30 -0
  291. package/src/local-key-manager.ts +672 -0
  292. package/src/oidc.ts +857 -0
  293. package/src/permissions-api.ts +408 -0
  294. package/src/prototyping/clients/dwn-rpc-types.ts +55 -0
  295. package/src/prototyping/clients/dwn-server-info-cache-memory.ts +79 -0
  296. package/src/prototyping/clients/http-dwn-rpc-client.ts +110 -0
  297. package/src/prototyping/clients/json-rpc-socket.ts +169 -0
  298. package/src/prototyping/clients/json-rpc.ts +113 -0
  299. package/src/prototyping/clients/server-info-types.ts +21 -0
  300. package/src/prototyping/clients/web-socket-clients.ts +100 -0
  301. package/src/prototyping/common/object.ts +15 -0
  302. package/src/prototyping/common/type-utils.ts +6 -0
  303. package/src/prototyping/crypto/algorithms/aes-gcm.ts +211 -0
  304. package/src/prototyping/crypto/algorithms/aes-kw.ts +164 -0
  305. package/src/prototyping/crypto/algorithms/ecdsa.ts +365 -0
  306. package/src/prototyping/crypto/algorithms/eddsa.ts +310 -0
  307. package/src/prototyping/crypto/algorithms/hkdf.ts +40 -0
  308. package/src/prototyping/crypto/algorithms/pbkdf2.ts +44 -0
  309. package/src/prototyping/crypto/crypto-error.ts +45 -0
  310. package/src/prototyping/crypto/dsa.ts +367 -0
  311. package/src/prototyping/crypto/jose/jwe-compact.ts +225 -0
  312. package/src/prototyping/crypto/jose/jwe-flattened.ts +459 -0
  313. package/src/prototyping/crypto/jose/jwe.ts +653 -0
  314. package/src/prototyping/crypto/primitives/aes-gcm.ts +374 -0
  315. package/src/prototyping/crypto/primitives/aes-kw.ts +271 -0
  316. package/src/prototyping/crypto/primitives/hkdf.ts +121 -0
  317. package/src/prototyping/crypto/primitives/pbkdf2.ts +116 -0
  318. package/src/prototyping/crypto/types/cipher.ts +17 -0
  319. package/src/prototyping/crypto/types/crypto-api.ts +78 -0
  320. package/src/prototyping/crypto/types/key-converter.ts +53 -0
  321. package/src/prototyping/crypto/types/key-deriver.ts +56 -0
  322. package/src/prototyping/crypto/types/key-io.ts +51 -0
  323. package/src/prototyping/crypto/types/key-manager.ts +83 -0
  324. package/src/prototyping/crypto/types/key-wrapper.ts +17 -0
  325. package/src/prototyping/crypto/types/params-direct.ts +95 -0
  326. package/src/prototyping/crypto/types/params-kms.ts +76 -0
  327. package/src/prototyping/crypto/utils.ts +41 -0
  328. package/src/prototyping/dids/resolver-cache-memory.ts +83 -0
  329. package/src/prototyping/dids/utils.ts +10 -0
  330. package/src/rpc-client.ts +162 -0
  331. package/src/store-data-protocols.ts +40 -0
  332. package/src/store-data.ts +400 -0
  333. package/src/store-did.ts +105 -0
  334. package/src/store-identity.ts +109 -0
  335. package/src/store-key.ts +104 -0
  336. package/src/sync-api.ts +71 -0
  337. package/src/sync-engine-level.ts +714 -0
  338. package/src/test-harness.ts +330 -0
  339. package/src/types/agent.ts +195 -0
  340. package/src/types/dwn.ts +278 -0
  341. package/src/types/identity-vault.ts +137 -0
  342. package/src/types/identity.ts +18 -0
  343. package/src/types/key-manager.ts +15 -0
  344. package/src/types/permissions.ts +115 -0
  345. package/src/types/sync.ts +58 -0
  346. package/src/types/vc.ts +7 -0
  347. package/src/utils-internal.ts +157 -0
  348. package/src/utils.ts +181 -0
@@ -0,0 +1,322 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { PermissionsProtocol } from '@enbox/dwn-sdk-js';
22
+ import { DwnInterface, DwnPermissionGrant, DwnPermissionRequest } from './types/dwn.js';
23
+ import { Convert, TtlCache } from '@enbox/common';
24
+ import { isRecordsType } from './dwn-api.js';
25
+ export class AgentPermissionsApi {
26
+ get agent() {
27
+ if (!this._agent) {
28
+ throw new Error('AgentPermissionsApi: Agent is not set');
29
+ }
30
+ return this._agent;
31
+ }
32
+ set agent(agent) {
33
+ this._agent = agent;
34
+ }
35
+ constructor({ agent } = {}) {
36
+ /** cache for fetching a permission {@link PermissionGrant}, keyed by a specific MessageType and protocol */
37
+ this._cachedPermissions = new TtlCache({ ttl: 60 * 1000 });
38
+ this._agent = agent;
39
+ }
40
+ getPermissionForRequest({ connectedDid, delegateDid, delegate, messageType, protocol, cached = false }) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ // Currently we only support finding grants based on protocols
43
+ // A different approach may be necessary when we introduce `protocolPath` and `contextId` specific impersonation
44
+ const cacheKey = [connectedDid, delegateDid, messageType, protocol].join('~');
45
+ const cachedGrant = cached ? this._cachedPermissions.get(cacheKey) : undefined;
46
+ if (cachedGrant) {
47
+ return cachedGrant;
48
+ }
49
+ const permissionGrants = yield this.fetchGrants({
50
+ author: delegateDid,
51
+ target: delegateDid,
52
+ grantor: connectedDid,
53
+ grantee: delegateDid,
54
+ });
55
+ // get the delegate grants that match the messageParams and are associated with the connectedDid as the grantor
56
+ const grant = yield AgentPermissionsApi.matchGrantFromArray(connectedDid, delegateDid, { messageType, protocol }, permissionGrants, delegate);
57
+ if (!grant) {
58
+ throw new Error(`CachedPermissions: No permissions found for ${messageType}: ${protocol}`);
59
+ }
60
+ this._cachedPermissions.set(cacheKey, grant);
61
+ return grant;
62
+ });
63
+ }
64
+ fetchGrants({ author, target, grantee, grantor, protocol, remote = false }) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ // filter by a protocol using tags if provided
67
+ const tags = protocol ? { protocol } : undefined;
68
+ const params = {
69
+ author: author,
70
+ target: target,
71
+ messageType: DwnInterface.RecordsQuery,
72
+ messageParams: {
73
+ filter: {
74
+ author: grantor,
75
+ recipient: grantee,
76
+ protocol: PermissionsProtocol.uri,
77
+ protocolPath: PermissionsProtocol.grantPath,
78
+ tags
79
+ }
80
+ }
81
+ };
82
+ const { reply } = remote ? yield this.agent.sendDwnRequest(params) : yield this.agent.processDwnRequest(params);
83
+ if (reply.status.code !== 200) {
84
+ throw new Error(`PermissionsApi: Failed to fetch grants: ${reply.status.detail}`);
85
+ }
86
+ const grants = [];
87
+ for (const entry of reply.entries) {
88
+ // TODO: Check for revocation status based on a request parameter and filter out revoked grants
89
+ const grant = yield DwnPermissionGrant.parse(entry);
90
+ grants.push({ grant, message: entry });
91
+ }
92
+ return grants;
93
+ });
94
+ }
95
+ fetchRequests({ author, target, protocol, remote = false }) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ // filter by a protocol using tags if provided
98
+ const tags = protocol ? { protocol } : undefined;
99
+ const params = {
100
+ author: author,
101
+ target: target,
102
+ messageType: DwnInterface.RecordsQuery,
103
+ messageParams: {
104
+ filter: {
105
+ protocol: PermissionsProtocol.uri,
106
+ protocolPath: PermissionsProtocol.requestPath,
107
+ tags
108
+ }
109
+ }
110
+ };
111
+ const { reply } = remote ? yield this.agent.sendDwnRequest(params) : yield this.agent.processDwnRequest(params);
112
+ if (reply.status.code !== 200) {
113
+ throw new Error(`PermissionsApi: Failed to fetch requests: ${reply.status.detail}`);
114
+ }
115
+ const requests = [];
116
+ for (const entry of reply.entries) {
117
+ const request = yield DwnPermissionRequest.parse(entry);
118
+ requests.push({ request, message: entry });
119
+ }
120
+ return requests;
121
+ });
122
+ }
123
+ isGrantRevoked({ author, target, grantRecordId, remote = false }) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ const params = {
126
+ author,
127
+ target,
128
+ messageType: DwnInterface.RecordsRead,
129
+ messageParams: {
130
+ filter: {
131
+ parentId: grantRecordId,
132
+ protocol: PermissionsProtocol.uri,
133
+ protocolPath: PermissionsProtocol.revocationPath,
134
+ }
135
+ }
136
+ };
137
+ const { reply: revocationReply } = remote ? yield this.agent.sendDwnRequest(params) : yield this.agent.processDwnRequest(params);
138
+ if (revocationReply.status.code === 404) {
139
+ // no revocation found, the grant is not revoked
140
+ return false;
141
+ }
142
+ else if (revocationReply.status.code === 200) {
143
+ // a revocation was found, the grant is revoked
144
+ return true;
145
+ }
146
+ throw new Error(`PermissionsApi: Failed to check if grant is revoked: ${revocationReply.status.detail}`);
147
+ });
148
+ }
149
+ createGrant(params) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const { author, store = false, delegated = false } = params, createGrantParams = __rest(params, ["author", "store", "delegated"]);
152
+ let tags = undefined;
153
+ if (PermissionsProtocol.hasProtocolScope(createGrantParams.scope)) {
154
+ tags = { protocol: createGrantParams.scope.protocol };
155
+ }
156
+ const permissionGrantData = {
157
+ dateExpires: createGrantParams.dateExpires,
158
+ requestId: createGrantParams.requestId,
159
+ description: createGrantParams.description,
160
+ delegated,
161
+ scope: createGrantParams.scope
162
+ };
163
+ const permissionsGrantBytes = Convert.object(permissionGrantData).toUint8Array();
164
+ const messageParams = {
165
+ recipient: createGrantParams.grantedTo,
166
+ protocol: PermissionsProtocol.uri,
167
+ protocolPath: PermissionsProtocol.grantPath,
168
+ dataFormat: 'application/json',
169
+ tags
170
+ };
171
+ const { reply, message } = yield this.agent.processDwnRequest({
172
+ store,
173
+ author,
174
+ target: author,
175
+ messageType: DwnInterface.RecordsWrite,
176
+ messageParams,
177
+ dataStream: new Blob([permissionsGrantBytes])
178
+ });
179
+ if (reply.status.code !== 202) {
180
+ throw new Error(`PermissionsApi: Failed to create grant: ${reply.status.detail}`);
181
+ }
182
+ const dataEncodedMessage = Object.assign(Object.assign({}, message), { encodedData: Convert.uint8Array(permissionsGrantBytes).toBase64Url() });
183
+ const grant = yield DwnPermissionGrant.parse(dataEncodedMessage);
184
+ return { grant, message: dataEncodedMessage };
185
+ });
186
+ }
187
+ createRequest(params) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ const { author, store = false, delegated = false } = params, createGrantParams = __rest(params, ["author", "store", "delegated"]);
190
+ let tags = undefined;
191
+ if (PermissionsProtocol.hasProtocolScope(createGrantParams.scope)) {
192
+ tags = { protocol: createGrantParams.scope.protocol };
193
+ }
194
+ const permissionRequestData = {
195
+ description: createGrantParams.description,
196
+ delegated,
197
+ scope: createGrantParams.scope
198
+ };
199
+ const permissionRequestBytes = Convert.object(permissionRequestData).toUint8Array();
200
+ const messageParams = {
201
+ protocol: PermissionsProtocol.uri,
202
+ protocolPath: PermissionsProtocol.requestPath,
203
+ dataFormat: 'application/json',
204
+ tags
205
+ };
206
+ const { reply, message } = yield this.agent.processDwnRequest({
207
+ store,
208
+ author,
209
+ target: author,
210
+ messageType: DwnInterface.RecordsWrite,
211
+ messageParams,
212
+ dataStream: new Blob([permissionRequestBytes])
213
+ });
214
+ if (reply.status.code !== 202) {
215
+ throw new Error(`PermissionsApi: Failed to create request: ${reply.status.detail}`);
216
+ }
217
+ const dataEncodedMessage = Object.assign(Object.assign({}, message), { encodedData: Convert.uint8Array(permissionRequestBytes).toBase64Url() });
218
+ const request = yield DwnPermissionRequest.parse(dataEncodedMessage);
219
+ return { request, message: dataEncodedMessage };
220
+ });
221
+ }
222
+ createRevocation(params) {
223
+ return __awaiter(this, void 0, void 0, function* () {
224
+ const { author, store = false, grant, description } = params;
225
+ const revokeData = { description };
226
+ const permissionRevocationBytes = Convert.object(revokeData).toUint8Array();
227
+ let tags = undefined;
228
+ if (PermissionsProtocol.hasProtocolScope(grant.scope)) {
229
+ tags = { protocol: grant.scope.protocol };
230
+ }
231
+ const messageParams = {
232
+ parentContextId: grant.id,
233
+ protocol: PermissionsProtocol.uri,
234
+ protocolPath: PermissionsProtocol.revocationPath,
235
+ dataFormat: 'application/json',
236
+ tags
237
+ };
238
+ const { reply, message } = yield this.agent.processDwnRequest({
239
+ store,
240
+ author,
241
+ target: author,
242
+ messageType: DwnInterface.RecordsWrite,
243
+ messageParams,
244
+ dataStream: new Blob([permissionRevocationBytes])
245
+ });
246
+ if (reply.status.code !== 202) {
247
+ throw new Error(`PermissionsApi: Failed to create revocation: ${reply.status.detail}`);
248
+ }
249
+ const dataEncodedMessage = Object.assign(Object.assign({}, message), { encodedData: Convert.uint8Array(permissionRevocationBytes).toBase64Url() });
250
+ return { message: dataEncodedMessage };
251
+ });
252
+ }
253
+ clear() {
254
+ return __awaiter(this, void 0, void 0, function* () {
255
+ this._cachedPermissions.clear();
256
+ });
257
+ }
258
+ /**
259
+ * Matches the appropriate grant from an array of grants based on the provided parameters.
260
+ *
261
+ * @param delegated if true, only delegated grants are turned, if false all grants are returned including delegated ones.
262
+ */
263
+ static matchGrantFromArray(grantor, grantee, messageParams, grants, delegated = false) {
264
+ return __awaiter(this, void 0, void 0, function* () {
265
+ for (const entry of grants) {
266
+ const { grant, message } = entry;
267
+ if (delegated === true && grant.delegated !== true) {
268
+ continue;
269
+ }
270
+ const { messageType, protocol, protocolPath, contextId } = messageParams;
271
+ if (this.matchScopeFromGrant(grantor, grantee, messageType, grant, protocol, protocolPath, contextId)) {
272
+ return { grant, message };
273
+ }
274
+ }
275
+ });
276
+ }
277
+ static matchScopeFromGrant(grantor, grantee, messageType, grant, protocol, protocolPath, contextId) {
278
+ // Check if the grant matches the provided parameters
279
+ if (grant.grantee !== grantee || grant.grantor !== grantor) {
280
+ return false;
281
+ }
282
+ const scope = grant.scope;
283
+ const scopeMessageType = scope.interface + scope.method;
284
+ if (scopeMessageType === messageType) {
285
+ if (isRecordsType(messageType)) {
286
+ const recordScope = scope;
287
+ if (recordScope.protocol !== protocol) {
288
+ return false;
289
+ }
290
+ // If the grant scope is not restricted to a specific context or protocol path, it is unrestricted and can be used
291
+ if (this.isUnrestrictedProtocolScope(recordScope)) {
292
+ return true;
293
+ }
294
+ // protocolPath and contextId are mutually exclusive
295
+ // If the permission is scoped to a protocolPath and the permissionParams matches that path, this grant can be used
296
+ if (recordScope.protocolPath !== undefined && recordScope.protocolPath === protocolPath) {
297
+ return true;
298
+ }
299
+ // If the permission is scoped to a contextId and the permissionParams starts with that contextId, this grant can be used
300
+ if (recordScope.contextId !== undefined && (contextId === null || contextId === void 0 ? void 0 : contextId.startsWith(recordScope.contextId))) {
301
+ return true;
302
+ }
303
+ }
304
+ else {
305
+ const messagesScope = scope;
306
+ // Checks for unrestricted protocol scope, if no protocol is defined in the scope it is unrestricted
307
+ if (messagesScope.protocol === undefined) {
308
+ return true;
309
+ }
310
+ if (messagesScope.protocol !== protocol) {
311
+ return false;
312
+ }
313
+ return this.isUnrestrictedProtocolScope(messagesScope);
314
+ }
315
+ }
316
+ return false;
317
+ }
318
+ static isUnrestrictedProtocolScope(scope) {
319
+ return scope.contextId === undefined && scope.protocolPath === undefined;
320
+ }
321
+ }
322
+ //# sourceMappingURL=permissions-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions-api.js","sourceRoot":"","sources":["../../src/permissions-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dwn-rpc-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwn-rpc-types.js","sourceRoot":"","sources":["../../../../src/prototyping/clients/dwn-rpc-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import ms from 'ms';
11
+ import { TtlCache } from '@enbox/common';
12
+ export class DwnServerInfoCacheMemory {
13
+ constructor({ ttl = '15m' } = {}) {
14
+ this.cache = new TtlCache({ ttl: ms(ttl) });
15
+ }
16
+ /**
17
+ * Retrieves a DWN ServerInfo entry from the cache.
18
+ *
19
+ * If the cached item has exceeded its TTL, it's scheduled for deletion and undefined is returned.
20
+ *
21
+ * @param dwnUrl - The DWN URL endpoint string used as the key for getting the entry.
22
+ * @returns The cached DWN ServerInfo entry or undefined if not found or expired.
23
+ */
24
+ get(dwnUrl) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ return this.cache.get(dwnUrl);
27
+ });
28
+ }
29
+ /**
30
+ * Stores a DWN ServerInfo entry in the cache with a TTL.
31
+ *
32
+ * @param dwnUrl - The DWN URL endpoint string used as the key for storing the entry.
33
+ * @param value - The DWN ServerInfo entry to be cached.
34
+ * @returns A promise that resolves when the operation is complete.
35
+ */
36
+ set(dwnUrl, value) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ this.cache.set(dwnUrl, value);
39
+ });
40
+ }
41
+ /**
42
+ * Deletes a DWN ServerInfo entry from the cache.
43
+ *
44
+ * @param dwnUrl - The DWN URL endpoint string used as the key for deletion.
45
+ * @returns A promise that resolves when the operation is complete.
46
+ */
47
+ delete(dwnUrl) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ this.cache.delete(dwnUrl);
50
+ });
51
+ }
52
+ /**
53
+ * Clears all entries from the cache.
54
+ *
55
+ * @returns A promise that resolves when the operation is complete.
56
+ */
57
+ clear() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ this.cache.clear();
60
+ });
61
+ }
62
+ /**
63
+ * This method is a no-op but exists to be consistent with other DWN ServerInfo Cache
64
+ * implementations.
65
+ *
66
+ * @returns A promise that resolves immediately.
67
+ */
68
+ close() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ // No-op since there is no underlying store to close.
71
+ });
72
+ }
73
+ }
74
+ //# sourceMappingURL=dwn-server-info-cache-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwn-server-info-cache-memory.js","sourceRoot":"","sources":["../../../../src/prototyping/clients/dwn-server-info-cache-memory.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAkBzC,MAAM,OAAO,wBAAwB;IAGnC,YAAY,EAAE,GAAG,GAAG,KAAK,KAAoC,EAAE;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACU,GAAG,CAAC,MAAc;;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KAAA;IAED;;;;;;OAMG;IACU,GAAG,CAAC,MAAc,EAAE,KAAiB;;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;KAAA;IAED;;;;;OAKG;IACU,MAAM,CAAC,MAAc;;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KAAA;IAED;;;;OAIG;IACU,KAAK;;YAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KAAA;IAED;;;;;OAKG;IACU,KAAK;;YAChB,qDAAqD;QACvD,CAAC;KAAA;CACF"}
@@ -0,0 +1,105 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { createJsonRpcRequest, parseJson } from './json-rpc.js';
11
+ import { CryptoUtils } from '@enbox/crypto';
12
+ import { DwnServerInfoCacheMemory } from './dwn-server-info-cache-memory.js';
13
+ /**
14
+ * HTTP client that can be used to communicate with Dwn Servers
15
+ */
16
+ export class HttpDwnRpcClient {
17
+ constructor(serverInfoCache) {
18
+ this.serverInfoCache = serverInfoCache !== null && serverInfoCache !== void 0 ? serverInfoCache : new DwnServerInfoCacheMemory();
19
+ }
20
+ get transportProtocols() { return ['http:', 'https:']; }
21
+ sendDwnRequest(request) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const requestId = CryptoUtils.randomUuid();
24
+ const jsonRpcRequest = createJsonRpcRequest(requestId, 'dwn.processMessage', {
25
+ target: request.targetDid,
26
+ message: request.message
27
+ });
28
+ const fetchOpts = {
29
+ method: 'POST',
30
+ headers: {
31
+ 'dwn-request': JSON.stringify(jsonRpcRequest)
32
+ }
33
+ };
34
+ if (request.data) {
35
+ // @ts-expect-error TODO: REMOVE
36
+ fetchOpts.headers['content-type'] = 'application/octet-stream';
37
+ // @ts-expect-error TODO: REMOVE
38
+ fetchOpts['body'] = request.data;
39
+ }
40
+ const resp = yield fetch(request.dwnUrl, fetchOpts);
41
+ let dwnRpcResponse;
42
+ // check to see if response is in header first. if it is, that means the response is a ReadableStream
43
+ let dataStream;
44
+ const { headers } = resp;
45
+ if (headers.has('dwn-response')) {
46
+ // @ts-expect-error TODO: REMOVE
47
+ const jsonRpcResponse = parseJson(headers.get('dwn-response'));
48
+ if (jsonRpcResponse == null) {
49
+ throw new Error(`failed to parse json rpc response. dwn url: ${request.dwnUrl}`);
50
+ }
51
+ dataStream = resp.body;
52
+ dwnRpcResponse = jsonRpcResponse;
53
+ }
54
+ else {
55
+ // TODO: wonder if i need to try/catch this?
56
+ const responseBody = yield resp.text();
57
+ dwnRpcResponse = JSON.parse(responseBody);
58
+ }
59
+ if (dwnRpcResponse.error) {
60
+ const { code, message } = dwnRpcResponse.error;
61
+ throw new Error(`(${code}) - ${message}`);
62
+ }
63
+ const { reply } = dwnRpcResponse.result;
64
+ if (dataStream && reply.record) {
65
+ reply.record.data = dataStream;
66
+ }
67
+ else if (dataStream && reply.entry) {
68
+ reply.entry.data = dataStream;
69
+ }
70
+ return reply;
71
+ });
72
+ }
73
+ getServerInfo(dwnUrl) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const serverInfo = yield this.serverInfoCache.get(dwnUrl);
76
+ if (serverInfo) {
77
+ return serverInfo;
78
+ }
79
+ const url = new URL(dwnUrl);
80
+ // add `/info` to the dwn server url path
81
+ url.pathname.endsWith('/') ? url.pathname += 'info' : url.pathname += '/info';
82
+ try {
83
+ const response = yield fetch(url.toString());
84
+ if (response.ok) {
85
+ const results = yield response.json();
86
+ // explicitly return and cache only the desired properties.
87
+ const serverInfo = {
88
+ registrationRequirements: results.registrationRequirements,
89
+ maxFileSize: results.maxFileSize,
90
+ webSocketSupport: results.webSocketSupport,
91
+ };
92
+ this.serverInfoCache.set(dwnUrl, serverInfo);
93
+ return serverInfo;
94
+ }
95
+ else {
96
+ throw new Error(`HTTP (${response.status}) - ${response.statusText}`);
97
+ }
98
+ }
99
+ catch (error) {
100
+ throw new Error(`Error encountered while processing response from ${url.toString()}: ${error.message}`);
101
+ }
102
+ });
103
+ }
104
+ }
105
+ //# sourceMappingURL=http-dwn-rpc-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-dwn-rpc-client.js","sourceRoot":"","sources":["../../../../src/prototyping/clients/http-dwn-rpc-client.ts"],"names":[],"mappings":"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"}