@enbox/agent 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.mjs +8 -8
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/connect.js +2 -1
- package/dist/esm/connect.js.map +1 -1
- package/dist/esm/hd-identity-vault.js +6 -3
- package/dist/esm/hd-identity-vault.js.map +1 -1
- package/dist/esm/oidc.js +2 -1
- package/dist/esm/oidc.js.map +1 -1
- package/dist/esm/prototyping/crypto/jose/jwe-flattened.js +1 -1
- package/dist/esm/prototyping/crypto/jose/jwe-flattened.js.map +1 -1
- package/dist/esm/prototyping/crypto/jose/jwe.js +11 -3
- package/dist/esm/prototyping/crypto/jose/jwe.js.map +1 -1
- package/dist/esm/sync-api.js +3 -0
- package/dist/esm/sync-api.js.map +1 -1
- package/dist/esm/sync-engine-level.js +447 -29
- package/dist/esm/sync-engine-level.js.map +1 -1
- package/dist/types/connect.d.ts.map +1 -1
- package/dist/types/hd-identity-vault.d.ts.map +1 -1
- package/dist/types/oidc.d.ts.map +1 -1
- package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts.map +1 -1
- package/dist/types/prototyping/crypto/jose/jwe.d.ts +12 -2
- package/dist/types/prototyping/crypto/jose/jwe.d.ts.map +1 -1
- package/dist/types/sync-api.d.ts +3 -4
- package/dist/types/sync-api.d.ts.map +1 -1
- package/dist/types/sync-engine-level.d.ts +63 -5
- package/dist/types/sync-engine-level.d.ts.map +1 -1
- package/dist/types/types/sync.d.ts +47 -5
- package/dist/types/types/sync.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/connect.ts +2 -1
- package/src/hd-identity-vault.ts +6 -3
- package/src/oidc.ts +2 -1
- package/src/prototyping/crypto/jose/jwe-flattened.ts +4 -1
- package/src/prototyping/crypto/jose/jwe.ts +24 -2
- package/src/sync-api.ts +7 -3
- package/src/sync-engine-level.ts +509 -32
- package/src/types/sync.ts +56 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AASrG;;;GAGG;AACH,iBAAe,UAAU,CAAC,EACxB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GACZ,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAChC,cAAc,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,mBAAmB,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AASrG;;;GAGG;AACH,iBAAe,UAAU,CAAC,EACxB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GACZ,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAChC,cAAc,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,mBAAmB,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAAC,CA2Gb;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iHAAiH;IACjH,WAAW,EAAE,MAAM,CAAC;IAEpB,gGAAgG;IAChG,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;IAE/C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,kBAAkB,EAAE,qBAAqB,CAAC;IAE1C,0EAA0E;IAC1E,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,+DAA+D;IAC/D,UAAU,EAAE,qBAAqB,CAAC;IAElC,uDAAuD;IACvD,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,iBAAS,kCAAkC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,yBAAyB,GAAG,wBAAwB,CAsE5H;AAED,eAAO,MAAM,aAAa;;;CAAqD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hd-identity-vault.d.ts","sourceRoot":"","sources":["../../src/hd-identity-vault.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAK/D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAA2B,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEvJ,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;;;QAII;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAyDH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,eAAgB,YAAW,aAAa,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;IACjF,8FAA8F;IACvF,MAAM,iBAAwB;IAErC,4EAA4E;IAC5E,OAAO,CAAC,wBAAwB,CAAS;IAEzC,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAgC;IAE9C,sFAAsF;IACtF,OAAO,CAAC,qBAAqB,CAAkB;IAE/C;;;;;;;;;OASG;gBACS,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAE,mBAAwB;IAKxE;;;;;;;;;;;;OAYG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA+BnD;;;;;;;;;;;;OAYG;IACU,cAAc,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;QACxD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"hd-identity-vault.d.ts","sourceRoot":"","sources":["../../src/hd-identity-vault.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAK/D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAA2B,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEvJ,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;;;QAII;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAyDH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,eAAgB,YAAW,aAAa,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;IACjF,8FAA8F;IACvF,MAAM,iBAAwB;IAErC,4EAA4E;IAC5E,OAAO,CAAC,wBAAwB,CAAS;IAEzC,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAgC;IAE9C,sFAAsF;IACtF,OAAO,CAAC,qBAAqB,CAAkB;IAE/C;;;;;;;;;OASG;gBACS,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAE,mBAAwB;IAKxE;;;;;;;;;;;;OAYG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA+BnD;;;;;;;;;;;;OAYG;IACU,cAAc,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;QACxD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDjB;;;;;;;;OAQG;IACU,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IA4BzC;;;;;;OAMG;IACU,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqBtD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,EAChE,+BAA+B,GAC9B,OAAO,CAAC,MAAM,CAAC;IAsNlB;;;;;;;;;;;;;;OAcG;IACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9C;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,IAAI,OAAO;IAI1B;;;;;;;;;;;;;;;OAeG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,EAAE,mBAAmB,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDjB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BtE;;;;;;;;;;OAUG;YACW,YAAY;IAe1B;;;;;;;;;;OAUG;YACW,6BAA6B;IAe3C;;;;;;;;;;;;OAYG;YACW,SAAS;CAcxB"}
|
package/dist/types/oidc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwe-flattened.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/jose/jwe-flattened.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQtF;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB,CAAC,WAAW,EAAE,OAAO;IAC7D,yBAAyB;IACzB,GAAG,EAAE,kBAAkB,GAAG,YAAY,CAAC;IAEvC;;;OAGG;IACH,GAAG,EAAE,aAAa,GAAG,GAAG,GAAG,UAAU,CAAC;IAEtC,yEAAyE;IACzE,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,2BAA2B,CAAC,EAAE,UAAU,CAAC;IAEzC,iBAAiB;IACjB,SAAS,EAAE,UAAU,CAAC;IAEtB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3C,qCAAqC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnD,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAE,SAAQ,yBAAyB;IAChG;;;OAGG;IACH,GAAG,EAAE,aAAa,GAAG,GAAG,GAAG,UAAU,CAAC;IAEtC,yEAAyE;IACzE,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAElC,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,YAAY;IACvB,uDAAuD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IAC7B,UAAU,EAAE,MAAM,CAAM;IAE/B,uCAAuC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAE9B,mDAAmD;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzC,+CAA+C;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B,4CAA4C;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAElC,MAAM,EAAE,kBAAkB;WAIlB,OAAO,CACzB,WAAW,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU,EACvD,OAAO,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACjD,EACA,GAAG,EACH,GAAG,EACH,UAAkC,EAClC,MAA6B,EAC7B,OAAY,EACb,EAAE,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"jwe-flattened.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/jose/jwe-flattened.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,14 @@ export interface JweDecryptOptions {
|
|
|
28
28
|
*
|
|
29
29
|
*/
|
|
30
30
|
allowedEncValues?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Minimum acceptable PBES2 iteration count ("p2c") for key derivation during decryption.
|
|
33
|
+
* Per RFC 7518 Section 4.8.1.2, a minimum of 1000 is RECOMMENDED. Set to a lower value
|
|
34
|
+
* only for test environments where speed is prioritized over security.
|
|
35
|
+
*
|
|
36
|
+
* @default 1000
|
|
37
|
+
*/
|
|
38
|
+
minP2cCount?: number;
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
33
41
|
* Placeholder for specifying options during the JWE encryption process. Currently, this interface
|
|
@@ -208,7 +216,7 @@ export interface JweKeyManagementDecryptParams<TKeyManager, TCrypto> {
|
|
|
208
216
|
* the algorithm and encryption method among other settings.
|
|
209
217
|
*/
|
|
210
218
|
joseHeader: JweHeaderParams;
|
|
211
|
-
/** Key Manager
|
|
219
|
+
/** Key Manager instance responsible for managing cryptographic keys. */
|
|
212
220
|
keyManager: TKeyManager;
|
|
213
221
|
/** Crypto API instance that provides the necessary cryptographic operations. */
|
|
214
222
|
crypto: TCrypto;
|
|
@@ -338,7 +346,9 @@ export declare class JweKeyManagement {
|
|
|
338
346
|
* @throws Throws an error if the key management algorithm is not supported or if required
|
|
339
347
|
* parameters are missing or invalid.
|
|
340
348
|
*/
|
|
341
|
-
static decrypt<TKeyManager extends KeyManager, TCrypto extends CryptoApi>({ key, encryptedKey, joseHeader, crypto }: JweKeyManagementDecryptParams<TKeyManager, TCrypto
|
|
349
|
+
static decrypt<TKeyManager extends KeyManager, TCrypto extends CryptoApi>({ key, encryptedKey, joseHeader, crypto }: JweKeyManagementDecryptParams<TKeyManager, TCrypto>, options?: {
|
|
350
|
+
minP2cCount?: number;
|
|
351
|
+
}): Promise<KeyIdentifier | Jwk>;
|
|
342
352
|
/**
|
|
343
353
|
* Encrypts a Content Encryption Key (CEK) using the key management algorithm specified in the
|
|
344
354
|
* JWE Header's "alg" parameter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwe.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/jose/jwe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKjG;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"jwe.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/jose/jwe.ts"],"names":[],"mappings":"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"}
|
package/dist/types/sync-api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Web5PlatformAgent } from './types/agent.js';
|
|
2
|
-
import type { SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
2
|
+
import type { StartSyncParams, SyncConnectivityState, SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
3
3
|
export type SyncApiParams = {
|
|
4
4
|
agent?: Web5PlatformAgent;
|
|
5
5
|
syncEngine: SyncEngine;
|
|
@@ -22,6 +22,7 @@ export declare class AgentSyncApi implements SyncEngine {
|
|
|
22
22
|
*/
|
|
23
23
|
get agent(): Web5PlatformAgent;
|
|
24
24
|
set agent(agent: Web5PlatformAgent);
|
|
25
|
+
get connectivityState(): SyncConnectivityState;
|
|
25
26
|
registerIdentity(params: {
|
|
26
27
|
did: string;
|
|
27
28
|
options?: SyncIdentityOptions;
|
|
@@ -33,9 +34,7 @@ export declare class AgentSyncApi implements SyncEngine {
|
|
|
33
34
|
options: SyncIdentityOptions;
|
|
34
35
|
}): Promise<void>;
|
|
35
36
|
sync(direction?: 'push' | 'pull'): Promise<void>;
|
|
36
|
-
startSync(params:
|
|
37
|
-
interval: string;
|
|
38
|
-
}): Promise<void>;
|
|
37
|
+
startSync(params: StartSyncParams): Promise<void>;
|
|
39
38
|
stopSync(timeout?: number): Promise<void>;
|
|
40
39
|
}
|
|
41
40
|
//# sourceMappingURL=sync-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-api.d.ts","sourceRoot":"","sources":["../../src/sync-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-api.d.ts","sourceRoot":"","sources":["../../src/sync-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE/G,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,qBAAa,YAAa,YAAW,UAAU;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,CAAoB;IAEnC,OAAO,CAAC,WAAW,CAAa;gBAEpB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,aAAa;IAKhD;;;;;OAKG;IACH,IAAI,KAAK,IAAI,iBAAiB,CAM7B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAGjC;IAED,IAAI,iBAAiB,IAAI,qBAAqB,CAE7C;IAEY,gBAAgB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvF,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAIzE,qBAAqB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AbstractLevel } from 'abstract-level';
|
|
2
2
|
import type { GenericMessage } from '@enbox/dwn-sdk-js';
|
|
3
|
-
import type { SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
3
|
+
import type { StartSyncParams, SyncConnectivityState, SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
4
4
|
import type { Web5PlatformAgent } from './types/agent.js';
|
|
5
5
|
export type SyncEngineLevelParams = {
|
|
6
6
|
agent?: Web5PlatformAgent;
|
|
@@ -28,6 +28,24 @@ export declare class SyncEngineLevel implements SyncEngine {
|
|
|
28
28
|
* and short-circuit the recursive walk instead of descending all the way to MAX_DIFF_DEPTH.
|
|
29
29
|
*/
|
|
30
30
|
private _defaultHashHex?;
|
|
31
|
+
/** Current sync mode, set by `startSync`. */
|
|
32
|
+
private _syncMode;
|
|
33
|
+
/** Active live pull subscriptions (remote -> local via MessagesSubscribe). */
|
|
34
|
+
private _liveSubscriptions;
|
|
35
|
+
/** Active local EventLog subscriptions for push-on-write (local -> remote). */
|
|
36
|
+
private _localSubscriptions;
|
|
37
|
+
/** Connectivity state derived from subscription health. */
|
|
38
|
+
private _connectivityState;
|
|
39
|
+
/** Debounce timer for batched push-on-write. */
|
|
40
|
+
private _pushDebounceTimer?;
|
|
41
|
+
/** Pending message CIDs to push, accumulated during the debounce window. */
|
|
42
|
+
private _pendingPushCids;
|
|
43
|
+
/** Count of consecutive SMT sync failures (for backoff in poll mode). */
|
|
44
|
+
private _consecutiveFailures;
|
|
45
|
+
/** Maximum consecutive failures before entering backoff. */
|
|
46
|
+
private static readonly MAX_CONSECUTIVE_FAILURES;
|
|
47
|
+
/** Backoff multiplier for consecutive failures (caps at 4x the configured interval). */
|
|
48
|
+
private static readonly MAX_BACKOFF_MULTIPLIER;
|
|
31
49
|
constructor({ agent, dataPath, db }: SyncEngineLevelParams);
|
|
32
50
|
/**
|
|
33
51
|
* Retrieves the `Web5PlatformAgent` execution context.
|
|
@@ -37,6 +55,7 @@ export declare class SyncEngineLevel implements SyncEngine {
|
|
|
37
55
|
*/
|
|
38
56
|
get agent(): Web5PlatformAgent;
|
|
39
57
|
set agent(agent: Web5PlatformAgent);
|
|
58
|
+
get connectivityState(): SyncConnectivityState;
|
|
40
59
|
clear(): Promise<void>;
|
|
41
60
|
close(): Promise<void>;
|
|
42
61
|
registerIdentity({ did, options }: {
|
|
@@ -50,13 +69,52 @@ export declare class SyncEngineLevel implements SyncEngine {
|
|
|
50
69
|
options: SyncIdentityOptions;
|
|
51
70
|
}): Promise<void>;
|
|
52
71
|
sync(direction?: 'push' | 'pull'): Promise<void>;
|
|
53
|
-
startSync(
|
|
54
|
-
interval: string;
|
|
55
|
-
}): Promise<void>;
|
|
72
|
+
startSync(params: StartSyncParams): Promise<void>;
|
|
56
73
|
/**
|
|
57
|
-
* stopSync awaits the completion of the current sync operation before stopping the sync interval
|
|
74
|
+
* stopSync awaits the completion of the current sync operation before stopping the sync interval
|
|
75
|
+
* and tearing down any live subscriptions.
|
|
58
76
|
*/
|
|
59
77
|
stopSync(timeout?: number): Promise<void>;
|
|
78
|
+
private startPollSync;
|
|
79
|
+
/**
|
|
80
|
+
* Starts live sync:
|
|
81
|
+
* 1. Performs an initial SMT reconciliation to catch up.
|
|
82
|
+
* 2. Opens MessagesSubscribe subscriptions to each remote DWN for real-time pull.
|
|
83
|
+
* 3. Subscribes to the local EventLog for push-on-write.
|
|
84
|
+
* 4. Schedules an infrequent SMT integrity check at `interval`.
|
|
85
|
+
*/
|
|
86
|
+
private startLiveSync;
|
|
87
|
+
/**
|
|
88
|
+
* Tears down all live subscriptions and push listeners.
|
|
89
|
+
*/
|
|
90
|
+
private teardownLiveSync;
|
|
91
|
+
/**
|
|
92
|
+
* Opens a MessagesSubscribe WebSocket subscription to a remote DWN.
|
|
93
|
+
* Incoming events are processed locally as they arrive.
|
|
94
|
+
*/
|
|
95
|
+
private openLivePullSubscription;
|
|
96
|
+
/**
|
|
97
|
+
* Subscribes to the local DWN's EventLog so that writes by the user are
|
|
98
|
+
* immediately pushed to the remote DWN instead of waiting for the next poll.
|
|
99
|
+
*/
|
|
100
|
+
private openLocalPushSubscription;
|
|
101
|
+
/**
|
|
102
|
+
* Flushes accumulated push CIDs to remote DWNs.
|
|
103
|
+
*/
|
|
104
|
+
private flushPendingPushes;
|
|
105
|
+
private buildCursorKey;
|
|
106
|
+
private getCursor;
|
|
107
|
+
private setCursor;
|
|
108
|
+
/**
|
|
109
|
+
* Extracts a ReadableStream from a MessageEvent if it contains a RecordsWrite with data.
|
|
110
|
+
*/
|
|
111
|
+
private extractDataStream;
|
|
112
|
+
/**
|
|
113
|
+
* Synchronously attempts to get a message CID. Returns undefined on failure.
|
|
114
|
+
* This is used in the synchronous EventLog callback; the actual CID computation
|
|
115
|
+
* is fast for already-constructed messages.
|
|
116
|
+
*/
|
|
117
|
+
private tryGetCidSync;
|
|
60
118
|
/**
|
|
61
119
|
* Returns the hex-encoded default (empty-subtree) hash for a given depth.
|
|
62
120
|
* Lazily initializes the cache on first call.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine-level.d.ts","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"sync-engine-level.d.ts","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,53 @@ export type SyncIdentityOptions = {
|
|
|
12
12
|
*/
|
|
13
13
|
protocols: string[];
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Connectivity state of the sync engine.
|
|
17
|
+
*/
|
|
18
|
+
export type SyncConnectivityState = 'online' | 'offline' | 'unknown';
|
|
19
|
+
/**
|
|
20
|
+
* Describes the sync mode: `'poll'` for periodic SMT reconciliation,
|
|
21
|
+
* `'live'` for `MessagesSubscribe`-based real-time sync with SMT fallback.
|
|
22
|
+
*/
|
|
23
|
+
export type SyncMode = 'poll' | 'live';
|
|
24
|
+
/**
|
|
25
|
+
* Parameters for {@link SyncEngine.startSync}.
|
|
26
|
+
*/
|
|
27
|
+
export type StartSyncParams = {
|
|
28
|
+
/**
|
|
29
|
+
* The sync mode to use. Default: `'poll'`.
|
|
30
|
+
*
|
|
31
|
+
* - `'live'`: Opens `MessagesSubscribe` WebSocket subscriptions to remote
|
|
32
|
+
* DWNs for real-time pull, and listens to the local EventLog for immediate
|
|
33
|
+
* push. Falls back to SMT reconciliation on cold start or long disconnect.
|
|
34
|
+
* An infrequent SMT integrity check still runs at `interval`.
|
|
35
|
+
*
|
|
36
|
+
* - `'poll'`: Legacy mode. Performs a full SMT set-reconciliation sync on a
|
|
37
|
+
* fixed interval. No WebSocket subscriptions are used.
|
|
38
|
+
*/
|
|
39
|
+
mode?: SyncMode;
|
|
40
|
+
/**
|
|
41
|
+
* The interval at which the sync operation should be performed.
|
|
42
|
+
* Accepts any value recognised by `ms()`, e.g. `'30s'`, `'2m'`, `'10m'`.
|
|
43
|
+
*
|
|
44
|
+
* In `'live'` mode this controls the frequency of the SMT integrity check.
|
|
45
|
+
* In `'poll'` mode this controls the polling frequency.
|
|
46
|
+
*
|
|
47
|
+
* Default: `'2m'` (in poll mode), `'5m'` (in live mode).
|
|
48
|
+
*/
|
|
49
|
+
interval?: string;
|
|
50
|
+
};
|
|
15
51
|
export interface SyncEngine {
|
|
16
52
|
/**
|
|
17
53
|
* The agent that the SyncEngine is attached to.
|
|
18
54
|
*/
|
|
19
55
|
agent: Web5PlatformAgent;
|
|
56
|
+
/**
|
|
57
|
+
* Current connectivity state as observed by the sync engine.
|
|
58
|
+
* Updated when WebSocket subscriptions connect/disconnect or when the
|
|
59
|
+
* browser `online`/`offline` events fire.
|
|
60
|
+
*/
|
|
61
|
+
readonly connectivityState: SyncConnectivityState;
|
|
20
62
|
/**
|
|
21
63
|
* Register an identity to be managed by the SyncEngine for syncing.
|
|
22
64
|
* The options can define specific protocols that should only be synced, or a delegate DID that should be used to sign the sync messages.
|
|
@@ -48,13 +90,13 @@ export interface SyncEngine {
|
|
|
48
90
|
*/
|
|
49
91
|
sync(direction?: 'push' | 'pull'): Promise<void>;
|
|
50
92
|
/**
|
|
51
|
-
* Starts
|
|
93
|
+
* Starts sync. In `'live'` mode opens real-time subscriptions with SMT
|
|
94
|
+
* fallback; in `'poll'` mode uses periodic SMT reconciliation.
|
|
52
95
|
*
|
|
53
|
-
*
|
|
96
|
+
* Subsequent calls update the mode/interval. Calling with a different mode
|
|
97
|
+
* tears down the previous mode's resources before starting the new one.
|
|
54
98
|
*/
|
|
55
|
-
startSync(params:
|
|
56
|
-
interval: string;
|
|
57
|
-
}): Promise<void>;
|
|
99
|
+
startSync(params: StartSyncParams): Promise<void>;
|
|
58
100
|
/**
|
|
59
101
|
* Stops the periodic sync operation, will complete the current sync operation if one is already in progress.
|
|
60
102
|
*
|
|
@@ -1 +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,
|
|
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,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAElD;;;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;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enbox/agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/esm/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@scure/bip39": "1.2.2",
|
|
74
|
-
"@enbox/dwn-clients": "0.0.
|
|
75
|
-
"@enbox/dwn-sdk-js": "0.0
|
|
76
|
-
"@enbox/common": "0.0.
|
|
77
|
-
"@enbox/crypto": "0.0.
|
|
78
|
-
"@enbox/dids": "0.0.
|
|
74
|
+
"@enbox/dwn-clients": "0.0.7",
|
|
75
|
+
"@enbox/dwn-sdk-js": "0.1.0",
|
|
76
|
+
"@enbox/common": "0.0.5",
|
|
77
|
+
"@enbox/crypto": "0.0.6",
|
|
78
|
+
"@enbox/dids": "0.0.7",
|
|
79
79
|
"abstract-level": "1.0.4",
|
|
80
80
|
"ed25519-keygen": "0.4.11",
|
|
81
81
|
"level": "8.0.0",
|
package/src/connect.ts
CHANGED
|
@@ -84,6 +84,7 @@ async function initClient({
|
|
|
84
84
|
headers : {
|
|
85
85
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
86
86
|
},
|
|
87
|
+
signal: AbortSignal.timeout(30_000),
|
|
87
88
|
});
|
|
88
89
|
|
|
89
90
|
if (!parResponse.ok) {
|
|
@@ -112,7 +113,7 @@ async function initClient({
|
|
|
112
113
|
});
|
|
113
114
|
|
|
114
115
|
// subscribe to receiving a response from the wallet with default TTL. receive ciphertext of {@link Web5ConnectAuthResponse}
|
|
115
|
-
const authResponse = await pollWithTtl(() => fetch(tokenUrl));
|
|
116
|
+
const authResponse = await pollWithTtl(() => fetch(tokenUrl, { signal: AbortSignal.timeout(30_000) }));
|
|
116
117
|
|
|
117
118
|
if (authResponse) {
|
|
118
119
|
const jwe = await authResponse?.text();
|
package/src/hd-identity-vault.ts
CHANGED
|
@@ -250,7 +250,8 @@ export class HdIdentityVault implements IdentityVault<{ InitializeResult: string
|
|
|
250
250
|
jwe : cekJwe,
|
|
251
251
|
key : Convert.string(oldPassword).toUint8Array(),
|
|
252
252
|
crypto : this.crypto,
|
|
253
|
-
keyManager : new LocalKeyManager()
|
|
253
|
+
keyManager : new LocalKeyManager(),
|
|
254
|
+
options : { minP2cCount: 1 }, // Vault decrypts its own JWEs; no external-input floor needed.
|
|
254
255
|
}));
|
|
255
256
|
contentEncryptionKey = Convert.uint8Array(contentEncryptionKeyBytes).toObject() as Jwk;
|
|
256
257
|
|
|
@@ -297,7 +298,8 @@ export class HdIdentityVault implements IdentityVault<{ InitializeResult: string
|
|
|
297
298
|
jwe : didJwe,
|
|
298
299
|
key : this._contentEncryptionKey!,
|
|
299
300
|
crypto : this.crypto,
|
|
300
|
-
keyManager : new LocalKeyManager()
|
|
301
|
+
keyManager : new LocalKeyManager(),
|
|
302
|
+
options : { minP2cCount: 1 }, // Vault decrypts its own JWEs; no external-input floor needed.
|
|
301
303
|
});
|
|
302
304
|
|
|
303
305
|
// Convert the DID from a byte array to PortableDid format.
|
|
@@ -759,7 +761,8 @@ export class HdIdentityVault implements IdentityVault<{ InitializeResult: string
|
|
|
759
761
|
jwe : cekJwe,
|
|
760
762
|
key : Convert.string(password).toUint8Array(),
|
|
761
763
|
crypto : this.crypto,
|
|
762
|
-
keyManager : new LocalKeyManager()
|
|
764
|
+
keyManager : new LocalKeyManager(),
|
|
765
|
+
options : { minP2cCount: 1 }, // Vault decrypts its own JWEs; no external-input floor needed.
|
|
763
766
|
});
|
|
764
767
|
const contentEncryptionKey = Convert.uint8Array(contentEncryptionKeyBytes).toObject() as Jwk;
|
|
765
768
|
|
package/src/oidc.ts
CHANGED
|
@@ -410,7 +410,7 @@ async function verifyJwt({ jwt }: { jwt: string }): Promise<Record<string, unkno
|
|
|
410
410
|
* using the encryption key passed via QR code.
|
|
411
411
|
*/
|
|
412
412
|
const getAuthRequest = async (request_uri: string, encryption_key: string): Promise<Web5ConnectAuthRequest> => {
|
|
413
|
-
const authRequest = await fetch(request_uri);
|
|
413
|
+
const authRequest = await fetch(request_uri, { signal: AbortSignal.timeout(30_000) });
|
|
414
414
|
const jwe = await authRequest.text();
|
|
415
415
|
const jwt = await decryptAuthRequest({
|
|
416
416
|
jwe,
|
|
@@ -832,6 +832,7 @@ async function submitAuthResponse(
|
|
|
832
832
|
headers : {
|
|
833
833
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
834
834
|
},
|
|
835
|
+
signal: AbortSignal.timeout(30_000),
|
|
835
836
|
});
|
|
836
837
|
}
|
|
837
838
|
|
|
@@ -270,7 +270,10 @@ export class FlattenedJwe {
|
|
|
270
270
|
? Convert.base64Url(jwe.encrypted_key).toUint8Array()
|
|
271
271
|
: undefined;
|
|
272
272
|
|
|
273
|
-
cek = await JweKeyManagement.decrypt(
|
|
273
|
+
cek = await JweKeyManagement.decrypt(
|
|
274
|
+
{ key, encryptedKey, joseHeader, keyManager, crypto },
|
|
275
|
+
{ minP2cCount: options.minP2cCount }
|
|
276
|
+
);
|
|
274
277
|
|
|
275
278
|
} catch (error: any) {
|
|
276
279
|
// If the error is a CryptoError with code "InvalidJwe" or "AlgorithmNotSupported", re-throw.
|
|
@@ -33,6 +33,15 @@ export interface JweDecryptOptions {
|
|
|
33
33
|
*
|
|
34
34
|
*/
|
|
35
35
|
allowedEncValues?: string[];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Minimum acceptable PBES2 iteration count ("p2c") for key derivation during decryption.
|
|
39
|
+
* Per RFC 7518 Section 4.8.1.2, a minimum of 1000 is RECOMMENDED. Set to a lower value
|
|
40
|
+
* only for test environments where speed is prioritized over security.
|
|
41
|
+
*
|
|
42
|
+
* @default 1000
|
|
43
|
+
*/
|
|
44
|
+
minP2cCount?: number;
|
|
36
45
|
}
|
|
37
46
|
|
|
38
47
|
/**
|
|
@@ -281,11 +290,12 @@ export interface JweKeyManagementDecryptParams<TKeyManager, TCrypto> {
|
|
|
281
290
|
*/
|
|
282
291
|
joseHeader: JweHeaderParams;
|
|
283
292
|
|
|
284
|
-
/** Key Manager
|
|
293
|
+
/** Key Manager instance responsible for managing cryptographic keys. */
|
|
285
294
|
keyManager: TKeyManager;
|
|
286
295
|
|
|
287
296
|
/** Crypto API instance that provides the necessary cryptographic operations. */
|
|
288
297
|
crypto: TCrypto;
|
|
298
|
+
|
|
289
299
|
}
|
|
290
300
|
|
|
291
301
|
/**
|
|
@@ -424,8 +434,10 @@ export class JweKeyManagement {
|
|
|
424
434
|
*/
|
|
425
435
|
public static async decrypt<TKeyManager extends KeyManager, TCrypto extends CryptoApi>({
|
|
426
436
|
key, encryptedKey, joseHeader, crypto
|
|
427
|
-
}: JweKeyManagementDecryptParams<TKeyManager, TCrypto
|
|
437
|
+
}: JweKeyManagementDecryptParams<TKeyManager, TCrypto>,
|
|
438
|
+
options?: { minP2cCount?: number }
|
|
428
439
|
): Promise<KeyIdentifier | Jwk> {
|
|
440
|
+
const minP2cCount = options?.minP2cCount ?? 1000;
|
|
429
441
|
// Determine the Key Management Mode employed by the algorithm specified by the "alg"
|
|
430
442
|
// (algorithm) Header Parameter.
|
|
431
443
|
switch (joseHeader.alg) {
|
|
@@ -460,6 +472,16 @@ export class JweKeyManagement {
|
|
|
460
472
|
throw new CryptoError(CryptoErrorCode.InvalidJwe, 'JOSE Header "p2c" (PBES2 Count) is missing or not a number.');
|
|
461
473
|
}
|
|
462
474
|
|
|
475
|
+
// Per RFC 7518, Section 4.8.1.2, a minimum iteration count of 1000 is RECOMMENDED.
|
|
476
|
+
// Enforce this floor to prevent an attacker from supplying a crafted JWE with a
|
|
477
|
+
// trivially low iteration count that would weaken key derivation.
|
|
478
|
+
if (joseHeader.p2c < minP2cCount) {
|
|
479
|
+
throw new CryptoError(
|
|
480
|
+
CryptoErrorCode.InvalidJwe,
|
|
481
|
+
`JOSE Header "p2c" (PBES2 Count) is ${joseHeader.p2c}, which is below the minimum of ${minP2cCount}.`
|
|
482
|
+
);
|
|
483
|
+
}
|
|
484
|
+
|
|
463
485
|
if (typeof joseHeader.p2s !== 'string') {
|
|
464
486
|
throw new CryptoError(CryptoErrorCode.InvalidJwe, 'JOSE Header "p2s" (PBES2 salt) is missing or not a string.');
|
|
465
487
|
}
|
package/src/sync-api.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Web5PlatformAgent } from './types/agent.js';
|
|
2
|
-
import type { SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
2
|
+
import type { StartSyncParams, SyncConnectivityState, SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
3
3
|
|
|
4
4
|
export type SyncApiParams = {
|
|
5
5
|
agent?: Web5PlatformAgent;
|
|
@@ -41,6 +41,10 @@ export class AgentSyncApi implements SyncEngine {
|
|
|
41
41
|
this._syncEngine.agent = agent;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
get connectivityState(): SyncConnectivityState {
|
|
45
|
+
return this._syncEngine.connectivityState;
|
|
46
|
+
}
|
|
47
|
+
|
|
44
48
|
public async registerIdentity(params: { did: string; options?: SyncIdentityOptions }): Promise<void> {
|
|
45
49
|
await this._syncEngine.registerIdentity(params);
|
|
46
50
|
}
|
|
@@ -61,11 +65,11 @@ export class AgentSyncApi implements SyncEngine {
|
|
|
61
65
|
return this._syncEngine.sync(direction);
|
|
62
66
|
}
|
|
63
67
|
|
|
64
|
-
public startSync(params:
|
|
68
|
+
public startSync(params: StartSyncParams): Promise<void> {
|
|
65
69
|
return this._syncEngine.startSync(params);
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
public stopSync(timeout?: number): Promise<void> {
|
|
69
73
|
return this._syncEngine.stopSync(timeout);
|
|
70
74
|
}
|
|
71
|
-
}
|
|
75
|
+
}
|