@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,50 @@
1
+ /**
2
+ * The `KeyDeriver` interface provide a method for key derivation.
3
+ *
4
+ * The `deriveKey()` method derives a {@link Jwk | JWK} from input data using the specified key
5
+ * derivation algorithm. This interface is designed to support various key derivation
6
+ * algorithms, accommodating different input and output types.
7
+ */
8
+ export interface KeyDeriver<DeriveKeyInput, DeriveKeyOutput> {
9
+ /**
10
+ * Derives a cryptographic key in JWK format based on the provided input parameters.
11
+ *
12
+ * @remarks
13
+ * The `deriveKey()` method of the {@link KeyDeriver | `KeyDeriver`} interface is utilized to
14
+ * generate cryptographic keys for operations like encryption, decryption, or signing. The method
15
+ * takes in parameters tailored to the key derivation algorithm being used and returns a promise
16
+ * that resolves to the derived key.
17
+ *
18
+ * @param params - The parameters for the key derivation process, specific to the chosen
19
+ * algorithm.
20
+ *
21
+ * @returns A Promise resolving to the derived key in the specified output format.
22
+ */
23
+ deriveKey(params: DeriveKeyInput): Promise<DeriveKeyOutput>;
24
+ }
25
+ /**
26
+ * The `KeyBytesDeriver` interface provide a method for deriving a byte array using a key derivation
27
+ * algorithm.
28
+ *
29
+ * The `deriveKeyBytes()` method to derives cryptographic bits from input data using the specified
30
+ * key derivation algorithm. This interface is designed to support various key derivation
31
+ * algorithms, accommodating different input and output types.
32
+ */
33
+ export interface KeyBytesDeriver<DeriveKeyBytesInput, DeriveKeyBytesOutput> {
34
+ /**
35
+ * Generates a specified number of cryptographic bits from given input parameters.
36
+ *
37
+ * @remarks
38
+ * The `deriveKeyBytes()` method of the {@link KeyBytesDeriver | `KeyBytesDeriver`} interface is
39
+ * used to create cryptographic material such as initialization vectors or keys from various
40
+ * sources. The method takes in parameters specific to the chosen key derivation algorithm and
41
+ * outputs a promise that resolves to a `Uint8Array` containing the derived bits.
42
+ *
43
+ * @param params - The parameters for the key derivation process, specific to the chosen
44
+ * algorithm.
45
+ *
46
+ * @returns A Promise resolving to the derived bits in the specified format.
47
+ */
48
+ deriveKeyBytes(params: DeriveKeyBytesInput): Promise<DeriveKeyBytesOutput>;
49
+ }
50
+ //# sourceMappingURL=key-deriver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-deriver.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/key-deriver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU,CACzB,cAAc,EACd,eAAe;IAEf;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAC9B,mBAAmB,EACnB,oBAAoB;IAEpB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5E"}
@@ -0,0 +1,49 @@
1
+ import type { Jwk } from '@enbox/crypto';
2
+ /**
3
+ * The `KeyExporter` interface provides a method for exporting cryptographic keys.
4
+ */
5
+ export interface KeyExporter<ExportKeyInput, ExportKeyOutput = Jwk> {
6
+ /**
7
+ * Exports a cryptographic key to an external JWK object.
8
+ *
9
+ * @remarks
10
+ * The `exportKey()` method of the {@link KeyImporterExporter | `KeyImporterExporter`} interface
11
+ * returns a cryptographic key in JWK format, facilitating interoperability and backup.
12
+ *
13
+ * @param params - The parameters for the key export operation.
14
+ *
15
+ * @returns A Promise resolving to the exported key in JWK format.
16
+ */
17
+ exportKey(params: ExportKeyInput): Promise<ExportKeyOutput>;
18
+ }
19
+ /**
20
+ * The `KeyImporter` interface provides a method for importing cryptographic keys.
21
+ */
22
+ export interface KeyImporter<ImportKeyInput, ImportKeyOutput = void> {
23
+ /**
24
+ * Imports an external key in JWK format.
25
+ *
26
+ * @remarks
27
+ * The `importKey()` method of the {@link KeyImporterExporter | `KeyImporterExporter`} interface
28
+ * takes as input an external key in JWK format and typically returns a key identifier reference
29
+ * for the imported key.
30
+ *
31
+ * @param params - The parameters for the key import operation.
32
+ *
33
+ * @returns A Promise resolving to the key identifier of the imported key.
34
+ */
35
+ importKey(params: ImportKeyInput): Promise<ImportKeyOutput>;
36
+ }
37
+ export interface KeyDeleter<DeleteKeyInput> {
38
+ /**
39
+ * Deletes a cryptographic key.
40
+ *
41
+ * @remarks
42
+ * The `deleteKey()` method of the {@link KeyDeleter | `KeyDeleter`} interface deletes a cryptographic
43
+ * key from the key store.
44
+ *
45
+ * @param params - The parameters for the key deletion operation.
46
+ */
47
+ deleteKey(params: DeleteKeyInput): Promise<void>;
48
+ }
49
+ //# sourceMappingURL=key-io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-io.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/key-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,cAAc,EAAE,eAAe,GAAG,GAAG;IAChE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IACjE;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,UAAU,CAAC,cAAc;IACxC;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD"}
@@ -0,0 +1,69 @@
1
+ import type { KeyIdentifier, KmsSignParams, KmsDigestParams, KmsVerifyParams, KmsGetKeyUriParams, KmsGenerateKeyParams, KmsGetPublicKeyParams } from '@enbox/crypto';
2
+ import type { DsaApi } from './crypto-api.js';
3
+ import type { KmsCipherParams } from './params-kms.js';
4
+ export interface KeyManagerParams {
5
+ CipherInput?: unknown;
6
+ GenerateKeyInput?: unknown;
7
+ GenerateKeyOutput?: unknown;
8
+ GetPublicKeyInput?: unknown;
9
+ SignInput?: unknown;
10
+ VerifyInput?: unknown;
11
+ }
12
+ export interface DefaultKeyManagerParams {
13
+ CipherInput: KmsCipherParams;
14
+ GenerateKeyInput: KmsGenerateKeyParams;
15
+ GenerateKeyOutput: KeyIdentifier;
16
+ GetPublicKeyInput: KmsGetPublicKeyParams;
17
+ SignInput: KmsSignParams;
18
+ VerifyInput: KmsVerifyParams;
19
+ }
20
+ /**
21
+ * The `KeyManager` interface integrates key generation and signing capabilities.
22
+ *
23
+ * Concrete implementations of this interface are intended to be used as a Key Management System
24
+ * (KMS), which is responsible for generating and storing cryptographic keys. The KMS is also
25
+ * responsible for performing cryptographic operations using the keys it manages. The KMS can be
26
+ * a local software based KMS, a cloud service, or a hardware device.
27
+ *
28
+ * Guidelines for implementing this interface:
29
+ * - Must use JSON Web Keys ({@link Jwk | JWK}) as the key format.
30
+ * - Must IANA registered JSON Object Signing and Encryption
31
+ * {@ link https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms | (JOSE)}
32
+ * names for algorithm, curves, etc. whenever possible.
33
+ * - All I/O that interacts with private or secret keys must be done via reference using a
34
+ * {@link KeyIdentifier | `KeyIdentifier`}. Implementations can use any string as the key
35
+ * identifier (e.g. JWK thumbprint, UUID generated by hosted KMS, etc.).
36
+ * - Must support key generation an signing operations.
37
+ * - May be extended to support other cryptographic operations.
38
+ * - Implementations of the `CryptoApi` interface can be passed as an argument to the public API
39
+ * methods of Web5 libraries that involve key material (e.g., DID creation, VC signing, arbitrary
40
+ * data signing/verification, etc.).
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * // Example of using the KeyManager interface with default types
45
+ * class DefaultKeyManager implements KeyManager {} // Uses default types
46
+ *
47
+ * // Example of using the KeyManager interface with custom types
48
+ * class CustomKeyManager implements KeyManager<{
49
+ * GenerateKeyInput: CustomGenerateKeyParams, // Custom type
50
+ * KmsGetPublicKeyParams: CustomGetPublicKeyParams, // Custom type
51
+ * KmsSignParams: CustomSignParams, // Custom type
52
+ * // Omitting KmsVerifyParams to use the default
53
+ * }> {
54
+ * // Implementation here
55
+ * }
56
+ * ```
57
+ *
58
+ * @typeParam T - The type of the key manager parameters.
59
+ */
60
+ export interface KeyManager<T extends KeyManagerParams = DefaultKeyManagerParams> extends DsaApi<T['GenerateKeyInput'], T['GenerateKeyOutput'], T['GetPublicKeyInput'], KmsDigestParams, T['SignInput'], T['VerifyInput']> {
61
+ /**
62
+ *
63
+ * @param params - The parameters for getting the key URI.
64
+ * @param params.key - The key to get the URI for.
65
+ * @returns The key URI.
66
+ */
67
+ getKeyUri(params: KmsGetKeyUriParams): Promise<KeyIdentifier>;
68
+ }
69
+ //# sourceMappingURL=key-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/key-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,eAAe,CAAC;IAC7B,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,iBAAiB,EAAE,aAAa,CAAC;IACjC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,gBAAgB,GAAG,uBAAuB,CAC9E,SAAQ,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAExI;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC/D"}
@@ -0,0 +1,14 @@
1
+ export type InferKeyUnwrapAlgorithm<T> = T extends {
2
+ /**
3
+ * The `unwrapKey` method signature from which the algorithm type is inferred.
4
+ * This is an internal implementation detail and not part of the public API.
5
+ */
6
+ unwrapKey(params: infer P): any;
7
+ } ? P extends {
8
+ /**
9
+ * The `wrappedKeyAlgorithm` property within the parameters of `unwrapKey`.
10
+ * This internal element is used to infer the algorithm type.
11
+ */
12
+ wrappedKeyAlgorithm: infer A;
13
+ } ? A : never : never;
14
+ //# sourceMappingURL=key-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/key-wrapper.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS;IACjD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CACjC,GACC,CAAC,SAAS;IACR;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC,CAAA;CAC7B,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { Jwk } from '@enbox/crypto';
2
+ export interface BytesToPrivateKeyParams {
3
+ algorithm: AlgorithmIdentifier;
4
+ privateKeyBytes: Uint8Array;
5
+ }
6
+ export interface BytesToPublicKeyParams {
7
+ algorithm: AlgorithmIdentifier;
8
+ publicKeyBytes: Uint8Array;
9
+ }
10
+ /**
11
+ * Parameters for encryption and decryption operations.
12
+ *
13
+ * Intended for use with a Key Management System.
14
+ */
15
+ export interface CipherParams {
16
+ /** A {@link Jwk} containing the key to be used for encryption or decryption. */
17
+ key: Jwk;
18
+ /** Data to be encrypted or decrypted. */
19
+ data: Uint8Array;
20
+ /** Additional algorithm-specific parameters for encryption or decryption. */
21
+ [key: string]: unknown;
22
+ }
23
+ /**
24
+ * Parameters for derivation of cryptographic keys.
25
+ */
26
+ export interface DeriveKeyParams {
27
+ /** The algorithm identifier. */
28
+ algorithm: AlgorithmIdentifier;
29
+ /** The base key to be used for derivation as a byte array. */
30
+ baseKeyBytes: Uint8Array;
31
+ /** The algorithm identifier for the derived key. */
32
+ derivedKeyAlgorithm?: AlgorithmIdentifier;
33
+ /** Additional algorithm-specific parameters for key derivation. */
34
+ [key: string]: unknown;
35
+ }
36
+ /**
37
+ * Parameters for derivation of cryptographic byte arrays.
38
+ */
39
+ export interface DeriveKeyBytesParams {
40
+ /** The base key to be used for derivation as a byte array. */
41
+ baseKeyBytes: Uint8Array;
42
+ /** The desired length of the derived key in bits. */
43
+ length: number;
44
+ }
45
+ export interface PrivateKeyToBytesParams {
46
+ privateKey: Jwk;
47
+ }
48
+ export interface PublicKeyToBytesParams {
49
+ publicKey: Jwk;
50
+ }
51
+ /**
52
+ * Parameters for wrapping a key.
53
+ */
54
+ export interface WrapKeyParams {
55
+ /** A {@link Jwk} containing the key used to encrypt the unwrapped key. */
56
+ encryptionKey: Jwk;
57
+ /** A {@link Jwk} containing the private key to be wrapped. */
58
+ unwrappedKey: Jwk;
59
+ /** An object defining the algorithm-specific parameters for encrypting the `unwrappedKey`. */
60
+ encryptParams?: unknown;
61
+ }
62
+ /**
63
+ * Parameters for unwrapping a key.
64
+ */
65
+ export interface UnwrapKeyParams {
66
+ /** A {@link Jwk} containing the key used to decrypt the unwrapped key. */
67
+ decryptionKey: Jwk;
68
+ /** The wrapped private key as a byte array. */
69
+ wrappedKeyBytes: Uint8Array;
70
+ /** The algorithm identifier of the key encrypted in `wrappedKeyBytes`. */
71
+ wrappedKeyAlgorithm: string;
72
+ /** An object defining the algorithm-specific parameters for decrypting the `wrappedKeyBytes`. */
73
+ decryptParams?: unknown;
74
+ }
75
+ //# sourceMappingURL=params-direct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params-direct.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/params-direct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,eAAe,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,EAAE,UAAU,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,GAAG,EAAE,GAAG,CAAC;IAET,yCAAyC;IACzC,IAAI,EAAE,UAAU,CAAC;IAEjB,6EAA6E;IAC7E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,SAAS,EAAE,mBAAmB,CAAC;IAE/B,8DAA8D;IAC9D,YAAY,EAAE,UAAU,CAAC;IAEzB,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,mEAAmE;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,YAAY,EAAE,UAAU,CAAC;IAEzB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,GAAG,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,aAAa,EAAE,GAAG,CAAC;IAEnB,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC;IAElB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,aAAa,EAAE,GAAG,CAAC;IAEnB,+CAA+C;IAC/C,eAAe,EAAE,UAAU,CAAC;IAE5B,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,CAAC;IAE5B,iGAAiG;IACjG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -0,0 +1,63 @@
1
+ import type { Jwk, KeyIdentifier } from '@enbox/crypto';
2
+ /**
3
+ * Parameters for KMS-based encryption and decryption operations.
4
+ *
5
+ * Intended for use with a Key Management System.
6
+ */
7
+ export interface KmsCipherParams {
8
+ /** Identifier for the private key in the KMS. */
9
+ keyUri: KeyIdentifier;
10
+ /** Data to be encrypted or decrypted. */
11
+ data: Uint8Array;
12
+ }
13
+ /**
14
+ * Parameters for KMS-based derivation of a cryptographic key from a given base key.
15
+ *
16
+ * Intended for use with a Key Management System.
17
+ */
18
+ export interface KmsDeriveKeyParams {
19
+ /** Identifier for the base key used in derivation in the KMS. */
20
+ baseKeyUri: KeyIdentifier;
21
+ /** An object defining the algorithm-specific parameters for the derived key. */
22
+ derivedKeyParams: unknown;
23
+ }
24
+ /**
25
+ * Parameters for KMS-based derivation of a byte array from a given base key.
26
+ *
27
+ * Intended for use with a Key Management System.
28
+ */
29
+ export interface KmsDeriveKeyBytesParams {
30
+ /** Identifier for the base key used in derivation in the KMS. */
31
+ baseKeyUri: KeyIdentifier;
32
+ /** The desired length of the derived key in bits. */
33
+ length: number;
34
+ }
35
+ /**
36
+ * Parameters for unwrapping a key using a KMS. Intended for use with a Key Management System.
37
+ */
38
+ export interface KmsUnwrapKeyParams {
39
+ /** Identifier for the private key in the KMS used for decrypting the wrapped key. */
40
+ decryptionKeyUri: KeyIdentifier;
41
+ /** The wrapped private key as a byte array. */
42
+ wrappedKeyBytes: Uint8Array;
43
+ /** The algorithm identifier of the key encrypted in `wrappedKeyBytes`. */
44
+ wrappedKeyAlgorithm: string;
45
+ /** An object defining the algorithm-specific parameters for decrypting the `wrappedKeyBytes`. */
46
+ decryptParams?: unknown;
47
+ }
48
+ /**
49
+ * Parameters for wrapping a key using a KMS. Intended for use with a Key Management System.
50
+ */
51
+ export interface KmsWrapKeyParams {
52
+ /** Identifier for the private key in the KMS used for encrypting the unwrapped key. */
53
+ encryptionKeyUri: KeyIdentifier;
54
+ /** A {@link Jwk} containing the private key to be wrapped. */
55
+ unwrappedKey: Jwk;
56
+ /** An object defining the algorithm-specific parameters for encrypting the `unwrappedKey`. */
57
+ encryptParams?: unknown;
58
+ }
59
+ export interface KmsDeleteKeyParams {
60
+ /** Identifier for the key to be deleted in the KMS. */
61
+ keyUri: KeyIdentifier;
62
+ }
63
+ //# sourceMappingURL=params-kms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params-kms.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/types/params-kms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,MAAM,EAAE,aAAa,CAAC;IAEtB,yCAAyC;IACzC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,UAAU,EAAE,aAAa,CAAC;IAE1B,gFAAgF;IAChF,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,UAAU,EAAE,aAAa,CAAC;IAE1B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,gBAAgB,EAAE,aAAa,CAAC;IAEhC,+CAA+C;IAC/C,eAAe,EAAE,UAAU,CAAC;IAE5B,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,CAAC;IAE5B,iGAAiG;IACjG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,aAAa,CAAC;IAEhC,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC;IAElB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,MAAM,EAAE,aAAa,CAAC;CACvB"}
@@ -0,0 +1,7 @@
1
+ import type { Cipher, KeyWrapper } from '@enbox/crypto';
2
+ import type { KeyExporter, KeyImporter } from './types/key-io.js';
3
+ export declare function isCipher<EncryptInput, DecryptInput>(obj: unknown): obj is Cipher<EncryptInput, DecryptInput>;
4
+ export declare function isKeyExporter<ExportKeyInput, ExportKeyOutput>(obj: unknown): obj is KeyExporter<ExportKeyInput, ExportKeyOutput>;
5
+ export declare function isKeyImporter<ImportKeyInput, ImportKeyExport>(obj: unknown): obj is KeyImporter<ImportKeyInput, ImportKeyExport>;
6
+ export declare function isKeyWrapper<WrapKeyInput, UnwrapKeyInput>(obj: unknown): obj is KeyWrapper<WrapKeyInput, UnwrapKeyInput>;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/prototyping/crypto/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,wBAAgB,QAAQ,CAAC,YAAY,EAAE,YAAY,EACjD,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAM3C;AAED,wBAAgB,aAAa,CAAC,cAAc,EAAE,eAAe,EAC3D,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,eAAe,CAAC,CAKrD;AAED,wBAAgB,aAAa,CAAC,cAAc,EAAE,eAAe,EAC3D,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,eAAe,CAAC,CAKrD;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,cAAc,EACvD,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,CAMjD"}
@@ -0,0 +1,57 @@
1
+ import type { DidResolverCache, DidResolutionResult } from '@enbox/dids';
2
+ /**
3
+ * Configuration parameters for creating an in-memory cache for DID resolution results.
4
+ *
5
+ * Allows customization of the cache time-to-live (TTL) setting.
6
+ */
7
+ export type DidResolverCacheMemoryParams = {
8
+ /**
9
+ * Optional. The time-to-live for cache entries, expressed as a string (e.g., '1h', '15m').
10
+ * Determines how long a cache entry should remain valid before being considered expired.
11
+ *
12
+ * Defaults to '15m' if not specified.
13
+ */
14
+ ttl?: string;
15
+ };
16
+ export declare class DidResolverCacheMemory implements DidResolverCache {
17
+ private cache;
18
+ constructor({ ttl }?: DidResolverCacheMemoryParams);
19
+ /**
20
+ * Retrieves a DID resolution result from the cache.
21
+ *
22
+ * If the cached item has exceeded its TTL, it's scheduled for deletion and undefined is returned.
23
+ *
24
+ * @param didUri - The DID string used as the key for retrieving the cached result.
25
+ * @returns The cached DID resolution result or undefined if not found or expired.
26
+ */
27
+ get(didUri: string): Promise<DidResolutionResult | void>;
28
+ /**
29
+ * Stores a DID resolution result in the cache with a TTL.
30
+ *
31
+ * @param didUri - The DID string used as the key for storing the result.
32
+ * @param resolutionResult - The DID resolution result to be cached.
33
+ * @returns A promise that resolves when the operation is complete.
34
+ */
35
+ set(didUri: string, resolutionResult: DidResolutionResult): Promise<void>;
36
+ /**
37
+ * Deletes a DID resolution result from the cache.
38
+ *
39
+ * @param didUri - The DID string used as the key for deletion.
40
+ * @returns A promise that resolves when the operation is complete.
41
+ */
42
+ delete(didUri: string): Promise<void>;
43
+ /**
44
+ * Clears all entries from the cache.
45
+ *
46
+ * @returns A promise that resolves when the operation is complete.
47
+ */
48
+ clear(): Promise<void>;
49
+ /**
50
+ * This method is a no-op but exists to be consistent with other DID Resolver Cache
51
+ * implementations.
52
+ *
53
+ * @returns A promise that resolves immediately.
54
+ */
55
+ close(): Promise<void>;
56
+ }
57
+ //# sourceMappingURL=resolver-cache-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver-cache-memory.d.ts","sourceRoot":"","sources":["../../../../src/prototyping/dids/resolver-cache-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKzE;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAA;AAED,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,KAAK,CAAwC;gBAEzC,EAAE,GAAW,EAAE,GAAE,4BAAiC;IAI9D;;;;;;;OAOG;IACU,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAQrE;;;;;;OAMG;IACU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItF;;;;;OAKG;IACU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;;;OAKG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
@@ -0,0 +1,3 @@
1
+ import type { PortableDid } from '@enbox/dids';
2
+ export declare function isPortableDid(obj: unknown): obj is PortableDid;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/prototyping/dids/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAO9D"}
@@ -0,0 +1,51 @@
1
+ import type { DwnRpc, DwnRpcRequest, DwnRpcResponse } from './prototyping/clients/dwn-rpc-types.js';
2
+ import type { DwnServerInfoRpc, ServerInfo } from './prototyping/clients/server-info-types.js';
3
+ import { HttpDwnRpcClient } from './prototyping/clients/http-dwn-rpc-client.js';
4
+ import { WebSocketDwnRpcClient } from './prototyping/clients/web-socket-clients.js';
5
+ /**
6
+ * Interface that can be implemented to communicate with {@link Web5Agent | Web5 Agent}
7
+ * implementations via JSON-RPC.
8
+ */
9
+ export interface DidRpc {
10
+ get transportProtocols(): string[];
11
+ sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
12
+ }
13
+ export declare enum DidRpcMethod {
14
+ Create = "did.create",
15
+ Resolve = "did.resolve"
16
+ }
17
+ export type DidRpcRequest = {
18
+ data: string;
19
+ method: DidRpcMethod;
20
+ url: string;
21
+ };
22
+ export type DidRpcResponse = {
23
+ data?: string;
24
+ ok: boolean;
25
+ status: RpcStatus;
26
+ };
27
+ export type RpcStatus = {
28
+ code: number;
29
+ message: string;
30
+ };
31
+ export interface Web5Rpc extends DwnRpc, DidRpc, DwnServerInfoRpc {
32
+ }
33
+ /**
34
+ * Client used to communicate with Dwn Servers
35
+ */
36
+ export declare class Web5RpcClient implements Web5Rpc {
37
+ private transportClients;
38
+ constructor(clients?: Web5Rpc[]);
39
+ get transportProtocols(): string[];
40
+ sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
41
+ sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
42
+ getServerInfo(dwnUrl: string): Promise<ServerInfo>;
43
+ }
44
+ export declare class HttpWeb5RpcClient extends HttpDwnRpcClient implements Web5Rpc {
45
+ sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
46
+ }
47
+ export declare class WebSocketWeb5RpcClient extends WebSocketDwnRpcClient implements Web5Rpc {
48
+ sendDidRequest(_request: DidRpcRequest): Promise<DidRpcResponse>;
49
+ getServerInfo(_dwnUrl: string): Promise<ServerInfo>;
50
+ }
51
+ //# sourceMappingURL=rpc-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAI/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAClC,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChE;AAED,oBAAY,YAAY;IACtB,MAAM,eAAe;IACrB,OAAO,gBAAgB;CACxB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,OAAQ,SAAQ,MAAM,EAAE,MAAM,EAAE,gBAAgB;CAAG;AAEpE;;GAEG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,OAAO,GAAE,OAAO,EAAO;IAcnC,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAEK,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAerE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAezD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAczD;AAED,qBAAa,iBAAkB,SAAQ,gBAAiB,YAAW,OAAO;IAClE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAoCtE;AAED,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,OAAO;IAC5E,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAG1D"}
@@ -0,0 +1,4 @@
1
+ import type { ProtocolDefinition } from '@enbox/dwn-sdk-js';
2
+ export declare const IdentityProtocolDefinition: ProtocolDefinition;
3
+ export declare const JwkProtocolDefinition: ProtocolDefinition;
4
+ //# sourceMappingURL=store-data-protocols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-data-protocols.d.ts","sourceRoot":"","sources":["../../src/store-data-protocols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,0BAA0B,EAAE,kBAqBxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAcnC,CAAC"}
@@ -0,0 +1,95 @@
1
+ import type { Jwk } from '@enbox/crypto';
2
+ import { TtlCache } from '@enbox/common';
3
+ import type { Web5PlatformAgent } from './types/agent.js';
4
+ import { ProtocolDefinition } from '@enbox/dwn-sdk-js';
5
+ export type DataStoreTenantParams = {
6
+ agent: Web5PlatformAgent;
7
+ tenant?: string;
8
+ };
9
+ export type DataStoreListParams = DataStoreTenantParams;
10
+ export type DataStoreGetParams = DataStoreTenantParams & {
11
+ id: string;
12
+ useCache?: boolean;
13
+ };
14
+ export type DataStoreSetParams<TStoreObject> = DataStoreTenantParams & {
15
+ id: string;
16
+ data: TStoreObject;
17
+ preventDuplicates?: boolean;
18
+ updateExisting?: boolean;
19
+ useCache?: boolean;
20
+ };
21
+ export type DataStoreDeleteParams = DataStoreTenantParams & {
22
+ id: string;
23
+ };
24
+ export interface AgentDataStore<TStoreObject> {
25
+ delete(params: DataStoreDeleteParams): Promise<boolean>;
26
+ get(params: DataStoreGetParams): Promise<TStoreObject | undefined>;
27
+ list(params: DataStoreTenantParams): Promise<TStoreObject[]>;
28
+ set(params: DataStoreSetParams<TStoreObject>): Promise<void>;
29
+ }
30
+ export declare class DwnDataStore<TStoreObject extends Record<string, any> = Jwk> implements AgentDataStore<TStoreObject> {
31
+ protected name: string;
32
+ /**
33
+ * Cache of Store Objects referenced by DWN record ID to Store Objects.
34
+ *
35
+ * Up to 100 entries are retained for 15 minutes.
36
+ */
37
+ protected _cache: TtlCache<string, TStoreObject>;
38
+ /**
39
+ * Index for mappings from Store Identifier to DWN record ID.
40
+ * Since these values don't change, we can use a long TTL.
41
+ *
42
+ * Up to 1,000 entries are retained for 21 days.
43
+ * NOTE: The maximum number for the ttl is 2^31 - 1 milliseconds (24.8 days), setting to 21 days to be safe.
44
+ */
45
+ protected _index: TtlCache<string, string>;
46
+ /**
47
+ * Cache of tenant DIDs that have been initialized with the protocol.
48
+ * This is used to avoid redundant protocol initialization requests.
49
+ *
50
+ * Since these are default protocols and unlikely to change, we can use a long TTL.
51
+ */
52
+ protected _protocolInitializedCache: TtlCache<string, boolean>;
53
+ /**
54
+ * The protocol assigned to this storage instance.
55
+ */
56
+ protected _recordProtocolDefinition: ProtocolDefinition;
57
+ /**
58
+ * Properties to use when writing and querying records with the DWN store.
59
+ */
60
+ protected _recordProperties: {
61
+ dataFormat: string;
62
+ };
63
+ delete({ id, agent, tenant }: DataStoreDeleteParams): Promise<boolean>;
64
+ get({ id, agent, tenant, useCache }: DataStoreGetParams): Promise<TStoreObject | undefined>;
65
+ list({ agent, tenant }: DataStoreListParams): Promise<TStoreObject[]>;
66
+ set({ id, data, tenant, agent, preventDuplicates, updateExisting, useCache }: DataStoreSetParams<TStoreObject>): Promise<void>;
67
+ /**
68
+ * Initialize the relevant protocol for the given tenant.
69
+ * This confirms that the storage protocol is configured, otherwise it will be installed.
70
+ */
71
+ initialize({ tenant, agent }: DataStoreTenantParams): Promise<void>;
72
+ protected getAllRecords(_params: {
73
+ agent: Web5PlatformAgent;
74
+ tenantDid: string;
75
+ }): Promise<TStoreObject[]>;
76
+ private getRecord;
77
+ /**
78
+ * Install the protocol for the given tenant using a `ProtocolsConfigure` message.
79
+ */
80
+ private installProtocol;
81
+ private lookupRecordId;
82
+ private getExistingRecordEntry;
83
+ }
84
+ export declare class InMemoryDataStore<TStoreObject extends Record<string, any> = Jwk> implements AgentDataStore<TStoreObject> {
85
+ protected name: string;
86
+ /**
87
+ * A private field that contains the Map used as the in-memory data store.
88
+ */
89
+ private store;
90
+ delete({ id, agent, tenant }: DataStoreDeleteParams): Promise<boolean>;
91
+ get({ id, agent, tenant }: DataStoreGetParams): Promise<TStoreObject | undefined>;
92
+ list({ agent, tenant }: DataStoreListParams): Promise<TStoreObject[]>;
93
+ set({ id, data, tenant, agent, preventDuplicates, updateExisting }: DataStoreSetParams<TStoreObject>): Promise<void>;
94
+ }
95
+ //# sourceMappingURL=store-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-data.d.ts","sourceRoot":"","sources":["../../src/store-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { PortableDid } from '@enbox/dids';
2
+ import type { Web5PlatformAgent } from './types/agent.js';
3
+ import type { AgentDataStore, DataStoreDeleteParams, DataStoreGetParams, DataStoreListParams, DataStoreSetParams } from './store-data.js';
4
+ import { DwnDataStore, InMemoryDataStore } from './store-data.js';
5
+ export declare class DwnDidStore extends DwnDataStore<PortableDid> implements AgentDataStore<PortableDid> {
6
+ protected name: string;
7
+ protected _recordProtocolDefinition: import("./types/dwn.js").DwnProtocolDefinition;
8
+ /**
9
+ * Properties to use when writing and querying DID records with the DWN store.
10
+ */
11
+ protected _recordProperties: {
12
+ dataFormat: string;
13
+ protocol: string;
14
+ protocolPath: string;
15
+ schema: string | undefined;
16
+ };
17
+ delete(params: DataStoreDeleteParams): Promise<boolean>;
18
+ get(params: DataStoreGetParams): Promise<PortableDid | undefined>;
19
+ list(params: DataStoreListParams): Promise<PortableDid[]>;
20
+ set(params: DataStoreSetParams<PortableDid>): Promise<void>;
21
+ protected getAllRecords({ agent, tenantDid }: {
22
+ agent: Web5PlatformAgent;
23
+ tenantDid: string;
24
+ }): Promise<PortableDid[]>;
25
+ }
26
+ export declare class InMemoryDidStore extends InMemoryDataStore<PortableDid> implements AgentDataStore<PortableDid> {
27
+ protected name: string;
28
+ delete(params: DataStoreDeleteParams): Promise<boolean>;
29
+ get(params: DataStoreGetParams): Promise<PortableDid | undefined>;
30
+ list(params: DataStoreListParams): Promise<PortableDid[]>;
31
+ set(params: DataStoreSetParams<PortableDid>): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=store-did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-did.d.ts","sourceRoot":"","sources":["../../src/store-did.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAM1I,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElE,qBAAa,WAAY,SAAQ,YAAY,CAAC,WAAW,CAAE,YAAW,cAAc,CAAC,WAAW,CAAC;IAC/F,SAAS,CAAC,IAAI,SAAiB;IAE/B,SAAS,CAAC,yBAAyB,iDAA8B;IAEjE;;OAEG;IACH,SAAS,CAAC,iBAAiB;;;;;MAKzB;IAEW,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIjE,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzD,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAIxD,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QAClD,KAAK,EAAE,iBAAiB,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAqC3B;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,WAAW,CAAE,YAAW,cAAc,CAAC,WAAW,CAAC;IACzG,SAAS,CAAC,IAAI,SAAsB;IAEvB,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIjE,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzD,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzE"}