@digitaldefiance/ecies-lib 4.4.13 → 4.4.14
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/package.json +6 -4
- package/src/builders/ecies-builder.d.ts +18 -0
- package/src/builders/ecies-builder.d.ts.map +1 -0
- package/src/builders/ecies-builder.js +30 -0
- package/src/builders/ecies-builder.js.map +1 -0
- package/src/builders/index.d.ts +6 -0
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/{index.ts → index.js} +1 -1
- package/src/builders/index.js.map +1 -0
- package/src/builders/member-builder.d.ts +51 -0
- package/src/builders/member-builder.d.ts.map +1 -0
- package/src/builders/member-builder.js +97 -0
- package/src/builders/member-builder.js.map +1 -0
- package/src/constants.d.ts +60 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +446 -0
- package/src/constants.js.map +1 -0
- package/src/core/errors/crypto-error.d.ts +34 -0
- package/src/core/errors/crypto-error.d.ts.map +1 -0
- package/src/core/errors/crypto-error.js +56 -0
- package/src/core/errors/crypto-error.js.map +1 -0
- package/src/core/index.d.ts +6 -0
- package/src/core/index.d.ts.map +1 -0
- package/src/core/{index.ts → index.js} +1 -1
- package/src/core/index.js.map +1 -0
- package/src/core/types/result.d.ts +16 -0
- package/src/core/types/result.d.ts.map +1 -0
- package/src/core/types/result.js +12 -0
- package/src/core/types/result.js.map +1 -0
- package/src/email-string.d.ts +42 -0
- package/src/email-string.d.ts.map +1 -0
- package/src/email-string.js +67 -0
- package/src/email-string.js.map +1 -0
- package/src/enumerations/disposed-error-type.d.ts +12 -0
- package/src/enumerations/disposed-error-type.d.ts.map +1 -0
- package/src/enumerations/disposed-error-type.js +13 -0
- package/src/enumerations/disposed-error-type.js.map +1 -0
- package/src/enumerations/ecies-cipher-suite.d.ts +4 -0
- package/src/enumerations/ecies-cipher-suite.d.ts.map +1 -0
- package/src/enumerations/ecies-cipher-suite.js +6 -0
- package/src/enumerations/ecies-cipher-suite.js.map +1 -0
- package/src/enumerations/ecies-encryption-type.d.ts +11 -0
- package/src/enumerations/ecies-encryption-type.d.ts.map +1 -0
- package/src/enumerations/ecies-encryption-type.js +27 -0
- package/src/enumerations/ecies-encryption-type.js.map +1 -0
- package/src/enumerations/ecies-error-type.d.ts +44 -0
- package/src/enumerations/ecies-error-type.d.ts.map +1 -0
- package/src/enumerations/ecies-error-type.js +45 -0
- package/src/enumerations/ecies-error-type.js.map +1 -0
- package/src/enumerations/ecies-string-key.d.ts +192 -0
- package/src/enumerations/ecies-string-key.d.ts.map +1 -0
- package/src/enumerations/ecies-string-key.js +199 -0
- package/src/enumerations/ecies-string-key.js.map +1 -0
- package/src/enumerations/ecies-version.d.ts +4 -0
- package/src/enumerations/ecies-version.d.ts.map +1 -0
- package/src/enumerations/ecies-version.js +5 -0
- package/src/enumerations/ecies-version.js.map +1 -0
- package/src/enumerations/guid-brand-type.d.ts +27 -0
- package/src/enumerations/guid-brand-type.d.ts.map +1 -0
- package/src/enumerations/guid-brand-type.js +28 -0
- package/src/enumerations/guid-brand-type.js.map +1 -0
- package/src/enumerations/guid-error-type.d.ts +7 -0
- package/src/enumerations/guid-error-type.d.ts.map +1 -0
- package/src/enumerations/guid-error-type.js +8 -0
- package/src/enumerations/guid-error-type.js.map +1 -0
- package/src/enumerations/id-provider-error-type.d.ts +43 -0
- package/src/enumerations/id-provider-error-type.d.ts.map +1 -0
- package/src/enumerations/id-provider-error-type.js +44 -0
- package/src/enumerations/id-provider-error-type.js.map +1 -0
- package/src/enumerations/index.d.ts +18 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/{index.ts → index.js} +1 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/invalid-email-type.d.ts +6 -0
- package/src/enumerations/invalid-email-type.d.ts.map +1 -0
- package/src/enumerations/invalid-email-type.js +7 -0
- package/src/enumerations/invalid-email-type.js.map +1 -0
- package/src/enumerations/length-encoding-type.d.ts +7 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -0
- package/src/enumerations/length-encoding-type.js +8 -0
- package/src/enumerations/length-encoding-type.js.map +1 -0
- package/src/enumerations/length-error-type.d.ts +6 -0
- package/src/enumerations/length-error-type.d.ts.map +1 -0
- package/src/enumerations/length-error-type.js +7 -0
- package/src/enumerations/length-error-type.js.map +1 -0
- package/src/enumerations/member-error-type.d.ts +87 -0
- package/src/enumerations/member-error-type.d.ts.map +1 -0
- package/src/enumerations/member-error-type.js +88 -0
- package/src/enumerations/member-error-type.js.map +1 -0
- package/src/enumerations/{member-type.ts → member-type.d.ts} +6 -7
- package/src/enumerations/member-type.d.ts.map +1 -0
- package/src/enumerations/member-type.js +16 -0
- package/src/enumerations/member-type.js.map +1 -0
- package/src/enumerations/password-login-error-type.d.ts +5 -0
- package/src/enumerations/password-login-error-type.d.ts.map +1 -0
- package/src/enumerations/password-login-error-type.js +6 -0
- package/src/enumerations/password-login-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-error-type.d.ts +6 -0
- package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-error-type.js +7 -0
- package/src/enumerations/pbkdf2-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-profile.d.ts +6 -0
- package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-profile.js +7 -0
- package/src/enumerations/pbkdf2-profile.js.map +1 -0
- package/src/enumerations/secure-storage-error-type.d.ts +6 -0
- package/src/enumerations/secure-storage-error-type.d.ts.map +1 -0
- package/src/enumerations/secure-storage-error-type.js +7 -0
- package/src/enumerations/secure-storage-error-type.js.map +1 -0
- package/src/errors/disposed.d.ts +22 -0
- package/src/errors/disposed.d.ts.map +1 -0
- package/src/errors/disposed.js +28 -0
- package/src/errors/disposed.js.map +1 -0
- package/src/errors/ecies.d.ts +52 -0
- package/src/errors/ecies.d.ts.map +1 -0
- package/src/errors/ecies.js +78 -0
- package/src/errors/ecies.js.map +1 -0
- package/src/errors/guid.d.ts +49 -0
- package/src/errors/guid.d.ts.map +1 -0
- package/src/errors/guid.js +96 -0
- package/src/errors/guid.js.map +1 -0
- package/src/errors/id-provider.d.ts +23 -0
- package/src/errors/id-provider.d.ts.map +1 -0
- package/src/errors/id-provider.js +29 -0
- package/src/errors/id-provider.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +10 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-email.d.ts +8 -0
- package/src/errors/invalid-email.d.ts.map +1 -0
- package/src/errors/invalid-email.js +15 -0
- package/src/errors/invalid-email.js.map +1 -0
- package/src/errors/length.d.ts +7 -0
- package/src/errors/length.d.ts.map +1 -0
- package/src/errors/length.js +11 -0
- package/src/errors/length.js.map +1 -0
- package/src/errors/member.d.ts +7 -0
- package/src/errors/member.d.ts.map +1 -0
- package/src/errors/member.js +11 -0
- package/src/errors/member.js.map +1 -0
- package/src/errors/pbkdf2.d.ts +7 -0
- package/src/errors/pbkdf2.d.ts.map +1 -0
- package/src/errors/pbkdf2.js +11 -0
- package/src/errors/pbkdf2.js.map +1 -0
- package/src/errors/secure-storage.d.ts +7 -0
- package/src/errors/secure-storage.d.ts.map +1 -0
- package/src/errors/secure-storage.js +12 -0
- package/src/errors/secure-storage.js.map +1 -0
- package/src/errors/simple-ecies.d.ts +6 -0
- package/src/errors/simple-ecies.d.ts.map +1 -0
- package/src/errors/simple-ecies.js +12 -0
- package/src/errors/simple-ecies.js.map +1 -0
- package/src/errors/simple-test-error.d.ts +4 -0
- package/src/errors/simple-test-error.d.ts.map +1 -0
- package/src/errors/simple-test-error.js +7 -0
- package/src/errors/simple-test-error.js.map +1 -0
- package/src/i18n-setup.d.ts +32 -0
- package/src/i18n-setup.d.ts.map +1 -0
- package/src/i18n-setup.js +101 -0
- package/src/i18n-setup.js.map +1 -0
- package/src/index.d.ts +80 -0
- package/src/index.d.ts.map +1 -0
- package/src/{index.ts → index.js} +7 -64
- package/src/index.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +2 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +2 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/configuration-provenance.d.ts +43 -0
- package/src/interfaces/configuration-provenance.d.ts.map +1 -0
- package/src/interfaces/configuration-provenance.js +3 -0
- package/src/interfaces/configuration-provenance.js.map +1 -0
- package/src/interfaces/constants.d.ts +70 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +2 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/ecies-config.d.ts +9 -0
- package/src/interfaces/ecies-config.d.ts.map +1 -0
- package/src/interfaces/ecies-config.js +2 -0
- package/src/interfaces/ecies-config.js.map +1 -0
- package/src/interfaces/ecies-consts.d.ts +61 -0
- package/src/interfaces/ecies-consts.d.ts.map +1 -0
- package/src/interfaces/ecies-consts.js +2 -0
- package/src/interfaces/ecies-consts.js.map +1 -0
- package/src/interfaces/ecies-file-service.d.ts +7 -0
- package/src/interfaces/ecies-file-service.d.ts.map +1 -0
- package/src/interfaces/ecies-file-service.js +2 -0
- package/src/interfaces/ecies-file-service.js.map +1 -0
- package/src/interfaces/encrypted-chunk.d.ts +55 -0
- package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
- package/src/interfaces/encrypted-chunk.js +12 -0
- package/src/interfaces/encrypted-chunk.js.map +1 -0
- package/src/interfaces/encryption-state.d.ts +18 -0
- package/src/interfaces/encryption-state.d.ts.map +1 -0
- package/src/interfaces/encryption-state.js +2 -0
- package/src/interfaces/encryption-state.js.map +1 -0
- package/src/interfaces/frontend-member-operational.d.ts +51 -0
- package/src/interfaces/frontend-member-operational.d.ts.map +1 -0
- package/src/interfaces/frontend-member-operational.js +2 -0
- package/src/interfaces/frontend-member-operational.js.map +1 -0
- package/src/interfaces/guid.d.ts +78 -0
- package/src/interfaces/guid.d.ts.map +1 -0
- package/src/interfaces/guid.js +2 -0
- package/src/interfaces/guid.js.map +1 -0
- package/src/interfaces/id-provider.d.ts +107 -0
- package/src/interfaces/id-provider.d.ts.map +1 -0
- package/src/interfaces/id-provider.js +52 -0
- package/src/interfaces/id-provider.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +13 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/invariant.d.ts +46 -0
- package/src/interfaces/invariant.d.ts.map +1 -0
- package/src/interfaces/invariant.js +18 -0
- package/src/interfaces/invariant.js.map +1 -0
- package/src/interfaces/library-error.d.ts +23 -0
- package/src/interfaces/library-error.d.ts.map +1 -0
- package/src/interfaces/library-error.js +2 -0
- package/src/interfaces/library-error.js.map +1 -0
- package/src/interfaces/{member-storage.ts → member-storage.d.ts} +10 -11
- package/src/interfaces/member-storage.d.ts.map +1 -0
- package/src/interfaces/member-storage.js +2 -0
- package/src/interfaces/member-storage.js.map +1 -0
- package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
- package/src/interfaces/member-with-mnemonic.js +2 -0
- package/src/interfaces/member-with-mnemonic.js.map +1 -0
- package/src/interfaces/member.d.ts +55 -0
- package/src/interfaces/member.d.ts.map +1 -0
- package/src/interfaces/member.js +2 -0
- package/src/interfaces/member.js.map +1 -0
- package/src/interfaces/multi-recipient-chunk.d.ts +54 -0
- package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
- package/src/interfaces/multi-recipient-chunk.js +11 -0
- package/src/interfaces/multi-recipient-chunk.js.map +1 -0
- package/src/interfaces/pbkdf2-config.d.ts +7 -0
- package/src/interfaces/pbkdf2-config.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-config.js +2 -0
- package/src/interfaces/pbkdf2-config.js.map +1 -0
- package/src/interfaces/pbkdf2-consts.d.ts +9 -0
- package/src/interfaces/pbkdf2-consts.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-consts.js +2 -0
- package/src/interfaces/pbkdf2-consts.js.map +1 -0
- package/src/interfaces/pbkdf2-result.d.ts +6 -0
- package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-result.js +2 -0
- package/src/interfaces/pbkdf2-result.js.map +1 -0
- package/src/interfaces/stream-config.d.ts +14 -0
- package/src/interfaces/stream-config.d.ts.map +1 -0
- package/src/interfaces/stream-config.js +8 -0
- package/src/interfaces/stream-config.js.map +1 -0
- package/src/interfaces/stream-header.d.ts +29 -0
- package/src/interfaces/stream-header.d.ts.map +1 -0
- package/src/interfaces/stream-header.js +9 -0
- package/src/interfaces/stream-header.js.map +1 -0
- package/src/interfaces/stream-progress.d.ts +33 -0
- package/src/interfaces/stream-progress.d.ts.map +1 -0
- package/src/interfaces/stream-progress.js +2 -0
- package/src/interfaces/stream-progress.js.map +1 -0
- package/src/lib/configuration-provenance-utils.d.ts +11 -0
- package/src/lib/configuration-provenance-utils.d.ts.map +1 -0
- package/src/lib/configuration-provenance-utils.js +26 -0
- package/src/lib/configuration-provenance-utils.js.map +1 -0
- package/src/lib/crypto-container.d.ts +25 -0
- package/src/lib/crypto-container.d.ts.map +1 -0
- package/src/lib/crypto-container.js +46 -0
- package/src/lib/crypto-container.js.map +1 -0
- package/src/lib/guid.d.ts +344 -0
- package/src/lib/guid.d.ts.map +1 -0
- package/src/lib/guid.js +914 -0
- package/src/lib/guid.js.map +1 -0
- package/src/lib/id-providers/custom-provider.d.ts +46 -0
- package/src/lib/id-providers/custom-provider.d.ts.map +1 -0
- package/src/lib/id-providers/custom-provider.js +85 -0
- package/src/lib/id-providers/custom-provider.js.map +1 -0
- package/src/lib/id-providers/guidv4-provider.d.ts +56 -0
- package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -0
- package/src/lib/id-providers/guidv4-provider.js +122 -0
- package/src/lib/id-providers/guidv4-provider.js.map +1 -0
- package/src/lib/id-providers/{index.ts → index.d.ts} +5 -6
- package/src/lib/id-providers/index.d.ts.map +1 -0
- package/src/lib/id-providers/index.js +29 -0
- package/src/lib/id-providers/index.js.map +1 -0
- package/src/lib/id-providers/objectid-provider.d.ts +43 -0
- package/src/lib/id-providers/objectid-provider.d.ts.map +1 -0
- package/src/lib/id-providers/objectid-provider.js +104 -0
- package/src/lib/id-providers/objectid-provider.js.map +1 -0
- package/src/lib/id-providers/uuid-provider.d.ts +52 -0
- package/src/lib/id-providers/uuid-provider.d.ts.map +1 -0
- package/src/lib/id-providers/uuid-provider.js +110 -0
- package/src/lib/id-providers/uuid-provider.js.map +1 -0
- package/src/lib/index.d.ts +6 -0
- package/src/lib/index.d.ts.map +1 -0
- package/src/lib/{index.ts → index.js} +2 -2
- package/src/lib/index.js.map +1 -0
- package/src/lib/invariant-validator.d.ts +59 -0
- package/src/lib/invariant-validator.d.ts.map +1 -0
- package/src/lib/invariant-validator.js +97 -0
- package/src/lib/invariant-validator.js.map +1 -0
- package/src/lib/invariants/encryption-algorithm-consistency.d.ts +17 -0
- package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +1 -0
- package/src/lib/invariants/encryption-algorithm-consistency.js +49 -0
- package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
- package/src/lib/invariants/index.d.ts +4 -0
- package/src/lib/invariants/index.d.ts.map +1 -0
- package/src/lib/invariants/{index.ts → index.js} +1 -0
- package/src/lib/invariants/index.js.map +1 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +16 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +1 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.js +58 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts +18 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.js +31 -0
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
- package/src/lib/multi-recipient-chunk-utils.d.ts +38 -0
- package/src/lib/multi-recipient-chunk-utils.d.ts.map +1 -0
- package/src/lib/multi-recipient-chunk-utils.js +41 -0
- package/src/lib/multi-recipient-chunk-utils.js.map +1 -0
- package/src/member.d.ts +92 -0
- package/src/member.d.ts.map +1 -0
- package/src/member.js +322 -0
- package/src/member.js.map +1 -0
- package/src/{pbkdf2-profiles.ts → pbkdf2-profiles.d.ts} +2 -2
- package/src/pbkdf2-profiles.d.ts.map +1 -0
- package/src/pbkdf2-profiles.js +2 -0
- package/src/pbkdf2-profiles.js.map +1 -0
- package/src/phone-number.d.ts +6 -0
- package/src/phone-number.d.ts.map +1 -0
- package/src/phone-number.js +18 -0
- package/src/phone-number.js.map +1 -0
- package/src/regexes.d.ts +7 -0
- package/src/regexes.d.ts.map +1 -0
- package/src/regexes.js +7 -0
- package/src/regexes.js.map +1 -0
- package/src/secure-buffer.d.ts +61 -0
- package/src/secure-buffer.d.ts.map +1 -0
- package/src/secure-buffer.js +201 -0
- package/src/secure-buffer.js.map +1 -0
- package/src/secure-string.d.ts +46 -0
- package/src/secure-string.d.ts.map +1 -0
- package/src/secure-string.js +206 -0
- package/src/secure-string.js.map +1 -0
- package/src/services/aes-gcm.d.ts +57 -0
- package/src/services/aes-gcm.d.ts.map +1 -0
- package/src/services/aes-gcm.js +142 -0
- package/src/services/aes-gcm.js.map +1 -0
- package/src/services/chunk-processor.d.ts +31 -0
- package/src/services/chunk-processor.d.ts.map +1 -0
- package/src/services/chunk-processor.js +145 -0
- package/src/services/chunk-processor.js.map +1 -0
- package/src/services/ecies/crypto-core.d.ts +72 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -0
- package/src/services/ecies/crypto-core.js +205 -0
- package/src/services/ecies/crypto-core.js.map +1 -0
- package/src/services/ecies/example.d.ts +25 -0
- package/src/services/ecies/example.d.ts.map +1 -0
- package/src/services/ecies/example.js +121 -0
- package/src/services/ecies/example.js.map +1 -0
- package/src/services/ecies/file.d.ts +18 -0
- package/src/services/ecies/file.d.ts.map +1 -0
- package/src/services/ecies/file.js +106 -0
- package/src/services/ecies/file.js.map +1 -0
- package/src/services/ecies/index.d.ts +38 -0
- package/src/services/ecies/index.d.ts.map +1 -0
- package/src/services/ecies/{index.ts → index.js} +1 -2
- package/src/services/ecies/index.js.map +1 -0
- package/src/services/ecies/integration.d.ts +59 -0
- package/src/services/ecies/integration.d.ts.map +1 -0
- package/src/services/ecies/integration.js +167 -0
- package/src/services/ecies/integration.js.map +1 -0
- package/src/services/ecies/interfaces.d.ts +54 -0
- package/src/services/ecies/interfaces.d.ts.map +1 -0
- package/src/services/ecies/interfaces.js +5 -0
- package/src/services/ecies/interfaces.js.map +1 -0
- package/src/services/ecies/manual-test.d.ts +29 -0
- package/src/services/ecies/manual-test.d.ts.map +1 -0
- package/src/services/ecies/manual-test.js +163 -0
- package/src/services/ecies/manual-test.js.map +1 -0
- package/src/services/ecies/multi-recipient.d.ts +56 -0
- package/src/services/ecies/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/multi-recipient.js +344 -0
- package/src/services/ecies/multi-recipient.js.map +1 -0
- package/src/services/ecies/service.d.ts +120 -0
- package/src/services/ecies/service.d.ts.map +1 -0
- package/src/services/ecies/service.js +210 -0
- package/src/services/ecies/service.js.map +1 -0
- package/src/services/ecies/signature.d.ts +27 -0
- package/src/services/ecies/signature.d.ts.map +1 -0
- package/src/services/ecies/signature.js +72 -0
- package/src/services/ecies/signature.js.map +1 -0
- package/src/services/ecies/single-recipient.d.ts +46 -0
- package/src/services/ecies/single-recipient.d.ts.map +1 -0
- package/src/services/ecies/single-recipient.js +322 -0
- package/src/services/ecies/single-recipient.js.map +1 -0
- package/src/services/encryption-stream.d.ts +71 -0
- package/src/services/encryption-stream.d.ts.map +1 -0
- package/src/services/encryption-stream.js +295 -0
- package/src/services/encryption-stream.js.map +1 -0
- package/src/services/index.d.ts +11 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/{index.ts → index.js} +1 -0
- package/src/services/index.js.map +1 -0
- package/src/services/multi-recipient-processor.d.ts +35 -0
- package/src/services/multi-recipient-processor.d.ts.map +1 -0
- package/src/services/multi-recipient-processor.js +289 -0
- package/src/services/multi-recipient-processor.js.map +1 -0
- package/src/services/password-login.d.ts +47 -0
- package/src/services/password-login.d.ts.map +1 -0
- package/src/services/password-login.js +115 -0
- package/src/services/password-login.js.map +1 -0
- package/src/services/pbkdf2.d.ts +54 -0
- package/src/services/pbkdf2.d.ts.map +1 -0
- package/src/services/pbkdf2.js +108 -0
- package/src/services/pbkdf2.js.map +1 -0
- package/src/services/progress-tracker.d.ts +23 -0
- package/src/services/progress-tracker.d.ts.map +1 -0
- package/src/services/progress-tracker.js +103 -0
- package/src/services/progress-tracker.js.map +1 -0
- package/src/services/resumable-encryption.d.ts +19 -0
- package/src/services/resumable-encryption.d.ts.map +1 -0
- package/src/services/resumable-encryption.js +105 -0
- package/src/services/resumable-encryption.js.map +1 -0
- package/src/services/xor.d.ts +37 -0
- package/src/services/xor.d.ts.map +1 -0
- package/src/services/xor.js +63 -0
- package/src/services/xor.js.map +1 -0
- package/src/test-mocks/index.d.ts +2 -0
- package/src/test-mocks/index.d.ts.map +1 -0
- package/src/test-mocks/index.js +2 -0
- package/src/test-mocks/index.js.map +1 -0
- package/src/test-mocks/mock-frontend-member.d.ts +85 -0
- package/src/test-mocks/mock-frontend-member.d.ts.map +1 -0
- package/src/test-mocks/mock-frontend-member.js +190 -0
- package/src/test-mocks/mock-frontend-member.js.map +1 -0
- package/src/testing.d.ts +2 -0
- package/src/testing.d.ts.map +1 -0
- package/src/{testing.ts → testing.js} +1 -0
- package/src/testing.js.map +1 -0
- package/src/translations/de.d.ts +4 -0
- package/src/translations/de.d.ts.map +1 -0
- package/src/translations/{de.ts → de.js} +56 -112
- package/src/translations/de.js.map +1 -0
- package/src/translations/en-US.d.ts +4 -0
- package/src/translations/en-US.d.ts.map +1 -0
- package/src/translations/{en-US.ts → en-US.js} +58 -116
- package/src/translations/en-US.js.map +1 -0
- package/src/translations/es.d.ts +4 -0
- package/src/translations/es.d.ts.map +1 -0
- package/src/translations/{es.ts → es.js} +67 -134
- package/src/translations/es.js.map +1 -0
- package/src/translations/fr.d.ts +4 -0
- package/src/translations/fr.d.ts.map +1 -0
- package/src/translations/{fr.ts → fr.js} +64 -129
- package/src/translations/fr.js.map +1 -0
- package/src/translations/ja.d.ts +4 -0
- package/src/translations/ja.d.ts.map +1 -0
- package/src/translations/{ja.ts → ja.js} +55 -111
- package/src/translations/ja.js.map +1 -0
- package/src/translations/uk.d.ts +4 -0
- package/src/translations/uk.d.ts.map +1 -0
- package/src/translations/{uk.ts → uk.js} +67 -132
- package/src/translations/uk.js.map +1 -0
- package/src/translations/zh-cn.d.ts +4 -0
- package/src/translations/zh-cn.d.ts.map +1 -0
- package/src/translations/{zh-cn.ts → zh-cn.js} +29 -60
- package/src/translations/zh-cn.js.map +1 -0
- package/src/types/deep-partial.d.ts +4 -0
- package/src/types/deep-partial.d.ts.map +1 -0
- package/src/types/deep-partial.js +2 -0
- package/src/types/deep-partial.js.map +1 -0
- package/src/{types.ts → types.d.ts} +7 -15
- package/src/types.d.ts.map +1 -0
- package/src/types.js +2 -0
- package/src/types.js.map +1 -0
- package/src/utils/encryption-type-utils.d.ts +29 -0
- package/src/utils/encryption-type-utils.d.ts.map +1 -0
- package/src/utils/encryption-type-utils.js +61 -0
- package/src/utils/encryption-type-utils.js.map +1 -0
- package/src/utils.d.ts +68 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +273 -0
- package/src/utils.js.map +1 -0
- package/LICENSE +0 -21
- package/src/builders/ecies-builder.ts +0 -39
- package/src/builders/member-builder.ts +0 -155
- package/src/constants.ts +0 -609
- package/src/core/errors/crypto-error.ts +0 -78
- package/src/core/types/result.ts +0 -19
- package/src/email-string.ts +0 -82
- package/src/enumerations/disposed-error-type.ts +0 -11
- package/src/enumerations/ecies-cipher-suite.ts +0 -4
- package/src/enumerations/ecies-encryption-type.ts +0 -41
- package/src/enumerations/ecies-error-type.ts +0 -43
- package/src/enumerations/ecies-string-key.ts +0 -205
- package/src/enumerations/ecies-version.ts +0 -3
- package/src/enumerations/guid-brand-type.ts +0 -26
- package/src/enumerations/guid-error-type.ts +0 -6
- package/src/enumerations/id-provider-error-type.ts +0 -50
- package/src/enumerations/invalid-email-type.ts +0 -5
- package/src/enumerations/length-encoding-type.ts +0 -6
- package/src/enumerations/length-error-type.ts +0 -5
- package/src/enumerations/member-error-type.ts +0 -106
- package/src/enumerations/password-login-error-type.ts +0 -4
- package/src/enumerations/pbkdf2-error-type.ts +0 -5
- package/src/enumerations/pbkdf2-profile.ts +0 -5
- package/src/enumerations/secure-storage-error-type.ts +0 -5
- package/src/errors/disposed.ts +0 -36
- package/src/errors/ecies.ts +0 -153
- package/src/errors/guid.ts +0 -130
- package/src/errors/id-provider.ts +0 -40
- package/src/errors/invalid-email.ts +0 -23
- package/src/errors/length.ts +0 -19
- package/src/errors/member.ts +0 -20
- package/src/errors/pbkdf2.ts +0 -20
- package/src/errors/secure-storage.ts +0 -17
- package/src/errors/simple-ecies.ts +0 -21
- package/src/errors/simple-test-error.ts +0 -6
- package/src/i18n-setup.ts +0 -130
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/configuration-provenance.ts +0 -54
- package/src/interfaces/constants.ts +0 -75
- package/src/interfaces/ecies-config.ts +0 -8
- package/src/interfaces/ecies-consts.ts +0 -76
- package/src/interfaces/ecies-file-service.ts +0 -6
- package/src/interfaces/encrypted-chunk.ts +0 -64
- package/src/interfaces/encryption-state.ts +0 -19
- package/src/interfaces/frontend-member-operational.ts +0 -77
- package/src/interfaces/guid.ts +0 -86
- package/src/interfaces/id-provider.ts +0 -152
- package/src/interfaces/invariant.ts +0 -60
- package/src/interfaces/library-error.ts +0 -23
- package/src/interfaces/member.ts +0 -84
- package/src/interfaces/multi-recipient-chunk.ts +0 -61
- package/src/interfaces/pbkdf2-config.ts +0 -6
- package/src/interfaces/pbkdf2-consts.ts +0 -10
- package/src/interfaces/pbkdf2-result.ts +0 -5
- package/src/interfaces/stream-config.ts +0 -17
- package/src/interfaces/stream-header.ts +0 -34
- package/src/interfaces/stream-progress.ts +0 -31
- package/src/lib/configuration-provenance-utils.ts +0 -29
- package/src/lib/crypto-container.ts +0 -64
- package/src/lib/guid.ts +0 -1097
- package/src/lib/id-providers/custom-provider.ts +0 -109
- package/src/lib/id-providers/guidv4-provider.ts +0 -141
- package/src/lib/id-providers/objectid-provider.ts +0 -125
- package/src/lib/id-providers/uuid-provider.ts +0 -133
- package/src/lib/invariant-validator.ts +0 -133
- package/src/lib/invariants/encryption-algorithm-consistency.ts +0 -73
- package/src/lib/invariants/pbkdf2-profiles-validity.ts +0 -78
- package/src/lib/invariants/recipient-id-consistency.ts +0 -46
- package/src/lib/multi-recipient-chunk-utils.ts +0 -63
- package/src/member.ts +0 -495
- package/src/phone-number.ts +0 -18
- package/src/regexes.ts +0 -10
- package/src/secure-buffer.ts +0 -226
- package/src/secure-string.ts +0 -244
- package/src/services/aes-gcm.ts +0 -220
- package/src/services/chunk-processor.ts +0 -188
- package/src/services/ecies/README.md +0 -147
- package/src/services/ecies/crypto-core.ts +0 -292
- package/src/services/ecies/example.ts +0 -185
- package/src/services/ecies/file.ts +0 -167
- package/src/services/ecies/integration.ts +0 -241
- package/src/services/ecies/interfaces.ts +0 -62
- package/src/services/ecies/manual-test.ts +0 -219
- package/src/services/ecies/multi-recipient.ts +0 -545
- package/src/services/ecies/service.ts +0 -370
- package/src/services/ecies/signature.ts +0 -93
- package/src/services/ecies/single-recipient.ts +0 -476
- package/src/services/encryption-stream.ts +0 -435
- package/src/services/multi-recipient-processor.ts +0 -377
- package/src/services/password-login.ts +0 -226
- package/src/services/pbkdf2.ts +0 -169
- package/src/services/progress-tracker.ts +0 -128
- package/src/services/resumable-encryption.ts +0 -135
- package/src/services/xor.ts +0 -65
- package/src/test-mocks/index.ts +0 -1
- package/src/test-mocks/mock-frontend-member.ts +0 -276
- package/src/types/deep-partial.ts +0 -11
- package/src/utils/encryption-type-utils.ts +0 -76
- package/src/utils.ts +0 -329
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standardized error interface for Digital Defiance libraries
|
|
3
|
-
* Ensures consistent error handling across the ecosystem
|
|
4
|
-
*/
|
|
5
|
-
export interface LibraryError extends Error {
|
|
6
|
-
/** The library that generated this error */
|
|
7
|
-
readonly library: string;
|
|
8
|
-
/** Unique error code for programmatic handling */
|
|
9
|
-
readonly errorCode: string;
|
|
10
|
-
/** HTTP-style status code */
|
|
11
|
-
readonly statusCode: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Interface for resources that can be disposed
|
|
16
|
-
* Ensures consistent memory management across libraries
|
|
17
|
-
*/
|
|
18
|
-
export interface DisposableResource {
|
|
19
|
-
/** Dispose of the resource and clean up memory */
|
|
20
|
-
dispose(): void;
|
|
21
|
-
/** Whether the resource has been disposed */
|
|
22
|
-
readonly isDisposed: boolean;
|
|
23
|
-
}
|
package/src/interfaces/member.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { Wallet } from '@ethereumjs/wallet';
|
|
2
|
-
import type { EmailString } from '../email-string';
|
|
3
|
-
import type MemberType from '../enumerations/member-type';
|
|
4
|
-
import type { SecureBuffer } from '../secure-buffer';
|
|
5
|
-
import type { SecureString } from '../secure-string';
|
|
6
|
-
import type { SignatureUint8Array } from '../types';
|
|
7
|
-
import type { IECIESConstants } from './ecies-consts';
|
|
8
|
-
import type { IEncryptedChunk } from './encrypted-chunk';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Interface representing a member with cryptographic capabilities.
|
|
12
|
-
* This interface defines the contract for member operations without
|
|
13
|
-
* referencing concrete class implementations.
|
|
14
|
-
*/
|
|
15
|
-
export interface IMember {
|
|
16
|
-
// Required properties
|
|
17
|
-
readonly id: Uint8Array;
|
|
18
|
-
readonly type: MemberType;
|
|
19
|
-
readonly name: string;
|
|
20
|
-
readonly email: EmailString;
|
|
21
|
-
readonly publicKey: Uint8Array;
|
|
22
|
-
readonly creatorId: Uint8Array;
|
|
23
|
-
readonly dateCreated: Date;
|
|
24
|
-
readonly dateUpdated: Date;
|
|
25
|
-
|
|
26
|
-
// Optional private data properties
|
|
27
|
-
readonly privateKey: SecureBuffer | undefined;
|
|
28
|
-
readonly wallet: Wallet;
|
|
29
|
-
|
|
30
|
-
// State properties
|
|
31
|
-
readonly hasPrivateKey: boolean;
|
|
32
|
-
|
|
33
|
-
// Key management methods
|
|
34
|
-
unloadPrivateKey(): void;
|
|
35
|
-
unloadWallet(): void;
|
|
36
|
-
unloadWalletAndPrivateKey(): void;
|
|
37
|
-
loadWallet(mnemonic: SecureString, eciesParams?: IECIESConstants): void;
|
|
38
|
-
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
39
|
-
|
|
40
|
-
// Cryptographic methods
|
|
41
|
-
sign(data: Uint8Array): SignatureUint8Array;
|
|
42
|
-
signData(data: Uint8Array): SignatureUint8Array;
|
|
43
|
-
verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
|
|
44
|
-
verifySignature(
|
|
45
|
-
data: Uint8Array,
|
|
46
|
-
signature: Uint8Array,
|
|
47
|
-
publicKey: Uint8Array,
|
|
48
|
-
): boolean;
|
|
49
|
-
|
|
50
|
-
// Encryption/Decryption methods
|
|
51
|
-
encryptDataStream(
|
|
52
|
-
source: AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>,
|
|
53
|
-
options?: {
|
|
54
|
-
recipientPublicKey?: Uint8Array;
|
|
55
|
-
onProgress?: (progress: {
|
|
56
|
-
bytesProcessed: number;
|
|
57
|
-
chunksProcessed: number;
|
|
58
|
-
}) => void;
|
|
59
|
-
signal?: AbortSignal;
|
|
60
|
-
},
|
|
61
|
-
): AsyncGenerator<IEncryptedChunk, void, unknown>;
|
|
62
|
-
|
|
63
|
-
decryptDataStream(
|
|
64
|
-
source: AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>,
|
|
65
|
-
options?: {
|
|
66
|
-
onProgress?: (progress: {
|
|
67
|
-
bytesProcessed: number;
|
|
68
|
-
chunksProcessed: number;
|
|
69
|
-
}) => void;
|
|
70
|
-
signal?: AbortSignal;
|
|
71
|
-
},
|
|
72
|
-
): AsyncGenerator<Uint8Array, void, unknown>;
|
|
73
|
-
|
|
74
|
-
encryptData(
|
|
75
|
-
data: string | Uint8Array,
|
|
76
|
-
recipientPublicKey?: Uint8Array,
|
|
77
|
-
): Promise<Uint8Array>;
|
|
78
|
-
|
|
79
|
-
decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
|
|
80
|
-
|
|
81
|
-
// Serialization methods
|
|
82
|
-
toJson(): string;
|
|
83
|
-
dispose(): void;
|
|
84
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-recipient encrypted chunk format
|
|
3
|
-
*
|
|
4
|
-
* Structure:
|
|
5
|
-
* - Header (32 bytes): magic, version, recipientCount, chunkIndex, etc.
|
|
6
|
-
* - Recipient headers (variable): encrypted symmetric keys for each recipient
|
|
7
|
-
* - Encrypted data (variable): data encrypted with symmetric key
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Multi-recipient chunk header (32 bytes)
|
|
12
|
-
*/
|
|
13
|
-
export interface IMultiRecipientChunkHeader {
|
|
14
|
-
/** Magic bytes: 0x4D524543 ("MREC") */
|
|
15
|
-
magic: number;
|
|
16
|
-
/** Version: 0x0001 */
|
|
17
|
-
version: number;
|
|
18
|
-
/** Number of recipients */
|
|
19
|
-
recipientCount: number;
|
|
20
|
-
/** Chunk index */
|
|
21
|
-
chunkIndex: number;
|
|
22
|
-
/** Original data size */
|
|
23
|
-
originalSize: number;
|
|
24
|
-
/** Encrypted data size */
|
|
25
|
-
encryptedSize: number;
|
|
26
|
-
/** Flags (bit 0: isLast, bit 1: hasChecksum) */
|
|
27
|
-
flags: number;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Recipient header (variable size)
|
|
32
|
-
*/
|
|
33
|
-
export interface IRecipientHeader {
|
|
34
|
-
/** Recipient ID (size determined by ID provider) */
|
|
35
|
-
id: Uint8Array;
|
|
36
|
-
/** Encrypted symmetric key size (2 bytes) */
|
|
37
|
-
keySize: number;
|
|
38
|
-
/** Encrypted symmetric key (variable) */
|
|
39
|
-
encryptedKey: Uint8Array;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Multi-recipient encrypted chunk
|
|
44
|
-
*/
|
|
45
|
-
export interface IMultiRecipientChunk {
|
|
46
|
-
/** Chunk index */
|
|
47
|
-
index: number;
|
|
48
|
-
/** Complete chunk data (header + recipient headers + encrypted data) */
|
|
49
|
-
data: Uint8Array;
|
|
50
|
-
/** Whether this is the last chunk */
|
|
51
|
-
isLast: boolean;
|
|
52
|
-
/** Number of recipients */
|
|
53
|
-
recipientCount: number;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Re-export interface (type-only), utility function and constant from lib
|
|
57
|
-
export {
|
|
58
|
-
MULTI_RECIPIENT_CONSTANTS,
|
|
59
|
-
getMultiRecipientConstants,
|
|
60
|
-
} from '../lib/multi-recipient-chunk-utils';
|
|
61
|
-
export type { IMultiRecipientConstants } from '../lib/multi-recipient-chunk-utils';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface IPBkdf2Consts {
|
|
2
|
-
/** Hash algorithm (sha512) */
|
|
3
|
-
ALGORITHM: string;
|
|
4
|
-
|
|
5
|
-
/** Number of bytes in a salt. */
|
|
6
|
-
SALT_BYTES: number;
|
|
7
|
-
|
|
8
|
-
/** Expected number of pbkdf2 iterations per second when hashing a password. */
|
|
9
|
-
ITERATIONS_PER_SECOND: number;
|
|
10
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration for streaming encryption operations
|
|
3
|
-
*/
|
|
4
|
-
export interface IStreamConfig {
|
|
5
|
-
/** Chunk size in bytes (default: 1MB) */
|
|
6
|
-
chunkSize: number;
|
|
7
|
-
/** Whether to include checksums for each chunk */
|
|
8
|
-
includeChecksums: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Default streaming configuration
|
|
13
|
-
*/
|
|
14
|
-
export const DEFAULT_STREAM_CONFIG: IStreamConfig = {
|
|
15
|
-
chunkSize: 1024 * 1024, // 1MB
|
|
16
|
-
includeChecksums: false,
|
|
17
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { EciesEncryptionTypeEnum } from '../enumerations/ecies-encryption-type';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Stream header structure (128 bytes fixed)
|
|
5
|
-
*/
|
|
6
|
-
export interface IStreamHeader {
|
|
7
|
-
/** Magic bytes: 0x45435354 ("ECST") */
|
|
8
|
-
magic: number;
|
|
9
|
-
/** Version: 0x0001 */
|
|
10
|
-
version: number;
|
|
11
|
-
/** Encryption type */
|
|
12
|
-
encryptionType: EciesEncryptionTypeEnum;
|
|
13
|
-
/** Chunk size in bytes */
|
|
14
|
-
chunkSize: number;
|
|
15
|
-
/** Total number of chunks (0 if unknown) */
|
|
16
|
-
totalChunks: number;
|
|
17
|
-
/** Total bytes to process (0 if unknown) */
|
|
18
|
-
totalBytes: number;
|
|
19
|
-
/** Timestamp when stream started */
|
|
20
|
-
timestamp: number;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Constants for stream header format
|
|
25
|
-
*/
|
|
26
|
-
export const STREAM_HEADER_CONSTANTS: {
|
|
27
|
-
readonly MAGIC: 0x45435354;
|
|
28
|
-
readonly VERSION: 0x0001;
|
|
29
|
-
readonly HEADER_SIZE: 128;
|
|
30
|
-
} = {
|
|
31
|
-
MAGIC: 0x45435354, // "ECST"
|
|
32
|
-
VERSION: 0x0001,
|
|
33
|
-
HEADER_SIZE: 128,
|
|
34
|
-
} as const;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress information for streaming operations
|
|
3
|
-
*/
|
|
4
|
-
export interface IStreamProgress {
|
|
5
|
-
/** Total bytes processed so far */
|
|
6
|
-
bytesProcessed: number;
|
|
7
|
-
/** Total bytes to process (undefined for unknown-length streams) */
|
|
8
|
-
totalBytes?: number;
|
|
9
|
-
/** Number of chunks processed */
|
|
10
|
-
chunksProcessed: number;
|
|
11
|
-
/** Percentage complete (0-100, undefined if totalBytes unknown) */
|
|
12
|
-
percentComplete?: number;
|
|
13
|
-
/** Current throughput in bytes per second */
|
|
14
|
-
throughputBytesPerSec: number;
|
|
15
|
-
/** Estimated time remaining in seconds (undefined if totalBytes unknown) */
|
|
16
|
-
estimatedTimeRemaining?: number;
|
|
17
|
-
/** Timestamp when operation started */
|
|
18
|
-
startTime: number;
|
|
19
|
-
/** Elapsed time in milliseconds */
|
|
20
|
-
elapsedTime: number;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Callback function for progress updates
|
|
25
|
-
*/
|
|
26
|
-
export type ProgressCallback = (progress: IStreamProgress) => void | Promise<void>;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Callback function for chunk completion
|
|
30
|
-
*/
|
|
31
|
-
export type ChunkCallback = (chunk: { index: number; size: number }) => void | Promise<void>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { sha256 } from '@noble/hashes/sha2.js';
|
|
2
|
-
import { bytesToHex } from '@noble/hashes/utils.js';
|
|
3
|
-
import type { IConstants } from '../interfaces/constants';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Calculates a checksum for a configuration object.
|
|
7
|
-
* Uses SHA-256 of JSON representation.
|
|
8
|
-
*/
|
|
9
|
-
export function calculateConfigChecksum(config: IConstants): string {
|
|
10
|
-
// Create a stable JSON representation with BigInt support
|
|
11
|
-
const replacer = (_key: string, value: any) =>
|
|
12
|
-
typeof value === 'bigint' ? value.toString() : value;
|
|
13
|
-
const stable = JSON.stringify(config, replacer);
|
|
14
|
-
const encoder = new TextEncoder();
|
|
15
|
-
const data = encoder.encode(stable);
|
|
16
|
-
return bytesToHex(sha256(data));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Captures a stack trace for provenance tracking
|
|
21
|
-
*/
|
|
22
|
-
export function captureCreationStack(): string {
|
|
23
|
-
const stack = new Error().stack;
|
|
24
|
-
if (!stack) return 'stack unavailable';
|
|
25
|
-
|
|
26
|
-
// Remove the first two lines (Error message and this function)
|
|
27
|
-
const lines = stack.split('\n').slice(2);
|
|
28
|
-
return lines.join('\n');
|
|
29
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Service Container for dependency injection
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { I18nEngine } from '@digitaldefiance/i18n-lib';
|
|
6
|
-
import { Constants } from '../constants';
|
|
7
|
-
import { EciesStringKey } from '../enumerations/ecies-string-key';
|
|
8
|
-
import { EciesComponentId, getEciesI18nEngine } from '../i18n-setup';
|
|
9
|
-
import type { IConstants } from '../interfaces/constants';
|
|
10
|
-
|
|
11
|
-
export enum CryptoServiceKey {
|
|
12
|
-
ECIES = 'ecies',
|
|
13
|
-
PBKDF2 = 'pbkdf2',
|
|
14
|
-
AES_GCM = 'aes-gcm',
|
|
15
|
-
PASSWORD_LOGIN = 'password-login',
|
|
16
|
-
FILE = 'file',
|
|
17
|
-
XOR = 'xor',
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export class CryptoContainer {
|
|
21
|
-
private services = new Map<CryptoServiceKey, unknown>();
|
|
22
|
-
private config: IConstants;
|
|
23
|
-
private i18n: I18nEngine;
|
|
24
|
-
|
|
25
|
-
private constructor(config: IConstants, i18n: I18nEngine) {
|
|
26
|
-
this.config = config;
|
|
27
|
-
this.i18n = i18n;
|
|
28
|
-
this.initServices();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
static create(
|
|
32
|
-
config: IConstants = Constants,
|
|
33
|
-
i18n?: I18nEngine,
|
|
34
|
-
): CryptoContainer {
|
|
35
|
-
return new CryptoContainer(config, i18n || getEciesI18nEngine());
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get<T>(key: CryptoServiceKey): T {
|
|
39
|
-
const service = this.services.get(key);
|
|
40
|
-
if (!service) {
|
|
41
|
-
throw new Error(
|
|
42
|
-
this.i18n.translate(
|
|
43
|
-
EciesComponentId,
|
|
44
|
-
EciesStringKey.Error_Container_ServiceNotFoundTemplate,
|
|
45
|
-
{ service: key },
|
|
46
|
-
),
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
return service as T;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private initServices(): void {
|
|
53
|
-
// Services will be lazily loaded to avoid circular dependencies
|
|
54
|
-
// Implementation will be added as services are migrated
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
getConfig(): IConstants {
|
|
58
|
-
return this.config;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
getI18n(): I18nEngine {
|
|
62
|
-
return this.i18n;
|
|
63
|
-
}
|
|
64
|
-
}
|