@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.
Files changed (37) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/connect.js +2 -1
  4. package/dist/esm/connect.js.map +1 -1
  5. package/dist/esm/hd-identity-vault.js +6 -3
  6. package/dist/esm/hd-identity-vault.js.map +1 -1
  7. package/dist/esm/oidc.js +2 -1
  8. package/dist/esm/oidc.js.map +1 -1
  9. package/dist/esm/prototyping/crypto/jose/jwe-flattened.js +1 -1
  10. package/dist/esm/prototyping/crypto/jose/jwe-flattened.js.map +1 -1
  11. package/dist/esm/prototyping/crypto/jose/jwe.js +11 -3
  12. package/dist/esm/prototyping/crypto/jose/jwe.js.map +1 -1
  13. package/dist/esm/sync-api.js +3 -0
  14. package/dist/esm/sync-api.js.map +1 -1
  15. package/dist/esm/sync-engine-level.js +447 -29
  16. package/dist/esm/sync-engine-level.js.map +1 -1
  17. package/dist/types/connect.d.ts.map +1 -1
  18. package/dist/types/hd-identity-vault.d.ts.map +1 -1
  19. package/dist/types/oidc.d.ts.map +1 -1
  20. package/dist/types/prototyping/crypto/jose/jwe-flattened.d.ts.map +1 -1
  21. package/dist/types/prototyping/crypto/jose/jwe.d.ts +12 -2
  22. package/dist/types/prototyping/crypto/jose/jwe.d.ts.map +1 -1
  23. package/dist/types/sync-api.d.ts +3 -4
  24. package/dist/types/sync-api.d.ts.map +1 -1
  25. package/dist/types/sync-engine-level.d.ts +63 -5
  26. package/dist/types/sync-engine-level.d.ts.map +1 -1
  27. package/dist/types/types/sync.d.ts +47 -5
  28. package/dist/types/types/sync.d.ts.map +1 -1
  29. package/package.json +6 -6
  30. package/src/connect.ts +2 -1
  31. package/src/hd-identity-vault.ts +6 -3
  32. package/src/oidc.ts +2 -1
  33. package/src/prototyping/crypto/jose/jwe-flattened.ts +4 -1
  34. package/src/prototyping/crypto/jose/jwe.ts +24 -2
  35. package/src/sync-api.ts +7 -3
  36. package/src/sync-engine-level.ts +509 -32
  37. 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,CA0Gb;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
+ {"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;IAiDjB;;;;;;;;OAQG;IACU,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IA2BzC;;;;;;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;IAyBtE;;;;;;;;;;OAUG;YACW,YAAY;IAe1B;;;;;;;;;;OAUG;YACW,6BAA6B;IAe3C;;;;;;;;;;;;OAYG;YACW,SAAS;CAcxB"}
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"}
@@ -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":"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"}
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 instanceß responsible for managing cryptographic keys. */
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>): Promise<KeyIdentifier | Jwk>;
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":"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"}
1
+ {"version":3,"file":"jwe.d.ts","sourceRoot":"","sources":["../../../../../src/prototyping/crypto/jose/jwe.ts"],"names":[],"mappings":"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"}
@@ -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;AAEvE,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;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;QAAE,QAAQ,EAAE,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
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({ interval }: {
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,EAAqB,MAAM,mBAAmB,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQrE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC;CAClD,CAAC;AASF,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,CAAoB;IAEnC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAiB;IAExC,OAAO,CAAC,GAAG,CAA8C;IACzD,OAAO,CAAC,eAAe,CAAC,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAC,CAAsB;gBAElC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,qBAAqB;IAM1D;;;;;OAKG;IACH,IAAI,KAAK,IAAI,iBAAiB,CAM7B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAGjC;IAEY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAkBzE,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDhD,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;QACnC,QAAQ,EAAE,MAAM,CAAA;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCjB;;OAEG;IACU,QAAQ,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5D;;;OAGG;YACW,iBAAiB;IAiB/B;;;OAGG;YACW,YAAY;IAmB1B;;;OAGG;YACW,aAAa;IA6B3B;;;;;OAKG;YACW,YAAY;YA0EZ,mBAAmB;YAoBnB,oBAAoB;YA0BpB,cAAc;YAoBd,eAAe;IAkC7B;;;OAGG;YACW,YAAY;IAc1B;;;OAGG;YACW,YAAY;IAkB1B;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,EAC1D,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE;IAIN;;OAEG;YACW,cAAc;IAsC5B;;;OAGG;YACW,wBAAwB;CAmBvC"}
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,EAAgF,MAAM,mBAAmB,CAAC;AAQtI,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAE,mBAAmB,EAAY,MAAM,iBAAiB,CAAC;AACzH,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC;CAClD,CAAC;AAuCF,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,CAAoB;IAEnC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAiB;IAExC,OAAO,CAAC,GAAG,CAA8C;IACzD,OAAO,CAAC,eAAe,CAAC,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAC,CAAsB;IAM9C,6CAA6C;IAC7C,OAAO,CAAC,SAAS,CAAoB;IAErC,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,+EAA+E;IAC/E,OAAO,CAAC,mBAAmB,CAA2B;IAEtD,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB,CAAoC;IAE9D,gDAAgD;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAgC;IAE3D,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB,CAAoH;IAE5I,yEAAyE;IACzE,OAAO,CAAC,oBAAoB,CAAK;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAK;IAErD,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAK;gBAEvC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,qBAAqB;IAM1D;;;;;OAKG;IACH,IAAI,KAAK,IAAI,iBAAiB,CAM7B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAGjC;IAED,IAAI,iBAAiB,IAAI,qBAAqB,CAE7C;IAEY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAkBzE,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4EhD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9D;;;OAGG;IACU,QAAQ,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAwB9C,aAAa;IA6C3B;;;;;;OAMG;YACW,aAAa;IAmC3B;;OAEG;YACW,gBAAgB;IAmC9B;;;OAGG;YACW,wBAAwB;IAqGtC;;;OAGG;YACW,yBAAyB;IAgFvC;;OAEG;YACW,kBAAkB;IA6BhC,OAAO,CAAC,cAAc;YAKR,SAAS;YAaT,SAAS;IASvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAerB;;;OAGG;YACW,iBAAiB;IAiB/B;;;OAGG;YACW,YAAY;IAmB1B;;;OAGG;YACW,aAAa;IA6B3B;;;;;OAKG;YACW,YAAY;YA0EZ,mBAAmB;YAoBnB,oBAAoB;YA0BpB,cAAc;YAoBd,eAAe;IA8B7B;;;OAGG;YACW,YAAY;IAc1B;;;OAGG;YACW,YAAY;IAkB1B;;;OAGG;WACW,eAAe,CAAC,CAAC,SAAS;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,EACjE,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE;IAIN;;OAEG;YACW,cAAc;IAqC5B;;;OAGG;YACW,wBAAwB;CAmBvC"}
@@ -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 a periodic sync that runs at an interval. Subsequent calls to startSync will update the interval.
93
+ * Starts sync. In `'live'` mode opens real-time subscriptions with SMT
94
+ * fallback; in `'poll'` mode uses periodic SMT reconciliation.
52
95
  *
53
- * @param params { interval: string } the interval at which the sync operation should be performed. ex: '30s', '1m', '10m'
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,CAAA;CACpB,CAAC;AACF,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"}
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.1.9",
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.6",
75
- "@enbox/dwn-sdk-js": "0.0.8",
76
- "@enbox/common": "0.0.4",
77
- "@enbox/crypto": "0.0.5",
78
- "@enbox/dids": "0.0.6",
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();
@@ -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({ key, encryptedKey, joseHeader, keyManager, crypto });
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 instanceß responsible for managing cryptographic keys. */
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: { interval: string; }): Promise<void> {
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
+ }