@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 @@
1
+ {"version":3,"file":"dwn.d.ts","sourceRoot":"","sources":["../../../src/types/dwn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { BearerDid } from '@enbox/dids';
2
+ import type { KeyValueStore } from '@enbox/common';
3
+ /**
4
+ * Represents the structure of a backup for an IdentityVault, encapsulating all necessary
5
+ * information to restore the vault's state.
6
+ *
7
+ * The encrypted data encompasses all necessary information to reconstruct the vault's state,
8
+ * including the DID, keys, and any other relevant data stored in the vault.
9
+ */
10
+ export type IdentityVaultBackup = {
11
+ /** A timestamp to record when the backup was made. */
12
+ dateCreated: string;
13
+ /** The size of the backup data, in bytes. */
14
+ size: number;
15
+ /** Encrypted vault contents. */
16
+ data: string;
17
+ };
18
+ /**
19
+ * Represents the detailed data structure of a backup for an {@link IdentityVault}.
20
+ *
21
+ * This type is used to encapsulate the essential components needed to fully restore the identity
22
+ * vault from a backup. It is an intermediate representation that holds the DID and the Content
23
+ * Encryption Key (CEK) in Compact JWE format, as well as the current status of the identity vault.
24
+ */
25
+ export type IdentityVaultBackupData = {
26
+ /** The encrypted DID associated with the vault in Compact JWE format. */
27
+ did: string;
28
+ /** The encrypted key used to secure the vault's contents in Compact JWE format. */
29
+ contentEncryptionKey: string;
30
+ /** An object detailing the current status of the vault at the time of the backup. */
31
+ status: IdentityVaultStatus;
32
+ };
33
+ /**
34
+ * Configuration parameters for initializing an {@link IdentityVault} instance. These parameters
35
+ * define the settings and resources used by the {@link IdentityVault} to secure and manage identity
36
+ * data.
37
+ */
38
+ export type IdentityVaultParams = {
39
+ /**
40
+ * Optionally defines the computational effort required for key derivation, affecting security and
41
+ * performance.
42
+ */
43
+ keyDerivationWorkFactor?: number;
44
+ /** Optionally specifies a custom key-value store for persisting the vault's encrypted data. */
45
+ store?: KeyValueStore<string, any>;
46
+ };
47
+ export interface IdentityVault<T extends Record<string, any> = {
48
+ InitializeResult: any;
49
+ }> {
50
+ /**
51
+ * Creates a backup of the current state of the IdentityVault instance returning an
52
+ * {@link IdentityVaultBackup} object.
53
+ *
54
+ * The IdentityVault must be initialized and unlocked or the backup operation will fail.
55
+ */
56
+ backup(): Promise<IdentityVaultBackup>;
57
+ /**
58
+ * Attempts to change the password of the IdentityVault.
59
+ *
60
+ * The IdentityVault must be initialized and the old password correct or the operation will fail.
61
+ *
62
+ * @throws An error if the IdentityVault has not been initialized or the `oldPassword` is
63
+ * incorrect.
64
+ */
65
+ changePassword(params: {
66
+ oldPassword: string;
67
+ newPassword: string;
68
+ }): Promise<void>;
69
+ /**
70
+ * Returns the DID associated with the {@link IdentityVault} instance.
71
+ */
72
+ getDid(): Promise<BearerDid>;
73
+ /**
74
+ * Returns an {@link IdentityVaultStatus} object, which provides information about the current
75
+ * status of the `IdentityVault` instance.
76
+ */
77
+ getStatus(): Promise<IdentityVaultStatus>;
78
+ /**
79
+ * Initializes the IdentityVault instance with the given `password`.
80
+ */
81
+ initialize(params: {
82
+ password: string;
83
+ }): Promise<T['InitializeResult']>;
84
+ /**
85
+ * Returns a boolean indicating whether the IdentityVault has been initialized.
86
+ */
87
+ isInitialized(): Promise<boolean>;
88
+ /**
89
+ * Returns a boolean indicating whether the IdentityVault is currently locked.
90
+ */
91
+ isLocked(): boolean;
92
+ /**
93
+ * Locks the IdentityVault, secured by a password that must be entered to unlock.
94
+ */
95
+ lock(): Promise<void>;
96
+ /**
97
+ * Restores the IdentityVault instance to the state in the provided {@link IdentityVaultBackup}
98
+ * object.
99
+ *
100
+ * @throws An error if the backup is invalid or the password is incorrect.
101
+ */
102
+ restore(params: {
103
+ backup: IdentityVaultBackup;
104
+ password: string;
105
+ }): Promise<void>;
106
+ /**
107
+ * Attempts to unlock the IdentityVault with the provided password.
108
+ *
109
+ * @throws An error if the password is incorrect.
110
+ */
111
+ unlock(params: {
112
+ password: string;
113
+ }): Promise<void>;
114
+ }
115
+ export type IdentityVaultStatus = {
116
+ /**
117
+ * Boolean indicating whether the IdentityVault has been initialized.
118
+ */
119
+ initialized: boolean;
120
+ /**
121
+ * The timestamp of the last backup.
122
+ */
123
+ lastBackup: string | null;
124
+ /**
125
+ * The timestamp of the last restore.
126
+ */
127
+ lastRestore: string | null;
128
+ };
129
+ //# sourceMappingURL=identity-vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-vault.d.ts","sourceRoot":"","sources":["../../../src/types/identity-vault.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IAEZ,mFAAmF;IACnF,oBAAoB,EAAE,MAAM,CAAC;IAE7B,qFAAqF;IACrF,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,gBAAgB,EAAE,GAAG,CAAA;CAAE;IACtF;;;;;OAKG;IACH,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;IAE5B;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEzC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzE;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { PortableDid } from '@enbox/dids';
2
+ /**
3
+ * Represents metadata about a Web5 Identity.
4
+ */
5
+ export interface IdentityMetadata {
6
+ name: string;
7
+ tenant: string;
8
+ uri: string;
9
+ connectedDid?: string;
10
+ }
11
+ export interface PortableIdentity {
12
+ portableDid: PortableDid;
13
+ /** {@inheritDoc IdentityMetadata} */
14
+ metadata: IdentityMetadata;
15
+ }
16
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/types/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B"}
@@ -0,0 +1,9 @@
1
+ import type { Cipher, Jwk, KeyIdentifier, KeyWrapper, KmsExportKeyParams, KmsImportKeyParams } from '@enbox/crypto';
2
+ import type { Web5PlatformAgent } from './agent.js';
3
+ import type { KeyManager } from '../prototyping/crypto/types/key-manager.js';
4
+ import type { KeyDeleter, KeyExporter, KeyImporter } from '../prototyping/crypto/types/key-io.js';
5
+ import type { KmsCipherParams, KmsDeleteKeyParams, KmsUnwrapKeyParams, KmsWrapKeyParams } from '../prototyping/crypto/types/params-kms.js';
6
+ export interface AgentKeyManager extends KeyManager, Cipher<KmsCipherParams, KmsCipherParams>, KeyImporter<KmsImportKeyParams, KeyIdentifier>, KeyExporter<KmsExportKeyParams, Jwk>, KeyDeleter<KmsDeleteKeyParams>, KeyWrapper<KmsWrapKeyParams, KmsUnwrapKeyParams> {
7
+ agent: Web5PlatformAgent;
8
+ }
9
+ //# sourceMappingURL=key-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../../../src/types/key-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEpH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC3I,MAAM,WAAW,eAAgB,SAAQ,UAAU,EACjD,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,EACxC,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAC9C,WAAW,CAAC,kBAAkB,EAAE,GAAG,CAAC,EACpC,UAAU,CAAC,kBAAkB,CAAC,EAC9B,UAAU,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAEhD,KAAK,EAAE,iBAAiB,CAAC;CAC1B"}
@@ -0,0 +1,98 @@
1
+ import { DwnDataEncodedRecordsWriteMessage, DwnInterface, DwnPermissionGrant, DwnPermissionRequest, DwnPermissionScope } from './dwn.js';
2
+ export type FetchPermissionsParams = {
3
+ author: string;
4
+ target: string;
5
+ grantee?: string;
6
+ grantor?: string;
7
+ protocol?: string;
8
+ remote?: boolean;
9
+ };
10
+ export type FetchPermissionRequestParams = {
11
+ author: string;
12
+ target: string;
13
+ protocol?: string;
14
+ remote?: boolean;
15
+ };
16
+ export type IsGrantRevokedParams = {
17
+ author: string;
18
+ target: string;
19
+ grantRecordId: string;
20
+ remote?: boolean;
21
+ };
22
+ export type PermissionGrantEntry = {
23
+ grant: DwnPermissionGrant;
24
+ message: DwnDataEncodedRecordsWriteMessage;
25
+ };
26
+ export type PermissionRequestEntry = {
27
+ request: DwnPermissionRequest;
28
+ message: DwnDataEncodedRecordsWriteMessage;
29
+ };
30
+ export type PermissionRevocationEntry = {
31
+ message: DwnDataEncodedRecordsWriteMessage;
32
+ };
33
+ export type CreateGrantParams = {
34
+ store?: boolean;
35
+ requestId?: string;
36
+ author: string;
37
+ description?: string;
38
+ dateExpires: string;
39
+ grantedTo: string;
40
+ scope: DwnPermissionScope;
41
+ delegated?: boolean;
42
+ };
43
+ export type CreateRequestParams = {
44
+ store?: boolean;
45
+ author: string;
46
+ description?: string;
47
+ scope: DwnPermissionScope;
48
+ delegated?: boolean;
49
+ };
50
+ export type CreateRevocationParams = {
51
+ store?: boolean;
52
+ author: string;
53
+ grant: DwnPermissionGrant;
54
+ description?: string;
55
+ };
56
+ export type GetPermissionParams = {
57
+ connectedDid: string;
58
+ delegateDid: string;
59
+ messageType: DwnInterface;
60
+ protocol?: string;
61
+ cached?: boolean;
62
+ delegate?: boolean;
63
+ };
64
+ export interface PermissionsApi {
65
+ /**
66
+ * Get the permission grant for a given author, target, and protocol. To be used when authoring delegated requests.
67
+ */
68
+ getPermissionForRequest: (params: GetPermissionParams) => Promise<PermissionGrantEntry>;
69
+ /**
70
+ * Fetch all grants for a given author and target, optionally filtered by a specific grantee, grantor, or protocol.
71
+ */
72
+ fetchGrants: (params: FetchPermissionsParams) => Promise<PermissionGrantEntry[]>;
73
+ /**
74
+ * Fetch all requests for a given author and target, optionally filtered by a specific protocol.
75
+ */
76
+ fetchRequests: (params: FetchPermissionRequestParams) => Promise<PermissionRequestEntry[]>;
77
+ /**
78
+ * Check whether a grant is revoked by reading the revocation record for a given grant recordId.
79
+ */
80
+ isGrantRevoked: (request: IsGrantRevokedParams) => Promise<boolean>;
81
+ /**
82
+ * Create a new permission grant, optionally storing it in the DWN.
83
+ */
84
+ createGrant: (params: CreateGrantParams) => Promise<PermissionGrantEntry>;
85
+ /**
86
+ * Create a new permission request, optionally storing it in the DWN.
87
+ */
88
+ createRequest(params: CreateRequestParams): Promise<PermissionRequestEntry>;
89
+ /**
90
+ * Create a new permission revocation, optionally storing it in the DWN.
91
+ */
92
+ createRevocation(params: CreateRevocationParams): Promise<PermissionRevocationEntry>;
93
+ /**
94
+ * Clears the cache of matched permissions.
95
+ */
96
+ clear: () => Promise<void>;
97
+ }
98
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/types/permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { Web5PlatformAgent } from './agent.js';
2
+ /**
3
+ * The SyncEngine is responsible for syncing messages between the agent and the platform.
4
+ */
5
+ export type SyncIdentityOptions = {
6
+ /**
7
+ * The delegate DID that should be used to sign the sync messages.
8
+ */
9
+ delegateDid?: string;
10
+ /**
11
+ * The protocols that should be synced for this identity, if an empty array is provided, all messages for all protocols will be synced.
12
+ */
13
+ protocols: string[];
14
+ };
15
+ export interface SyncEngine {
16
+ /**
17
+ * The agent that the SyncEngine is attached to.
18
+ */
19
+ agent: Web5PlatformAgent;
20
+ /**
21
+ * Register an identity to be managed by the SyncEngine for syncing.
22
+ * The options can define specific protocols that should only be synced, or a delegate DID that should be used to sign the sync messages.
23
+ */
24
+ registerIdentity(params: {
25
+ did: string;
26
+ options?: SyncIdentityOptions;
27
+ }): Promise<void>;
28
+ /**
29
+ * Unregister an identity from the SyncEngine, this will stop syncing messages for this identity.
30
+ */
31
+ unregisterIdentity(did: string): Promise<void>;
32
+ /**
33
+ * Get the Sync Options for a specific identity.
34
+ */
35
+ getIdentityOptions(did: string): Promise<SyncIdentityOptions | undefined>;
36
+ /**
37
+ * Update the Sync Options for a specific identity, replaces the existing options.
38
+ */
39
+ updateIdentityOptions(params: {
40
+ did: string;
41
+ options: SyncIdentityOptions;
42
+ }): Promise<void>;
43
+ /**
44
+ * Preforms a one-shot sync operation. If no direction is provided, it will perform both push and pull.
45
+ * @param direction which direction you'd like to perform the sync operation.
46
+ *
47
+ * @throws {Error} if a sync is already in progress or the sync operation fails.
48
+ */
49
+ sync(direction?: 'push' | 'pull'): Promise<void>;
50
+ /**
51
+ * Starts a periodic sync that runs at an interval. Subsequent calls to startSync will update the interval.
52
+ *
53
+ * @param params { interval: string } the interval at which the sync operation should be performed. ex: '30s', '1m', '10m'
54
+ */
55
+ startSync(params: {
56
+ interval: string;
57
+ }): Promise<void>;
58
+ /**
59
+ * Stops the periodic sync operation, will complete the current sync operation if one is already in progress.
60
+ *
61
+ * @param timeout the maximum amount of time, in milliseconds, to wait for the current sync operation to complete. Default is 2000 (2 seconds).
62
+ * @throws {Error} if the sync operation fails to stop before the timeout.
63
+ */
64
+ stopSync(timeout?: number): Promise<void>;
65
+ }
66
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/types/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AACD,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC1E;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F;;;;;OAKG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Verifiable Credential Types
3
+ */
4
+ export type ProcessVcRequest = {};
5
+ export type SendVcRequest = {};
6
+ export type VcResponse = {};
7
+ //# sourceMappingURL=vc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc.d.ts","sourceRoot":"","sources":["../../../src/types/vc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,gBAAgB,GAAG,EAAgB,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,EAAgB,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,EAAgB,CAAA"}
@@ -0,0 +1,50 @@
1
+ import type { Jwk, KeyIdentifier, KmsExportKeyParams, KmsGetPublicKeyParams, KmsSignParams } from '@enbox/crypto';
2
+ import { LocalKeyManager } from '@enbox/crypto';
3
+ import type { Web5PlatformAgent } from './types/agent.js';
4
+ /**
5
+ * Internal utility functions used by the Web5 platform agent that are not intended for public use
6
+ * and are not exported in the public API.
7
+ */
8
+ /**
9
+ * Separator used to join the tenant DID and the DID URI that is used to prefix all lookups in the
10
+ * Agent data stores, including the DWN-backed store's index and the in-memory store's map.
11
+ */
12
+ export declare const TENANT_SEPARATOR = "^";
13
+ export declare class DeterministicKeyGenerator extends LocalKeyManager {
14
+ private _predefinedKeys;
15
+ private _keyGenerator;
16
+ constructor();
17
+ addPredefinedKeys({ privateKeys }: {
18
+ privateKeys: Jwk[];
19
+ }): Promise<void>;
20
+ exportKey({ keyUri }: KmsExportKeyParams): Promise<Jwk>;
21
+ generateKey(_params: {
22
+ algorithm: 'Ed25519' | 'secp256k1' | 'secp256r1';
23
+ }): Promise<KeyIdentifier>;
24
+ getPublicKey({ keyUri }: KmsGetPublicKeyParams): Promise<Jwk>;
25
+ sign({ keyUri, data }: KmsSignParams): Promise<Uint8Array>;
26
+ }
27
+ /**
28
+ * Determines the tenant identifier (DID) for data store operations based on the provided
29
+ * parameters.
30
+ *
31
+ * The function identifies the tenant using a priority order:
32
+ * 1. directly provided tenant DID,
33
+ * 2. the agent's DID,
34
+ * 3. or a specified DID URI.
35
+ *
36
+ * This approach ensures operations are isolated by DID, supporting multi-tenancy.
37
+ *
38
+ * @param params - The parameters for determining the tenant.
39
+ * @param params.agent - The Web5 platform agent instance.
40
+ * @param [params.tenant] - An optional tenant DID. If provided, it takes precedence.
41
+ * @param [params.didUri] - An optional DID URI to use if no tenant DID or agent DID is available.
42
+ * @returns A promise that resolves to the tenant DID.
43
+ * @throws Throws an error if it fails to determine the tenant from the provided inputs.
44
+ */
45
+ export declare function getDataStoreTenant({ agent, tenant, didUri }: {
46
+ agent: Web5PlatformAgent;
47
+ tenant?: string;
48
+ didUri?: string;
49
+ }): Promise<string>;
50
+ //# sourceMappingURL=utils-internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-internal.d.ts","sourceRoot":"","sources":["../../src/utils-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElH,OAAO,EAAW,eAAe,EAAwB,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,aAAa,CAAkC;;IAQ1C,iBAAiB,CAAC,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzE,SAAS,CAAC,EAAE,MAAM,EAAE,EAC/B,kBAAkB,GACjB,OAAO,CAAC,GAAG,CAAC;IAYF,WAAW,CAAC,OAAO,EAAE;QAChC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;KACjD,GAAG,OAAO,CAAC,aAAa,CAAC;IAYb,YAAY,CAAC,EAAE,MAAM,EAAE,EAChC,qBAAqB,GACtB,OAAO,CAAC,GAAG,CAAC;IAeF,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAChC,aAAa,GACZ,OAAO,CAAC,UAAU,CAAC;CAcvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAClE,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlB"}
@@ -0,0 +1,37 @@
1
+ import type { DidUrlDereferencer } from '@enbox/dids';
2
+ import { PaginationCursor, RecordsDeleteMessage, RecordsWriteMessage } from '@enbox/dwn-sdk-js';
3
+ import { Readable } from '@enbox/common';
4
+ import { ReadableWebToNodeStream } from 'readable-web-to-node-stream';
5
+ import { DateSort, RecordsWrite } from '@enbox/dwn-sdk-js';
6
+ export declare function blobToIsomorphicNodeReadable(blob: Blob): Readable;
7
+ export declare function getDwnServiceEndpointUrls(didUri: string, dereferencer: DidUrlDereferencer): Promise<string[]>;
8
+ export declare function getRecordAuthor(record: RecordsWriteMessage | RecordsDeleteMessage): string | undefined;
9
+ /**
10
+ * Get the `protocolRole` string from the signature payload of the given RecordsWriteMessage or RecordsDeleteMessage.
11
+ */
12
+ export declare function getRecordProtocolRole(message: RecordsWriteMessage | RecordsDeleteMessage): string | undefined;
13
+ export declare function isRecordsWrite(obj: unknown): obj is RecordsWrite;
14
+ /**
15
+ * Get the CID of the given RecordsWriteMessage.
16
+ */
17
+ export declare function getRecordMessageCid(message: RecordsWriteMessage): Promise<string>;
18
+ /**
19
+ * Get the pagination cursor for the given RecordsWriteMessage and DateSort.
20
+ *
21
+ * @param message The RecordsWriteMessage for which to get the pagination cursor.
22
+ * @param dateSort The date sort that will be used in the query or subscription to which the cursor will be applied.
23
+ */
24
+ export declare function getPaginationCursor(message: RecordsWriteMessage, dateSort: DateSort): Promise<PaginationCursor>;
25
+ export declare function webReadableToIsomorphicNodeReadable(webReadable: ReadableStream<any>): ReadableWebToNodeStream;
26
+ /**
27
+ * Polling function with interval, TTL accepting a custom fetch function
28
+ * @template T - the return you expect from the fetcher
29
+ * @param fetchFunction an http fetch function
30
+ * @param [interval=3000] how frequently to poll
31
+ * @param [ttl=300_000] how long until polling stops
32
+ * @returns T - the result of fetch
33
+ */
34
+ export declare function pollWithTtl(fetchFunction: () => Promise<Response>, interval?: number, ttl?: number, abortSignal?: AbortSignal): Promise<Response | null>;
35
+ /** Concatenates a base URL and a path ensuring that there is exactly one slash between them */
36
+ export declare function concatenateUrl(baseUrl: string, path: string): string;
37
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAO,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAA4C,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErG,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAEjE;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnH;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAEtG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAG7G;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY,CAWhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYrH;AAED,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,2BAEnF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EACtC,QAAQ,SAAO,EACf,GAAG,SAAU,EACb,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAwD1B;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYpE"}
package/package.json ADDED
@@ -0,0 +1,112 @@
1
+ {
2
+ "name": "@enbox/agent",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "types": "./dist/types/index.d.ts",
8
+ "scripts": {
9
+ "clean": "rimraf dist coverage tests/compiled",
10
+ "build:esm": "rimraf dist/esm dist/types && pnpm tsc -p tsconfig.json",
11
+ "build:cjs": "rimraf dist/cjs && node build/cjs-bundle.js && echo '{\"type\": \"commonjs\"}' > ./dist/cjs/package.json",
12
+ "build:browser": "rimraf dist/browser.mjs dist/browser.js && node build/bundles.js",
13
+ "build:tests:node": "rimraf tests/compiled && pnpm tsc -p tests/tsconfig.json",
14
+ "build:tests:browser": "rimraf tests/compiled && node build/esbuild-tests.cjs",
15
+ "build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:browser",
16
+ "lint": "eslint . --max-warnings 0",
17
+ "lint:fix": "eslint . --fix",
18
+ "test:node": "pnpm build:tests:node && pnpm c8 mocha",
19
+ "test:browser": "pnpm build:tests:browser && web-test-runner"
20
+ },
21
+ "homepage": "https://github.com/enboxorg/enbox/tree/main/packages/agent#readme",
22
+ "bugs": "https://github.com/enboxorg/enbox/issues",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/enboxorg/enbox.git",
26
+ "directory": "packages/agent"
27
+ },
28
+ "license": "Apache-2.0",
29
+ "contributors": [
30
+ {
31
+ "name": "Daniel Buchner",
32
+ "url": "https://github.com/csuwildcat"
33
+ },
34
+ {
35
+ "name": "Frank Hinek",
36
+ "url": "https://github.com/frankhinek"
37
+ },
38
+ {
39
+ "name": "Moe Jangda",
40
+ "url": "https://github.com/mistermoe"
41
+ }
42
+ ],
43
+ "files": [
44
+ "dist",
45
+ "src"
46
+ ],
47
+ "exports": {
48
+ ".": {
49
+ "types": "./dist/types/index.d.ts",
50
+ "import": "./dist/esm/index.js",
51
+ "require": "./dist/cjs/index.js"
52
+ }
53
+ },
54
+ "react-native": "./dist/esm/index.js",
55
+ "keywords": [
56
+ "decentralized",
57
+ "decentralized-applications",
58
+ "decentralized-identity",
59
+ "decentralized-web",
60
+ "vcs",
61
+ "verifiable credentials",
62
+ "web5"
63
+ ],
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "engines": {
68
+ "node": ">=18.0.0"
69
+ },
70
+ "dependencies": {
71
+ "@noble/ciphers": "0.5.3",
72
+ "@scure/bip39": "1.2.2",
73
+ "@enbox/dwn-sdk-js": "workspace:*",
74
+ "@enbox/common": "workspace:*",
75
+ "@enbox/crypto": "workspace:*",
76
+ "@enbox/dids": "workspace:*",
77
+ "abstract-level": "1.0.4",
78
+ "ed25519-keygen": "0.4.11",
79
+ "isomorphic-ws": "^5.0.0",
80
+ "level": "8.0.0",
81
+ "ms": "2.1.3",
82
+ "readable-web-to-node-stream": "3.0.2",
83
+ "ulidx": "2.1.0"
84
+ },
85
+ "devDependencies": {
86
+ "@playwright/test": "1.45.3",
87
+ "@types/chai": "4.3.6",
88
+ "@types/dns-packet": "5.6.4",
89
+ "@types/eslint": "8.56.10",
90
+ "@types/mocha": "10.0.1",
91
+ "@types/ms": "0.7.31",
92
+ "@types/node": "20.14.8",
93
+ "@types/sinon": "17.0.3",
94
+ "@typescript-eslint/eslint-plugin": "7.9.0",
95
+ "@typescript-eslint/parser": "7.14.1",
96
+ "@web/test-runner": "0.18.2",
97
+ "@web/test-runner-playwright": "0.11.0",
98
+ "abstract-level": "1.0.4",
99
+ "c8": "9.1.0",
100
+ "chai": "4.3.10",
101
+ "esbuild": "0.19.8",
102
+ "eslint": "9.3.0",
103
+ "eslint-plugin-mocha": "10.4.3",
104
+ "mocha": "10.2.0",
105
+ "mocha-junit-reporter": "2.2.1",
106
+ "node-stdlib-browser": "1.2.0",
107
+ "playwright": "1.45.3",
108
+ "rimraf": "4.4.0",
109
+ "sinon": "18.0.0",
110
+ "typescript": "5.1.6"
111
+ }
112
+ }