@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.
- package/dist/browser.js +2215 -0
- package/dist/browser.js.map +7 -0
- package/dist/browser.mjs +2215 -0
- package/dist/browser.mjs.map +7 -0
- package/dist/cjs/index.js +8530 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/agent-did-resolver-cache.js +87 -0
- package/dist/esm/agent-did-resolver-cache.js.map +1 -0
- package/dist/esm/bearer-identity.js +41 -0
- package/dist/esm/bearer-identity.js.map +1 -0
- package/dist/esm/connect.js +191 -0
- package/dist/esm/connect.js.map +1 -0
- package/dist/esm/crypto-api.js +346 -0
- package/dist/esm/crypto-api.js.map +1 -0
- package/dist/esm/did-api.js +278 -0
- package/dist/esm/did-api.js.map +1 -0
- package/dist/esm/dwn-api.js +336 -0
- package/dist/esm/dwn-api.js.map +1 -0
- package/dist/esm/dwn-registrar.js +120 -0
- package/dist/esm/dwn-registrar.js.map +1 -0
- package/dist/esm/hd-identity-vault.js +729 -0
- package/dist/esm/hd-identity-vault.js.map +1 -0
- package/dist/esm/identity-api.js +262 -0
- package/dist/esm/identity-api.js.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/local-key-manager.js +498 -0
- package/dist/esm/local-key-manager.js.map +1 -0
- package/dist/esm/oidc.js +507 -0
- package/dist/esm/oidc.js.map +1 -0
- package/dist/esm/permissions-api.js +322 -0
- package/dist/esm/permissions-api.js.map +1 -0
- package/dist/esm/prototyping/clients/dwn-rpc-types.js +2 -0
- package/dist/esm/prototyping/clients/dwn-rpc-types.js.map +1 -0
- package/dist/esm/prototyping/clients/dwn-server-info-cache-memory.js +74 -0
- package/dist/esm/prototyping/clients/dwn-server-info-cache-memory.js.map +1 -0
- package/dist/esm/prototyping/clients/http-dwn-rpc-client.js +105 -0
- package/dist/esm/prototyping/clients/http-dwn-rpc-client.js.map +1 -0
- package/dist/esm/prototyping/clients/json-rpc-socket.js +150 -0
- package/dist/esm/prototyping/clients/json-rpc-socket.js.map +1 -0
- package/dist/esm/prototyping/clients/json-rpc.js +58 -0
- package/dist/esm/prototyping/clients/json-rpc.js.map +1 -0
- package/dist/esm/prototyping/clients/server-info-types.js +2 -0
- package/dist/esm/prototyping/clients/server-info-types.js.map +1 -0
- package/dist/esm/prototyping/clients/web-socket-clients.js +90 -0
- package/dist/esm/prototyping/clients/web-socket-clients.js.map +1 -0
- package/dist/esm/prototyping/common/object.js +14 -0
- package/dist/esm/prototyping/common/object.js.map +1 -0
- package/dist/esm/prototyping/common/type-utils.js +2 -0
- package/dist/esm/prototyping/common/type-utils.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/aes-gcm.js +147 -0
- package/dist/esm/prototyping/crypto/algorithms/aes-gcm.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/aes-kw.js +137 -0
- package/dist/esm/prototyping/crypto/algorithms/aes-kw.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/ecdsa.js +307 -0
- package/dist/esm/prototyping/crypto/algorithms/ecdsa.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/eddsa.js +264 -0
- package/dist/esm/prototyping/crypto/algorithms/eddsa.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/hkdf.js +39 -0
- package/dist/esm/prototyping/crypto/algorithms/hkdf.js.map +1 -0
- package/dist/esm/prototyping/crypto/algorithms/pbkdf2.js +41 -0
- package/dist/esm/prototyping/crypto/algorithms/pbkdf2.js.map +1 -0
- package/dist/esm/prototyping/crypto/crypto-error.js +41 -0
- package/dist/esm/prototyping/crypto/crypto-error.js.map +1 -0
- package/dist/esm/prototyping/crypto/dsa.js +236 -0
- package/dist/esm/prototyping/crypto/dsa.js.map +1 -0
- package/dist/esm/prototyping/crypto/jose/jwe-compact.js +130 -0
- package/dist/esm/prototyping/crypto/jose/jwe-compact.js.map +1 -0
- package/dist/esm/prototyping/crypto/jose/jwe-flattened.js +294 -0
- package/dist/esm/prototyping/crypto/jose/jwe-flattened.js.map +1 -0
- package/dist/esm/prototyping/crypto/jose/jwe.js +308 -0
- package/dist/esm/prototyping/crypto/jose/jwe.js.map +1 -0
- package/dist/esm/prototyping/crypto/primitives/aes-gcm.js +352 -0
- package/dist/esm/prototyping/crypto/primitives/aes-gcm.js.map +1 -0
- package/dist/esm/prototyping/crypto/primitives/aes-kw.js +247 -0
- package/dist/esm/prototyping/crypto/primitives/aes-kw.js.map +1 -0
- package/dist/esm/prototyping/crypto/primitives/hkdf.js +80 -0
- package/dist/esm/prototyping/crypto/primitives/hkdf.js.map +1 -0
- package/dist/esm/prototyping/crypto/primitives/pbkdf2.js +85 -0
- package/dist/esm/prototyping/crypto/primitives/pbkdf2.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/cipher.js +2 -0
- package/dist/esm/prototyping/crypto/types/cipher.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/crypto-api.js +2 -0
- package/dist/esm/prototyping/crypto/types/crypto-api.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/key-converter.js +2 -0
- package/dist/esm/prototyping/crypto/types/key-converter.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/key-deriver.js +2 -0
- package/dist/esm/prototyping/crypto/types/key-deriver.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/key-io.js +2 -0
- package/dist/esm/prototyping/crypto/types/key-io.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/key-manager.js +2 -0
- package/dist/esm/prototyping/crypto/types/key-manager.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/key-wrapper.js +2 -0
- package/dist/esm/prototyping/crypto/types/key-wrapper.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/params-direct.js +2 -0
- package/dist/esm/prototyping/crypto/types/params-direct.js.map +1 -0
- package/dist/esm/prototyping/crypto/types/params-kms.js +2 -0
- package/dist/esm/prototyping/crypto/types/params-kms.js.map +1 -0
- package/dist/esm/prototyping/crypto/utils.js +19 -0
- package/dist/esm/prototyping/crypto/utils.js.map +1 -0
- package/dist/esm/prototyping/dids/resolver-cache-memory.js +77 -0
- package/dist/esm/prototyping/dids/resolver-cache-memory.js.map +1 -0
- package/dist/esm/prototyping/dids/utils.js +9 -0
- package/dist/esm/prototyping/dids/utils.js.map +1 -0
- package/dist/esm/rpc-client.js +123 -0
- package/dist/esm/rpc-client.js.map +1 -0
- package/dist/esm/store-data-protocols.js +38 -0
- package/dist/esm/store-data-protocols.js.map +1 -0
- package/dist/esm/store-data.js +320 -0
- package/dist/esm/store-data.js.map +1 -0
- package/dist/esm/store-did.js +136 -0
- package/dist/esm/store-did.js.map +1 -0
- package/dist/esm/store-identity.js +140 -0
- package/dist/esm/store-identity.js.map +1 -0
- package/dist/esm/store-key.js +136 -0
- package/dist/esm/store-key.js.map +1 -0
- package/dist/esm/sync-api.js +61 -0
- package/dist/esm/sync-api.js.map +1 -0
- package/dist/esm/sync-engine-level.js +618 -0
- package/dist/esm/sync-engine-level.js.map +1 -0
- package/dist/esm/test-harness.js +239 -0
- package/dist/esm/test-harness.js.map +1 -0
- package/dist/esm/types/agent.js +2 -0
- package/dist/esm/types/agent.js.map +1 -0
- package/dist/esm/types/dwn.js +31 -0
- package/dist/esm/types/dwn.js.map +1 -0
- package/dist/esm/types/identity-vault.js +2 -0
- package/dist/esm/types/identity-vault.js.map +1 -0
- package/dist/esm/types/identity.js +2 -0
- package/dist/esm/types/identity.js.map +1 -0
- package/dist/esm/types/key-manager.js +2 -0
- package/dist/esm/types/key-manager.js.map +1 -0
- package/dist/esm/types/permissions.js +2 -0
- package/dist/esm/types/permissions.js.map +1 -0
- package/dist/esm/types/sync.js +2 -0
- package/dist/esm/types/sync.js.map +1 -0
- package/dist/esm/types/vc.js +5 -0
- package/dist/esm/types/vc.js.map +1 -0
- package/dist/esm/utils-internal.js +147 -0
- package/dist/esm/utils-internal.js.map +1 -0
- package/dist/esm/utils.js +161 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/agent-did-resolver-cache.d.ts +30 -0
- package/dist/types/agent-did-resolver-cache.d.ts.map +1 -0
- package/dist/types/bearer-identity.d.ts +31 -0
- package/dist/types/bearer-identity.d.ts.map +1 -0
- package/dist/types/connect.d.ts +88 -0
- package/dist/types/connect.d.ts.map +1 -0
- package/dist/types/crypto-api.d.ts +286 -0
- package/dist/types/crypto-api.d.ts.map +1 -0
- package/dist/types/did-api.d.ts +119 -0
- package/dist/types/did-api.d.ts.map +1 -0
- package/dist/types/dwn-api.d.ts +66 -0
- package/dist/types/dwn-api.d.ts.map +1 -0
- package/dist/types/dwn-registrar.d.ts +29 -0
- package/dist/types/dwn-registrar.d.ts.map +1 -0
- package/dist/types/hd-identity-vault.d.ts +306 -0
- package/dist/types/hd-identity-vault.d.ts.map +1 -0
- package/dist/types/identity-api.d.ts +107 -0
- package/dist/types/identity-api.d.ts.map +1 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/local-key-manager.d.ts +311 -0
- package/dist/types/local-key-manager.d.ts.map +1 -0
- package/dist/types/oidc.d.ts +247 -0
- package/dist/types/oidc.d.ts.map +1 -0
- package/dist/types/permissions-api.d.ts +35 -0
- package/dist/types/permissions-api.d.ts.map +1 -0
- package/dist/types/prototyping/clients/dwn-rpc-types.d.ts +45 -0
- package/dist/types/prototyping/clients/dwn-rpc-types.d.ts.map +1 -0
- package/dist/types/prototyping/clients/dwn-server-info-cache-memory.d.ts +57 -0
- package/dist/types/prototyping/clients/dwn-server-info-cache-memory.d.ts.map +1 -0
- package/dist/types/prototyping/clients/http-dwn-rpc-client.d.ts +13 -0
- package/dist/types/prototyping/clients/http-dwn-rpc-client.d.ts.map +1 -0
- package/dist/types/prototyping/clients/json-rpc-socket.d.ts +43 -0
- package/dist/types/prototyping/clients/json-rpc-socket.d.ts.map +1 -0
- package/dist/types/prototyping/clients/json-rpc.d.ts +49 -0
- package/dist/types/prototyping/clients/json-rpc.d.ts.map +1 -0
- package/dist/types/prototyping/clients/server-info-types.d.ts +20 -0
- package/dist/types/prototyping/clients/server-info-types.d.ts.map +1 -0
- package/dist/types/prototyping/clients/web-socket-clients.d.ts +10 -0
- package/dist/types/prototyping/clients/web-socket-clients.d.ts.map +1 -0
- package/dist/types/prototyping/common/object.d.ts +2 -0
- package/dist/types/prototyping/common/object.d.ts.map +1 -0
- package/dist/types/prototyping/common/type-utils.d.ts +7 -0
- package/dist/types/prototyping/common/type-utils.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/aes-gcm.d.ts +151 -0
- package/dist/types/prototyping/crypto/algorithms/aes-gcm.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/aes-kw.d.ts +109 -0
- package/dist/types/prototyping/crypto/algorithms/aes-kw.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/ecdsa.d.ts +160 -0
- package/dist/types/prototyping/crypto/algorithms/ecdsa.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/eddsa.d.ts +157 -0
- package/dist/types/prototyping/crypto/algorithms/eddsa.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/hkdf.d.ts +21 -0
- package/dist/types/prototyping/crypto/algorithms/hkdf.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/algorithms/pbkdf2.d.ts +21 -0
- package/dist/types/prototyping/crypto/algorithms/pbkdf2.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/crypto-error.d.ts +29 -0
- package/dist/types/prototyping/crypto/crypto-error.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/dsa.d.ts +169 -0
- package/dist/types/prototyping/crypto/dsa.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/jose/jwe-compact.d.ts +135 -0
- package/dist/types/prototyping/crypto/jose/jwe-compact.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts +134 -0
- package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/jose/jwe.d.ts +378 -0
- package/dist/types/prototyping/crypto/jose/jwe.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/primitives/aes-gcm.d.ts +245 -0
- package/dist/types/prototyping/crypto/primitives/aes-gcm.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/primitives/aes-kw.d.ts +103 -0
- package/dist/types/prototyping/crypto/primitives/aes-kw.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/primitives/hkdf.d.ts +90 -0
- package/dist/types/prototyping/crypto/primitives/hkdf.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/primitives/pbkdf2.d.ts +84 -0
- package/dist/types/prototyping/crypto/primitives/pbkdf2.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/cipher.d.ts +14 -0
- package/dist/types/prototyping/crypto/types/cipher.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/crypto-api.d.ts +35 -0
- package/dist/types/prototyping/crypto/types/crypto-api.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/key-converter.d.ts +49 -0
- package/dist/types/prototyping/crypto/types/key-converter.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/key-deriver.d.ts +50 -0
- package/dist/types/prototyping/crypto/types/key-deriver.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/key-io.d.ts +49 -0
- package/dist/types/prototyping/crypto/types/key-io.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/key-manager.d.ts +69 -0
- package/dist/types/prototyping/crypto/types/key-manager.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/key-wrapper.d.ts +14 -0
- package/dist/types/prototyping/crypto/types/key-wrapper.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/params-direct.d.ts +75 -0
- package/dist/types/prototyping/crypto/types/params-direct.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/types/params-kms.d.ts +63 -0
- package/dist/types/prototyping/crypto/types/params-kms.d.ts.map +1 -0
- package/dist/types/prototyping/crypto/utils.d.ts +7 -0
- package/dist/types/prototyping/crypto/utils.d.ts.map +1 -0
- package/dist/types/prototyping/dids/resolver-cache-memory.d.ts +57 -0
- package/dist/types/prototyping/dids/resolver-cache-memory.d.ts.map +1 -0
- package/dist/types/prototyping/dids/utils.d.ts +3 -0
- package/dist/types/prototyping/dids/utils.d.ts.map +1 -0
- package/dist/types/rpc-client.d.ts +51 -0
- package/dist/types/rpc-client.d.ts.map +1 -0
- package/dist/types/store-data-protocols.d.ts +4 -0
- package/dist/types/store-data-protocols.d.ts.map +1 -0
- package/dist/types/store-data.d.ts +95 -0
- package/dist/types/store-data.d.ts.map +1 -0
- package/dist/types/store-did.d.ts +33 -0
- package/dist/types/store-did.d.ts.map +1 -0
- package/dist/types/store-identity.d.ts +34 -0
- package/dist/types/store-identity.d.ts.map +1 -0
- package/dist/types/store-key.d.ts +32 -0
- package/dist/types/store-key.d.ts.map +1 -0
- package/dist/types/sync-api.d.ts +41 -0
- package/dist/types/sync-api.d.ts.map +1 -0
- package/dist/types/sync-engine-level.d.ts +85 -0
- package/dist/types/sync-engine-level.d.ts.map +1 -0
- package/dist/types/test-harness.d.ts +69 -0
- package/dist/types/test-harness.d.ts.map +1 -0
- package/dist/types/types/agent.d.ts +172 -0
- package/dist/types/types/agent.d.ts.map +1 -0
- package/dist/types/types/dwn.d.ts +178 -0
- package/dist/types/types/dwn.d.ts.map +1 -0
- package/dist/types/types/identity-vault.d.ts +129 -0
- package/dist/types/types/identity-vault.d.ts.map +1 -0
- package/dist/types/types/identity.d.ts +16 -0
- package/dist/types/types/identity.d.ts.map +1 -0
- package/dist/types/types/key-manager.d.ts +9 -0
- package/dist/types/types/key-manager.d.ts.map +1 -0
- package/dist/types/types/permissions.d.ts +98 -0
- package/dist/types/types/permissions.d.ts.map +1 -0
- package/dist/types/types/sync.d.ts +66 -0
- package/dist/types/types/sync.d.ts.map +1 -0
- package/dist/types/types/vc.d.ts +7 -0
- package/dist/types/types/vc.d.ts.map +1 -0
- package/dist/types/utils-internal.d.ts +50 -0
- package/dist/types/utils-internal.d.ts.map +1 -0
- package/dist/types/utils.d.ts +37 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +112 -0
- package/src/agent-did-resolver-cache.ts +95 -0
- package/src/bearer-identity.ts +42 -0
- package/src/connect.ts +296 -0
- package/src/crypto-api.ts +593 -0
- package/src/did-api.ts +429 -0
- package/src/dwn-api.ts +462 -0
- package/src/dwn-registrar.ts +127 -0
- package/src/hd-identity-vault.ts +853 -0
- package/src/identity-api.ts +324 -0
- package/src/index.ts +30 -0
- package/src/local-key-manager.ts +672 -0
- package/src/oidc.ts +857 -0
- package/src/permissions-api.ts +408 -0
- package/src/prototyping/clients/dwn-rpc-types.ts +55 -0
- package/src/prototyping/clients/dwn-server-info-cache-memory.ts +79 -0
- package/src/prototyping/clients/http-dwn-rpc-client.ts +110 -0
- package/src/prototyping/clients/json-rpc-socket.ts +169 -0
- package/src/prototyping/clients/json-rpc.ts +113 -0
- package/src/prototyping/clients/server-info-types.ts +21 -0
- package/src/prototyping/clients/web-socket-clients.ts +100 -0
- package/src/prototyping/common/object.ts +15 -0
- package/src/prototyping/common/type-utils.ts +6 -0
- package/src/prototyping/crypto/algorithms/aes-gcm.ts +211 -0
- package/src/prototyping/crypto/algorithms/aes-kw.ts +164 -0
- package/src/prototyping/crypto/algorithms/ecdsa.ts +365 -0
- package/src/prototyping/crypto/algorithms/eddsa.ts +310 -0
- package/src/prototyping/crypto/algorithms/hkdf.ts +40 -0
- package/src/prototyping/crypto/algorithms/pbkdf2.ts +44 -0
- package/src/prototyping/crypto/crypto-error.ts +45 -0
- package/src/prototyping/crypto/dsa.ts +367 -0
- package/src/prototyping/crypto/jose/jwe-compact.ts +225 -0
- package/src/prototyping/crypto/jose/jwe-flattened.ts +459 -0
- package/src/prototyping/crypto/jose/jwe.ts +653 -0
- package/src/prototyping/crypto/primitives/aes-gcm.ts +374 -0
- package/src/prototyping/crypto/primitives/aes-kw.ts +271 -0
- package/src/prototyping/crypto/primitives/hkdf.ts +121 -0
- package/src/prototyping/crypto/primitives/pbkdf2.ts +116 -0
- package/src/prototyping/crypto/types/cipher.ts +17 -0
- package/src/prototyping/crypto/types/crypto-api.ts +78 -0
- package/src/prototyping/crypto/types/key-converter.ts +53 -0
- package/src/prototyping/crypto/types/key-deriver.ts +56 -0
- package/src/prototyping/crypto/types/key-io.ts +51 -0
- package/src/prototyping/crypto/types/key-manager.ts +83 -0
- package/src/prototyping/crypto/types/key-wrapper.ts +17 -0
- package/src/prototyping/crypto/types/params-direct.ts +95 -0
- package/src/prototyping/crypto/types/params-kms.ts +76 -0
- package/src/prototyping/crypto/utils.ts +41 -0
- package/src/prototyping/dids/resolver-cache-memory.ts +83 -0
- package/src/prototyping/dids/utils.ts +10 -0
- package/src/rpc-client.ts +162 -0
- package/src/store-data-protocols.ts +40 -0
- package/src/store-data.ts +400 -0
- package/src/store-did.ts +105 -0
- package/src/store-identity.ts +109 -0
- package/src/store-key.ts +104 -0
- package/src/sync-api.ts +71 -0
- package/src/sync-engine-level.ts +714 -0
- package/src/test-harness.ts +330 -0
- package/src/types/agent.ts +195 -0
- package/src/types/dwn.ts +278 -0
- package/src/types/identity-vault.ts +137 -0
- package/src/types/identity.ts +18 -0
- package/src/types/key-manager.ts +15 -0
- package/src/types/permissions.ts +115 -0
- package/src/types/sync.ts +58 -0
- package/src/types/vc.ts +7 -0
- package/src/utils-internal.ts +157 -0
- package/src/utils.ts +181 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Level } from 'level';
|
|
11
|
+
import { LevelStore, MemoryStore } from '@enbox/common';
|
|
12
|
+
import { DataStoreLevel, EventEmitterStream, EventLogLevel, MessageStoreLevel, ResumableTaskStoreLevel } from '@enbox/dwn-sdk-js';
|
|
13
|
+
import { DidDht, DidJwk } from '@enbox/dids';
|
|
14
|
+
import { AgentDidApi } from './did-api.js';
|
|
15
|
+
import { AgentDidResolverCache } from './agent-did-resolver-cache.js';
|
|
16
|
+
import { AgentDwnApi } from './dwn-api.js';
|
|
17
|
+
import { AgentSyncApi } from './sync-api.js';
|
|
18
|
+
import { Web5RpcClient } from './rpc-client.js';
|
|
19
|
+
import { AgentCryptoApi } from './crypto-api.js';
|
|
20
|
+
import { AgentIdentityApi } from './identity-api.js';
|
|
21
|
+
import { HdIdentityVault } from './hd-identity-vault.js';
|
|
22
|
+
import { LocalKeyManager } from './local-key-manager.js';
|
|
23
|
+
import { SyncEngineLevel } from './sync-engine-level.js';
|
|
24
|
+
import { DwnDidStore, InMemoryDidStore } from './store-did.js';
|
|
25
|
+
import { DwnKeyStore, InMemoryKeyStore } from './store-key.js';
|
|
26
|
+
import { DwnIdentityStore, InMemoryIdentityStore } from './store-identity.js';
|
|
27
|
+
import { DidResolverCacheMemory } from './prototyping/dids/resolver-cache-memory.js';
|
|
28
|
+
import { AgentPermissionsApi } from './permissions-api.js';
|
|
29
|
+
export class PlatformAgentTestHarness {
|
|
30
|
+
constructor(params) {
|
|
31
|
+
this.agent = params.agent;
|
|
32
|
+
this.agentStores = params.agentStores;
|
|
33
|
+
this.didResolverCache = params.didResolverCache;
|
|
34
|
+
this.dwn = params.dwn;
|
|
35
|
+
this.dwnDataStore = params.dwnDataStore;
|
|
36
|
+
this.dwnEventLog = params.dwnEventLog;
|
|
37
|
+
this.dwnMessageStore = params.dwnMessageStore;
|
|
38
|
+
this.syncStore = params.syncStore;
|
|
39
|
+
this.vaultStore = params.vaultStore;
|
|
40
|
+
this.dwnResumableTaskStore = params.dwnResumableTaskStore;
|
|
41
|
+
this.dwnStores = params.dwnStores;
|
|
42
|
+
}
|
|
43
|
+
clearStorage() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
// first stop any ongoing sync operations
|
|
46
|
+
yield this.agent.sync.stopSync();
|
|
47
|
+
// @ts-expect-error since normally this property shouldn't be set to undefined.
|
|
48
|
+
this.agent.agentDid = undefined;
|
|
49
|
+
yield this.didResolverCache.clear();
|
|
50
|
+
yield this.dwnDataStore.clear();
|
|
51
|
+
yield this.dwnEventLog.clear();
|
|
52
|
+
yield this.dwnMessageStore.clear();
|
|
53
|
+
yield this.dwnResumableTaskStore.clear();
|
|
54
|
+
yield this.syncStore.clear();
|
|
55
|
+
yield this.vaultStore.clear();
|
|
56
|
+
yield this.agent.permissions.clear();
|
|
57
|
+
this.dwnStores.clear();
|
|
58
|
+
// Reset the indexes and caches for the Agent's DWN data stores.
|
|
59
|
+
// if (this.agentStores === 'dwn') {
|
|
60
|
+
// const { didApi, identityApi } = PlatformAgentTestHarness.useDiskStores({ testDataLocation: '__TESTDATA__', agent: this.agent });
|
|
61
|
+
// this.agent.crypto = cryptoApi;
|
|
62
|
+
// this.agent.did = didApi;
|
|
63
|
+
// this.agent.identity = identityApi;
|
|
64
|
+
// }
|
|
65
|
+
// Easiest way to start with fresh in-memory stores is to re-instantiate Agent components.
|
|
66
|
+
if (this.agentStores === 'memory') {
|
|
67
|
+
const { didApi, identityApi, permissionsApi, keyManager } = PlatformAgentTestHarness.useMemoryStores({ agent: this.agent });
|
|
68
|
+
this.agent.did = didApi;
|
|
69
|
+
this.agent.identity = identityApi;
|
|
70
|
+
this.agent.keyManager = keyManager;
|
|
71
|
+
this.agent.permissions = permissionsApi;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
closeStorage() {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
yield this.didResolverCache.close();
|
|
78
|
+
yield this.dwnDataStore.close();
|
|
79
|
+
yield this.dwnEventLog.close();
|
|
80
|
+
yield this.dwnMessageStore.close();
|
|
81
|
+
yield this.dwnResumableTaskStore.close();
|
|
82
|
+
yield this.syncStore.close();
|
|
83
|
+
yield this.vaultStore.close();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
createAgentDid() {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
// Create a DID for the Agent.
|
|
89
|
+
this.agent.agentDid = yield DidJwk.create({
|
|
90
|
+
options: { algorithm: 'Ed25519' }
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
createIdentity({ name, testDwnUrls }) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const bearerIdentity = yield this.agent.identity.create({
|
|
97
|
+
didMethod: 'dht',
|
|
98
|
+
didOptions: {
|
|
99
|
+
services: [
|
|
100
|
+
{
|
|
101
|
+
id: 'dwn',
|
|
102
|
+
type: 'DecentralizedWebNode',
|
|
103
|
+
serviceEndpoint: testDwnUrls,
|
|
104
|
+
enc: '#enc',
|
|
105
|
+
sig: '#sig',
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
verificationMethods: [
|
|
109
|
+
{
|
|
110
|
+
algorithm: 'Ed25519',
|
|
111
|
+
id: 'sig',
|
|
112
|
+
purposes: ['assertionMethod', 'authentication']
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
algorithm: 'secp256k1',
|
|
116
|
+
id: 'enc',
|
|
117
|
+
purposes: ['keyAgreement']
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
metadata: { name }
|
|
122
|
+
});
|
|
123
|
+
return bearerIdentity;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
static setup({ agentClass, agentStores, testDataLocation }) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
agentStores !== null && agentStores !== void 0 ? agentStores : (agentStores = 'memory');
|
|
129
|
+
testDataLocation !== null && testDataLocation !== void 0 ? testDataLocation : (testDataLocation = '__TESTDATA__');
|
|
130
|
+
const testDataPath = (path) => `${testDataLocation}/${path}`;
|
|
131
|
+
// Instantiate Agent's Crypto API.
|
|
132
|
+
const cryptoApi = new AgentCryptoApi();
|
|
133
|
+
// Instantiate Agent's RPC Client.
|
|
134
|
+
const rpcClient = new Web5RpcClient();
|
|
135
|
+
const dwnStores = {
|
|
136
|
+
keyStore: new DwnKeyStore(),
|
|
137
|
+
identityStore: new DwnIdentityStore(),
|
|
138
|
+
didStore: new DwnDidStore(),
|
|
139
|
+
clear: () => {
|
|
140
|
+
var _a, _b, _c;
|
|
141
|
+
(_a = dwnStores.keyStore['_protocolInitializedCache']) === null || _a === void 0 ? void 0 : _a.clear();
|
|
142
|
+
(_b = dwnStores.identityStore['_protocolInitializedCache']) === null || _b === void 0 ? void 0 : _b.clear();
|
|
143
|
+
(_c = dwnStores.didStore['_protocolInitializedCache']) === null || _c === void 0 ? void 0 : _c.clear();
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const { agentVault, didApi, identityApi, keyManager, didResolverCache, vaultStore, permissionsApi } = (agentStores === 'memory')
|
|
147
|
+
? PlatformAgentTestHarness.useMemoryStores()
|
|
148
|
+
: PlatformAgentTestHarness.useDiskStores({ testDataLocation, stores: dwnStores });
|
|
149
|
+
// Instantiate custom stores to use with DWN instance.
|
|
150
|
+
// Note: There is no in-memory store for DWN, so we always use LevelDB-based disk stores.
|
|
151
|
+
const dwnDataStore = new DataStoreLevel({ blockstoreLocation: testDataPath('DWN_DATASTORE') });
|
|
152
|
+
const dwnEventLog = new EventLogLevel({ location: testDataPath('DWN_EVENTLOG') });
|
|
153
|
+
const dwnEventStream = new EventEmitterStream();
|
|
154
|
+
const dwnResumableTaskStore = new ResumableTaskStoreLevel({ location: testDataPath('DWN_RESUMABLETASKSTORE') });
|
|
155
|
+
const dwnMessageStore = new MessageStoreLevel({
|
|
156
|
+
blockstoreLocation: testDataPath('DWN_MESSAGESTORE'),
|
|
157
|
+
indexLocation: testDataPath('DWN_MESSAGEINDEX')
|
|
158
|
+
});
|
|
159
|
+
// Instantiate DWN instance using the custom stores.
|
|
160
|
+
const dwn = yield AgentDwnApi.createDwn({
|
|
161
|
+
dataPath: testDataLocation,
|
|
162
|
+
dataStore: dwnDataStore,
|
|
163
|
+
didResolver: didApi,
|
|
164
|
+
eventLog: dwnEventLog,
|
|
165
|
+
eventStream: dwnEventStream,
|
|
166
|
+
messageStore: dwnMessageStore,
|
|
167
|
+
resumableTaskStore: dwnResumableTaskStore
|
|
168
|
+
});
|
|
169
|
+
// Instantiate Agent's DWN API using the custom DWN instance.
|
|
170
|
+
const dwnApi = new AgentDwnApi({ dwn });
|
|
171
|
+
// Instantiate Agent's Sync API using a custom LevelDB-backed store.
|
|
172
|
+
const syncStore = new Level(testDataPath('SYNC_STORE'));
|
|
173
|
+
const syncEngine = new SyncEngineLevel({ db: syncStore });
|
|
174
|
+
const syncApi = new AgentSyncApi({ syncEngine });
|
|
175
|
+
// Create Web5PlatformAgent instance
|
|
176
|
+
const agent = new agentClass({
|
|
177
|
+
agentVault,
|
|
178
|
+
cryptoApi,
|
|
179
|
+
didApi,
|
|
180
|
+
dwnApi,
|
|
181
|
+
identityApi,
|
|
182
|
+
keyManager,
|
|
183
|
+
permissionsApi,
|
|
184
|
+
rpcClient,
|
|
185
|
+
syncApi,
|
|
186
|
+
});
|
|
187
|
+
return new PlatformAgentTestHarness({
|
|
188
|
+
agent,
|
|
189
|
+
agentStores,
|
|
190
|
+
didResolverCache,
|
|
191
|
+
dwn,
|
|
192
|
+
dwnDataStore,
|
|
193
|
+
dwnEventLog,
|
|
194
|
+
dwnMessageStore,
|
|
195
|
+
dwnResumableTaskStore,
|
|
196
|
+
dwnStores,
|
|
197
|
+
syncStore,
|
|
198
|
+
vaultStore
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
static useDiskStores({ agent, testDataLocation, stores }) {
|
|
203
|
+
const testDataPath = (path) => `${testDataLocation}/${path}`;
|
|
204
|
+
const vaultStore = new LevelStore({ location: testDataPath('VAULT_STORE') });
|
|
205
|
+
const agentVault = new HdIdentityVault({ keyDerivationWorkFactor: 1, store: vaultStore });
|
|
206
|
+
const { didStore, identityStore, keyStore } = stores;
|
|
207
|
+
// Setup DID Resolver Cache
|
|
208
|
+
const didResolverCache = new AgentDidResolverCache({
|
|
209
|
+
location: testDataPath('DID_RESOLVERCACHE')
|
|
210
|
+
});
|
|
211
|
+
const didApi = new AgentDidApi({
|
|
212
|
+
agent: agent,
|
|
213
|
+
didMethods: [DidDht, DidJwk],
|
|
214
|
+
resolverCache: didResolverCache,
|
|
215
|
+
store: didStore
|
|
216
|
+
});
|
|
217
|
+
const identityApi = new AgentIdentityApi({ agent, store: identityStore });
|
|
218
|
+
const keyManager = new LocalKeyManager({ agent, keyStore: keyStore });
|
|
219
|
+
const permissionsApi = new AgentPermissionsApi({ agent });
|
|
220
|
+
return { agentVault, didApi, didResolverCache, identityApi, keyManager, permissionsApi, vaultStore };
|
|
221
|
+
}
|
|
222
|
+
static useMemoryStores({ agent } = {}) {
|
|
223
|
+
const vaultStore = new MemoryStore();
|
|
224
|
+
const agentVault = new HdIdentityVault({ keyDerivationWorkFactor: 1, store: vaultStore });
|
|
225
|
+
// Setup DID Resolver Cache
|
|
226
|
+
const didResolverCache = new DidResolverCacheMemory();
|
|
227
|
+
const didApi = new AgentDidApi({
|
|
228
|
+
agent: agent,
|
|
229
|
+
didMethods: [DidDht, DidJwk],
|
|
230
|
+
resolverCache: didResolverCache,
|
|
231
|
+
store: new InMemoryDidStore()
|
|
232
|
+
});
|
|
233
|
+
const keyManager = new LocalKeyManager({ agent, keyStore: new InMemoryKeyStore() });
|
|
234
|
+
const identityApi = new AgentIdentityApi({ agent, store: new InMemoryIdentityStore() });
|
|
235
|
+
const permissionsApi = new AgentPermissionsApi({ agent });
|
|
236
|
+
return { agentVault, didApi, didResolverCache, identityApi, keyManager, permissionsApi, vaultStore };
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=test-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/test-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RecordsRead, RecordsQuery, RecordsWrite, DwnMethodName, RecordsDelete, ProtocolsQuery, DwnInterfaceName, ProtocolsConfigure, RecordsSubscribe, MessagesQuery, MessagesRead, MessagesSubscribe, } from '@enbox/dwn-sdk-js';
|
|
2
|
+
export var DwnInterface;
|
|
3
|
+
(function (DwnInterface) {
|
|
4
|
+
DwnInterface["MessagesQuery"] = "MessagesQuery";
|
|
5
|
+
DwnInterface["MessagesRead"] = "MessagesRead";
|
|
6
|
+
DwnInterface["MessagesSubscribe"] = "MessagesSubscribe";
|
|
7
|
+
DwnInterface["ProtocolsConfigure"] = "ProtocolsConfigure";
|
|
8
|
+
DwnInterface["ProtocolsQuery"] = "ProtocolsQuery";
|
|
9
|
+
DwnInterface["RecordsDelete"] = "RecordsDelete";
|
|
10
|
+
DwnInterface["RecordsQuery"] = "RecordsQuery";
|
|
11
|
+
DwnInterface["RecordsRead"] = "RecordsRead";
|
|
12
|
+
DwnInterface["RecordsSubscribe"] = "RecordsSubscribe";
|
|
13
|
+
DwnInterface["RecordsWrite"] = "RecordsWrite";
|
|
14
|
+
})(DwnInterface || (DwnInterface = {}));
|
|
15
|
+
export const dwnMessageConstructors = {
|
|
16
|
+
[DwnInterface.MessagesQuery]: MessagesQuery,
|
|
17
|
+
[DwnInterface.MessagesRead]: MessagesRead,
|
|
18
|
+
[DwnInterface.MessagesSubscribe]: MessagesSubscribe,
|
|
19
|
+
[DwnInterface.ProtocolsConfigure]: ProtocolsConfigure,
|
|
20
|
+
[DwnInterface.ProtocolsQuery]: ProtocolsQuery,
|
|
21
|
+
[DwnInterface.RecordsDelete]: RecordsDelete,
|
|
22
|
+
[DwnInterface.RecordsQuery]: RecordsQuery,
|
|
23
|
+
[DwnInterface.RecordsRead]: RecordsRead,
|
|
24
|
+
[DwnInterface.RecordsSubscribe]: RecordsSubscribe,
|
|
25
|
+
[DwnInterface.RecordsWrite]: RecordsWrite,
|
|
26
|
+
};
|
|
27
|
+
// The following types are exported by the DWN SDK and are re-exported here so that dependent
|
|
28
|
+
// packages do not need to import the DWN SDK directly. This ensures that downstream packages are
|
|
29
|
+
// always using the same version of the DWN SDK as the agent package.
|
|
30
|
+
export { DwnConstant, DateSort as DwnDateSort, EncryptionAlgorithm as DwnEncryptionAlgorithm, KeyDerivationScheme as DwnKeyDerivationScheme, PermissionGrant as DwnPermissionGrant, PermissionRequest as DwnPermissionRequest, PermissionsProtocol as DwnPermissionsProtocol, } from '@enbox/dwn-sdk-js';
|
|
31
|
+
//# sourceMappingURL=dwn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dwn.js","sourceRoot":"","sources":["../../../src/types/dwn.ts"],"names":[],"mappings":"AAmCA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAwC3B,MAAM,CAAN,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,+CAAqE,CAAA;IACrE,6CAAoE,CAAA;IACpE,uDAAyE,CAAA;IACzE,yDAA0E,CAAA;IAC1E,iDAAsE,CAAA;IACtE,+CAAqE,CAAA;IACrE,6CAAoE,CAAA;IACpE,2CAAmE,CAAA;IACnE,qDAAwE,CAAA;IACxE,6CAAoE,CAAA;AACtE,CAAC,EAXW,YAAY,KAAZ,YAAY,QAWvB;AAsHD,MAAM,CAAC,MAAM,sBAAsB,GAAsD;IACvF,CAAC,YAAY,CAAC,aAAa,CAAC,EAAQ,aAAoB;IACxD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAS,YAAmB;IACvD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAI,iBAAwB;IAC5D,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAG,kBAAyB;IAC7D,CAAC,YAAY,CAAC,cAAc,CAAC,EAAO,cAAqB;IACzD,CAAC,YAAY,CAAC,aAAa,CAAC,EAAQ,aAAoB;IACxD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAS,YAAmB;IACvD,CAAC,YAAY,CAAC,WAAW,CAAC,EAAU,WAAkB;IACtD,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAK,gBAAuB;IAC3D,CAAC,YAAY,CAAC,YAAY,CAAC,EAAS,YAAmB;CAC/C,CAAC;AAsBX,6FAA6F;AAC7F,iGAAiG;AACjG,qEAAqE;AAErE,OAAO,EACL,WAAW,EAEX,QAAQ,IAAI,WAAW,EAQvB,mBAAmB,IAAI,sBAAsB,EAC7C,mBAAmB,IAAI,sBAAsB,EAC7C,eAAe,IAAI,kBAAkB,EAErC,iBAAiB,IAAI,oBAAoB,EAEzC,mBAAmB,IAAI,sBAAsB,GAM9C,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-vault.js","sourceRoot":"","sources":["../../../src/types/identity-vault.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/types/identity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-manager.js","sourceRoot":"","sources":["../../../src/types/key-manager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/types/permissions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/types/sync.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc.js","sourceRoot":"","sources":["../../../src/types/vc.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
+
var t = {};
|
|
12
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
+
t[p] = s[p];
|
|
14
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
+
t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
21
|
+
import { Ed25519, LocalKeyManager, computeJwkThumbprint } from '@enbox/crypto';
|
|
22
|
+
/**
|
|
23
|
+
* Internal utility functions used by the Web5 platform agent that are not intended for public use
|
|
24
|
+
* and are not exported in the public API.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Separator used to join the tenant DID and the DID URI that is used to prefix all lookups in the
|
|
28
|
+
* Agent data stores, including the DWN-backed store's index and the in-memory store's map.
|
|
29
|
+
*/
|
|
30
|
+
export const TENANT_SEPARATOR = '^';
|
|
31
|
+
export class DeterministicKeyGenerator extends LocalKeyManager {
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
this._predefinedKeys = new Map();
|
|
35
|
+
this._keyGenerator = this._predefinedKeys.keys();
|
|
36
|
+
}
|
|
37
|
+
addPredefinedKeys({ privateKeys }) {
|
|
38
|
+
var _a;
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const predefinedKeys = {};
|
|
41
|
+
for (const key of privateKeys) {
|
|
42
|
+
// If the key ID is undefined, set it to the JWK thumbprint.
|
|
43
|
+
(_a = key.kid) !== null && _a !== void 0 ? _a : (key.kid = yield computeJwkThumbprint({ jwk: key }));
|
|
44
|
+
// Compute the key URI for the key.
|
|
45
|
+
const keyUri = yield this.getKeyUri({ key });
|
|
46
|
+
// Store the key.
|
|
47
|
+
predefinedKeys[keyUri] = key;
|
|
48
|
+
}
|
|
49
|
+
// Store the keys.
|
|
50
|
+
this._predefinedKeys = new Map(Object.entries(predefinedKeys));
|
|
51
|
+
// Reset the key generator to use the new keys.
|
|
52
|
+
this._keyGenerator = this._predefinedKeys.keys();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
exportKey({ keyUri }) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
// Get the private key from the key store.
|
|
58
|
+
const privateKey = this._predefinedKeys.get(keyUri);
|
|
59
|
+
// Throw an error if the key is not found.
|
|
60
|
+
if (!privateKey) {
|
|
61
|
+
throw new Error(`DeterministicKeyGenerator.exportKey: Key not found: ${keyUri}`);
|
|
62
|
+
}
|
|
63
|
+
return privateKey;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
generateKey(_params) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
// Get the next key from the array of predefined keys.
|
|
69
|
+
const { value: keyUri, done } = this._keyGenerator.next();
|
|
70
|
+
// Throw an error if the generator is empty and there are no more keys to return.
|
|
71
|
+
if (done) {
|
|
72
|
+
throw new Error('Ran out of predefined keys');
|
|
73
|
+
}
|
|
74
|
+
return keyUri;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
getPublicKey({ keyUri }) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
// Get the private key from the key store.
|
|
80
|
+
const privateKey = this._predefinedKeys.get(keyUri);
|
|
81
|
+
// Throw an error if the key is not found.
|
|
82
|
+
if (!privateKey) {
|
|
83
|
+
throw new Error(`DeterministicKeyGenerator.getPublicKey: Key not found: ${keyUri}`);
|
|
84
|
+
}
|
|
85
|
+
// Get the public key properties from the private JWK.
|
|
86
|
+
const { d } = privateKey, publicKey = __rest(privateKey, ["d"]);
|
|
87
|
+
return publicKey;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
sign({ keyUri, data }) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
// Get the private key from the key store.
|
|
93
|
+
const privateKey = this._predefinedKeys.get(keyUri);
|
|
94
|
+
// Throw an error if the key is not found.
|
|
95
|
+
if (!privateKey) {
|
|
96
|
+
throw new Error(`DeterministicKeyGenerator.sign: Key not found: ${keyUri}`);
|
|
97
|
+
}
|
|
98
|
+
// Sign the data.
|
|
99
|
+
const signature = yield Ed25519.sign({ data, key: privateKey });
|
|
100
|
+
return signature;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Determines the tenant identifier (DID) for data store operations based on the provided
|
|
106
|
+
* parameters.
|
|
107
|
+
*
|
|
108
|
+
* The function identifies the tenant using a priority order:
|
|
109
|
+
* 1. directly provided tenant DID,
|
|
110
|
+
* 2. the agent's DID,
|
|
111
|
+
* 3. or a specified DID URI.
|
|
112
|
+
*
|
|
113
|
+
* This approach ensures operations are isolated by DID, supporting multi-tenancy.
|
|
114
|
+
*
|
|
115
|
+
* @param params - The parameters for determining the tenant.
|
|
116
|
+
* @param params.agent - The Web5 platform agent instance.
|
|
117
|
+
* @param [params.tenant] - An optional tenant DID. If provided, it takes precedence.
|
|
118
|
+
* @param [params.didUri] - An optional DID URI to use if no tenant DID or agent DID is available.
|
|
119
|
+
* @returns A promise that resolves to the tenant DID.
|
|
120
|
+
* @throws Throws an error if it fails to determine the tenant from the provided inputs.
|
|
121
|
+
*/
|
|
122
|
+
export function getDataStoreTenant({ agent, tenant, didUri }) {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
// Check if a tenant identifier (DID) is explicitly provided and return it immediately if so.
|
|
125
|
+
// This is the highest priority to ensure explicit tenant isolation.
|
|
126
|
+
if (tenant)
|
|
127
|
+
return tenant;
|
|
128
|
+
// If the agent's DID is available, return it as the tenant identifier.
|
|
129
|
+
// This allows using the agent's own identity as a fallback tenant.
|
|
130
|
+
if (agent.agentDid)
|
|
131
|
+
return agent.agentDid.uri;
|
|
132
|
+
// Throw an error if neither tenant, agent.agentDid, nor didUri are provided,
|
|
133
|
+
// as it's not possible to determine the tenant identifier without any of these.
|
|
134
|
+
if (!didUri) {
|
|
135
|
+
throw new Error(`Failed to determine tenant DID: 'agent.agentDid', 'tenant', and 'didUri' are undefined`);
|
|
136
|
+
}
|
|
137
|
+
// Return the DID URI as the tenant identifier if both `tenant` and `agent.agentDid` are undefined
|
|
138
|
+
// but a `didUri` is provided. This assumes the agent has the necessary permissions and keys
|
|
139
|
+
// associated with the provided DID for data store operations.
|
|
140
|
+
//
|
|
141
|
+
// Note: This assumes the Agent's key manager has the private key for the given DID URI. No
|
|
142
|
+
// explicit check is made here for performance reasons, relying on downstream processes to
|
|
143
|
+
// validate access rights.
|
|
144
|
+
return didUri;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=utils-internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-internal.js","sourceRoot":"","sources":["../../src/utils-internal.ts"],"names":[],"mappings":"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"}
|