@digitaldefiance/ecies-lib 3.0.8 → 3.7.3

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 (303) hide show
  1. package/README.md +475 -0
  2. package/package.json +4 -3
  3. package/src/builders/ecies-builder.js +5 -9
  4. package/src/builders/ecies-builder.js.map +1 -1
  5. package/src/builders/index.js +2 -5
  6. package/src/builders/index.js.map +1 -1
  7. package/src/builders/member-builder.js +12 -16
  8. package/src/builders/member-builder.js.map +1 -1
  9. package/src/constants.d.ts +14 -0
  10. package/src/constants.d.ts.map +1 -1
  11. package/src/constants.js +150 -74
  12. package/src/constants.js.map +1 -1
  13. package/src/core/errors/crypto-error.js +10 -14
  14. package/src/core/errors/crypto-error.js.map +1 -1
  15. package/src/core/index.js +2 -5
  16. package/src/core/index.js.map +1 -1
  17. package/src/core/types/result.js +1 -5
  18. package/src/core/types/result.js.map +1 -1
  19. package/src/email-string.js +8 -13
  20. package/src/email-string.js.map +1 -1
  21. package/src/enumerations/disposed-error-type.d.ts +12 -0
  22. package/src/enumerations/disposed-error-type.d.ts.map +1 -0
  23. package/src/enumerations/disposed-error-type.js +13 -0
  24. package/src/enumerations/disposed-error-type.js.map +1 -0
  25. package/src/enumerations/ecies-encryption-type.js +20 -27
  26. package/src/enumerations/ecies-encryption-type.js.map +1 -1
  27. package/src/enumerations/ecies-error-type.js +2 -5
  28. package/src/enumerations/ecies-error-type.js.map +1 -1
  29. package/src/enumerations/ecies-string-key.d.ts +19 -1
  30. package/src/enumerations/ecies-string-key.d.ts.map +1 -1
  31. package/src/enumerations/ecies-string-key.js +21 -5
  32. package/src/enumerations/ecies-string-key.js.map +1 -1
  33. package/src/enumerations/guid-brand-type.d.ts +27 -0
  34. package/src/enumerations/guid-brand-type.d.ts.map +1 -0
  35. package/src/enumerations/guid-brand-type.js +28 -0
  36. package/src/enumerations/guid-brand-type.js.map +1 -0
  37. package/src/enumerations/guid-error-type.d.ts +7 -0
  38. package/src/enumerations/guid-error-type.d.ts.map +1 -0
  39. package/src/enumerations/guid-error-type.js +8 -0
  40. package/src/enumerations/guid-error-type.js.map +1 -0
  41. package/src/enumerations/id-provider-error-type.d.ts +43 -0
  42. package/src/enumerations/id-provider-error-type.d.ts.map +1 -0
  43. package/src/enumerations/id-provider-error-type.js +44 -0
  44. package/src/enumerations/id-provider-error-type.js.map +1 -0
  45. package/src/enumerations/index.d.ts +3 -0
  46. package/src/enumerations/index.d.ts.map +1 -1
  47. package/src/enumerations/index.js +15 -15
  48. package/src/enumerations/index.js.map +1 -1
  49. package/src/enumerations/invalid-email-type.js +2 -5
  50. package/src/enumerations/invalid-email-type.js.map +1 -1
  51. package/src/enumerations/length-encoding-type.js +2 -5
  52. package/src/enumerations/length-encoding-type.js.map +1 -1
  53. package/src/enumerations/length-error-type.js +2 -5
  54. package/src/enumerations/length-error-type.js.map +1 -1
  55. package/src/enumerations/member-error-type.js +3 -6
  56. package/src/enumerations/member-error-type.js.map +1 -1
  57. package/src/enumerations/member-type.js +3 -6
  58. package/src/enumerations/member-type.js.map +1 -1
  59. package/src/enumerations/password-login-error-type.js +2 -5
  60. package/src/enumerations/password-login-error-type.js.map +1 -1
  61. package/src/enumerations/pbkdf2-error-type.js +2 -5
  62. package/src/enumerations/pbkdf2-error-type.js.map +1 -1
  63. package/src/enumerations/pbkdf2-profile.js +2 -5
  64. package/src/enumerations/pbkdf2-profile.js.map +1 -1
  65. package/src/enumerations/secure-storage-error-type.js +2 -5
  66. package/src/enumerations/secure-storage-error-type.js.map +1 -1
  67. package/src/errors/disposed.d.ts +20 -2
  68. package/src/errors/disposed.d.ts.map +1 -1
  69. package/src/errors/disposed.js +24 -17
  70. package/src/errors/disposed.js.map +1 -1
  71. package/src/errors/ecies.d.ts +46 -1
  72. package/src/errors/ecies.d.ts.map +1 -1
  73. package/src/errors/ecies.js +65 -10
  74. package/src/errors/ecies.js.map +1 -1
  75. package/src/errors/guid.d.ts +44 -0
  76. package/src/errors/guid.d.ts.map +1 -0
  77. package/src/errors/guid.js +81 -0
  78. package/src/errors/guid.js.map +1 -0
  79. package/src/errors/id-provider.d.ts +23 -0
  80. package/src/errors/id-provider.d.ts.map +1 -0
  81. package/src/errors/id-provider.js +29 -0
  82. package/src/errors/id-provider.js.map +1 -0
  83. package/src/errors/index.d.ts +3 -0
  84. package/src/errors/index.d.ts.map +1 -1
  85. package/src/errors/index.js +9 -10
  86. package/src/errors/index.js.map +1 -1
  87. package/src/errors/invalid-email.js +5 -9
  88. package/src/errors/invalid-email.js.map +1 -1
  89. package/src/errors/length.js +5 -9
  90. package/src/errors/length.js.map +1 -1
  91. package/src/errors/member.js +5 -9
  92. package/src/errors/member.js.map +1 -1
  93. package/src/errors/pbkdf2.js +5 -9
  94. package/src/errors/pbkdf2.js.map +1 -1
  95. package/src/errors/secure-storage.js +6 -10
  96. package/src/errors/secure-storage.js.map +1 -1
  97. package/src/errors/simple-ecies.js +6 -10
  98. package/src/errors/simple-ecies.js.map +1 -1
  99. package/src/errors/simple-test-error.js +1 -5
  100. package/src/errors/simple-test-error.js.map +1 -1
  101. package/src/i18n-setup.js +29 -37
  102. package/src/i18n-setup.js.map +1 -1
  103. package/src/index.d.ts +10 -0
  104. package/src/index.d.ts.map +1 -1
  105. package/src/index.js +44 -57
  106. package/src/index.js.map +1 -1
  107. package/src/interfaces/checksum-config.js +1 -2
  108. package/src/interfaces/checksum-consts.js +1 -2
  109. package/src/interfaces/configuration-provenance.d.ts +51 -0
  110. package/src/interfaces/configuration-provenance.d.ts.map +1 -0
  111. package/src/interfaces/configuration-provenance.js +23 -0
  112. package/src/interfaces/configuration-provenance.js.map +1 -0
  113. package/src/interfaces/constants.d.ts +27 -1
  114. package/src/interfaces/constants.d.ts.map +1 -1
  115. package/src/interfaces/constants.js +1 -2
  116. package/src/interfaces/ecies-config.js +1 -2
  117. package/src/interfaces/ecies-consts.js +1 -2
  118. package/src/interfaces/ecies-file-service.js +1 -2
  119. package/src/interfaces/encrypted-chunk.js +1 -4
  120. package/src/interfaces/encrypted-chunk.js.map +1 -1
  121. package/src/interfaces/encryption-state.js +1 -4
  122. package/src/interfaces/encryption-state.js.map +1 -1
  123. package/src/interfaces/frontend-member-operational.js +1 -2
  124. package/src/interfaces/guid.d.ts +78 -0
  125. package/src/interfaces/guid.d.ts.map +1 -0
  126. package/src/interfaces/guid.js +2 -0
  127. package/src/interfaces/guid.js.map +1 -0
  128. package/src/interfaces/id-provider.d.ts +83 -0
  129. package/src/interfaces/id-provider.d.ts.map +1 -0
  130. package/src/interfaces/id-provider.js +35 -0
  131. package/src/interfaces/id-provider.js.map +1 -0
  132. package/src/interfaces/index.d.ts +1 -0
  133. package/src/interfaces/index.d.ts.map +1 -1
  134. package/src/interfaces/index.js +13 -15
  135. package/src/interfaces/index.js.map +1 -1
  136. package/src/interfaces/invariant.d.ts +46 -0
  137. package/src/interfaces/invariant.d.ts.map +1 -0
  138. package/src/interfaces/invariant.js +18 -0
  139. package/src/interfaces/invariant.js.map +1 -0
  140. package/src/interfaces/library-error.js +1 -2
  141. package/src/interfaces/member-storage.js +1 -2
  142. package/src/interfaces/member-with-mnemonic.js +1 -2
  143. package/src/interfaces/multi-recipient-chunk.d.ts +36 -12
  144. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -1
  145. package/src/interfaces/multi-recipient-chunk.js +36 -14
  146. package/src/interfaces/multi-recipient-chunk.js.map +1 -1
  147. package/src/interfaces/pbkdf2-config.js +1 -2
  148. package/src/interfaces/pbkdf2-consts.js +1 -2
  149. package/src/interfaces/pbkdf2-result.js +1 -2
  150. package/src/interfaces/stream-config.js +1 -4
  151. package/src/interfaces/stream-config.js.map +1 -1
  152. package/src/interfaces/stream-header.js +1 -4
  153. package/src/interfaces/stream-header.js.map +1 -1
  154. package/src/interfaces/stream-progress.js +1 -2
  155. package/src/lib/crypto-container.js +9 -13
  156. package/src/lib/crypto-container.js.map +1 -1
  157. package/src/lib/guid.d.ts +344 -0
  158. package/src/lib/guid.d.ts.map +1 -0
  159. package/src/lib/guid.js +914 -0
  160. package/src/lib/guid.js.map +1 -0
  161. package/src/lib/id-providers/custom-provider.d.ts +36 -0
  162. package/src/lib/id-providers/custom-provider.d.ts.map +1 -0
  163. package/src/lib/id-providers/custom-provider.js +71 -0
  164. package/src/lib/id-providers/custom-provider.js.map +1 -0
  165. package/src/lib/id-providers/guidv4-provider.d.ts +46 -0
  166. package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -0
  167. package/src/lib/id-providers/guidv4-provider.js +105 -0
  168. package/src/lib/id-providers/guidv4-provider.js.map +1 -0
  169. package/src/lib/id-providers/index.d.ts +30 -0
  170. package/src/lib/id-providers/index.d.ts.map +1 -0
  171. package/src/lib/id-providers/index.js +29 -0
  172. package/src/lib/id-providers/index.js.map +1 -0
  173. package/src/lib/id-providers/objectid-provider.d.ts +33 -0
  174. package/src/lib/id-providers/objectid-provider.d.ts.map +1 -0
  175. package/src/lib/id-providers/objectid-provider.js +79 -0
  176. package/src/lib/id-providers/objectid-provider.js.map +1 -0
  177. package/src/lib/id-providers/uuid-provider.d.ts +42 -0
  178. package/src/lib/id-providers/uuid-provider.d.ts.map +1 -0
  179. package/src/lib/id-providers/uuid-provider.js +96 -0
  180. package/src/lib/id-providers/uuid-provider.js.map +1 -0
  181. package/src/lib/index.d.ts +1 -0
  182. package/src/lib/index.d.ts.map +1 -1
  183. package/src/lib/index.js +2 -4
  184. package/src/lib/index.js.map +1 -1
  185. package/src/lib/invariant-validator.d.ts +59 -0
  186. package/src/lib/invariant-validator.d.ts.map +1 -0
  187. package/src/lib/invariant-validator.js +97 -0
  188. package/src/lib/invariant-validator.js.map +1 -0
  189. package/src/lib/invariants/encryption-algorithm-consistency.d.ts +17 -0
  190. package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +1 -0
  191. package/src/lib/invariants/encryption-algorithm-consistency.js +49 -0
  192. package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
  193. package/src/lib/invariants/index.d.ts +4 -0
  194. package/src/lib/invariants/index.d.ts.map +1 -0
  195. package/src/lib/invariants/index.js +4 -0
  196. package/src/lib/invariants/index.js.map +1 -0
  197. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +16 -0
  198. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +1 -0
  199. package/src/lib/invariants/pbkdf2-profiles-validity.js +58 -0
  200. package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -0
  201. package/src/lib/invariants/recipient-id-consistency.d.ts +18 -0
  202. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  203. package/src/lib/invariants/recipient-id-consistency.js +31 -0
  204. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  205. package/src/member.js +43 -48
  206. package/src/member.js.map +1 -1
  207. package/src/pbkdf2-profiles.js +1 -2
  208. package/src/phone-number.js +7 -11
  209. package/src/phone-number.js.map +1 -1
  210. package/src/regexes.js +3 -6
  211. package/src/regexes.js.map +1 -1
  212. package/src/secure-buffer.d.ts +17 -1
  213. package/src/secure-buffer.d.ts.map +1 -1
  214. package/src/secure-buffer.js +40 -22
  215. package/src/secure-buffer.js.map +1 -1
  216. package/src/secure-string.js +20 -24
  217. package/src/secure-string.js.map +1 -1
  218. package/src/services/aes-gcm.js +21 -25
  219. package/src/services/aes-gcm.js.map +1 -1
  220. package/src/services/chunk-processor.js +32 -36
  221. package/src/services/chunk-processor.js.map +1 -1
  222. package/src/services/ecies/crypto-core.js +33 -37
  223. package/src/services/ecies/crypto-core.js.map +1 -1
  224. package/src/services/ecies/example.js +37 -44
  225. package/src/services/ecies/example.js.map +1 -1
  226. package/src/services/ecies/file.js +1 -5
  227. package/src/services/ecies/file.js.map +1 -1
  228. package/src/services/ecies/index.js +10 -15
  229. package/src/services/ecies/index.js.map +1 -1
  230. package/src/services/ecies/integration.js +23 -28
  231. package/src/services/ecies/integration.js.map +1 -1
  232. package/src/services/ecies/interfaces.js +1 -2
  233. package/src/services/ecies/interfaces.js.map +1 -1
  234. package/src/services/ecies/manual-test.js +26 -34
  235. package/src/services/ecies/manual-test.js.map +1 -1
  236. package/src/services/ecies/multi-recipient.js +47 -51
  237. package/src/services/ecies/multi-recipient.js.map +1 -1
  238. package/src/services/ecies/service.js +27 -31
  239. package/src/services/ecies/service.js.map +1 -1
  240. package/src/services/ecies/signature.js +9 -13
  241. package/src/services/ecies/signature.js.map +1 -1
  242. package/src/services/ecies/single-recipient.js +42 -46
  243. package/src/services/ecies/single-recipient.js.map +1 -1
  244. package/src/services/encryption-stream.d.ts +3 -1
  245. package/src/services/encryption-stream.d.ts.map +1 -1
  246. package/src/services/encryption-stream.js +46 -48
  247. package/src/services/encryption-stream.js.map +1 -1
  248. package/src/services/index.js +5 -8
  249. package/src/services/index.js.map +1 -1
  250. package/src/services/multi-recipient-processor.d.ts +12 -2
  251. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  252. package/src/services/multi-recipient-processor.js +65 -56
  253. package/src/services/multi-recipient-processor.js.map +1 -1
  254. package/src/services/password-login.js +33 -37
  255. package/src/services/password-login.js.map +1 -1
  256. package/src/services/pbkdf2.js +8 -12
  257. package/src/services/pbkdf2.js.map +1 -1
  258. package/src/services/progress-tracker.js +5 -9
  259. package/src/services/progress-tracker.js.map +1 -1
  260. package/src/services/resumable-encryption.js +24 -28
  261. package/src/services/resumable-encryption.js.map +1 -1
  262. package/src/services/xor.js +1 -5
  263. package/src/services/xor.js.map +1 -1
  264. package/src/test-mocks/index.js +1 -4
  265. package/src/test-mocks/index.js.map +1 -1
  266. package/src/test-mocks/mock-frontend-member.js +20 -24
  267. package/src/test-mocks/mock-frontend-member.js.map +1 -1
  268. package/src/testing.js +1 -4
  269. package/src/testing.js.map +1 -1
  270. package/src/translations/de.d.ts +2 -1
  271. package/src/translations/de.d.ts.map +1 -1
  272. package/src/translations/de.js +190 -170
  273. package/src/translations/de.js.map +1 -1
  274. package/src/translations/en-US.d.ts +2 -1
  275. package/src/translations/en-US.d.ts.map +1 -1
  276. package/src/translations/en-US.js +190 -170
  277. package/src/translations/en-US.js.map +1 -1
  278. package/src/translations/es.d.ts +2 -1
  279. package/src/translations/es.d.ts.map +1 -1
  280. package/src/translations/es.js +190 -170
  281. package/src/translations/es.js.map +1 -1
  282. package/src/translations/fr.d.ts +2 -1
  283. package/src/translations/fr.d.ts.map +1 -1
  284. package/src/translations/fr.js +190 -170
  285. package/src/translations/fr.js.map +1 -1
  286. package/src/translations/ja.d.ts +2 -1
  287. package/src/translations/ja.d.ts.map +1 -1
  288. package/src/translations/ja.js +189 -170
  289. package/src/translations/ja.js.map +1 -1
  290. package/src/translations/uk.d.ts +2 -1
  291. package/src/translations/uk.d.ts.map +1 -1
  292. package/src/translations/uk.js +192 -170
  293. package/src/translations/uk.js.map +1 -1
  294. package/src/translations/zh-cn.d.ts +2 -1
  295. package/src/translations/zh-cn.d.ts.map +1 -1
  296. package/src/translations/zh-cn.js +189 -170
  297. package/src/translations/zh-cn.js.map +1 -1
  298. package/src/types/deep-partial.js +1 -2
  299. package/src/types.d.ts +31 -0
  300. package/src/types.d.ts.map +1 -1
  301. package/src/types.js +1 -2
  302. package/src/utils.js +59 -77
  303. package/src/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;OAeG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=constants.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ecies-config.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ecies-consts.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ecies-file-service.js.map
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHUNK_CONSTANTS = void 0;
4
1
  /**
5
2
  * Constants for chunk format
6
3
  */
7
- exports.CHUNK_CONSTANTS = {
4
+ export const CHUNK_CONSTANTS = {
8
5
  MAGIC: 0x45434945, // "ECIE"
9
6
  VERSION: 0x0001,
10
7
  HEADER_SIZE: 32,
@@ -1 +1 @@
1
- {"version":3,"file":"encrypted-chunk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/encrypted-chunk.ts"],"names":[],"mappings":";;;AA8CA;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,KAAK,EAAE,UAAU,EAAE,SAAS;IAC5B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE,EAAE,UAAU;CACrB,CAAC"}
1
+ {"version":3,"file":"encrypted-chunk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/encrypted-chunk.ts"],"names":[],"mappings":"AA8CA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,UAAU,EAAE,SAAS;IAC5B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE,EAAE,UAAU;CACrB,CAAC"}
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENCRYPTION_STATE_VERSION = void 0;
4
- exports.ENCRYPTION_STATE_VERSION = 1;
1
+ export const ENCRYPTION_STATE_VERSION = 1;
5
2
  //# sourceMappingURL=encryption-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption-state.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/encryption-state.ts"],"names":[],"mappings":";;;AAkBa,QAAA,wBAAwB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"encryption-state.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/encryption-state.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=frontend-member-operational.js.map
@@ -0,0 +1,78 @@
1
+ import { Base64Guid, BigIntGuid, FullHexGuid, RawGuidBuffer, ShortHexGuid } from '../types';
2
+ export interface IGuidV4 {
3
+ /**
4
+ * Returns the GUID as a raw buffer.
5
+ */
6
+ get asRawGuidBuffer(): RawGuidBuffer;
7
+ /**
8
+ * Returns the GUID as a full hex string.
9
+ */
10
+ get asFullHexGuid(): FullHexGuid;
11
+ /**
12
+ * Returns the GUID as a Uint8Array.
13
+ */
14
+ get asUint8Array(): Uint8Array;
15
+ /**
16
+ * Returns the GUID as a short hex string.
17
+ */
18
+ get asShortHexGuid(): ShortHexGuid;
19
+ /**
20
+ * Returns the GUID as a BigInt.
21
+ */
22
+ get asBigIntGuid(): BigIntGuid;
23
+ /**
24
+ * Returns the GUID as a Base64 string.
25
+ */
26
+ get asBase64Guid(): Base64Guid;
27
+ /**
28
+ * Returns the GUID as a base64 string
29
+ */
30
+ serialize(): string;
31
+ /**
32
+ * Returns the GUID as a JSON string
33
+ */
34
+ toJson(): string;
35
+ /**
36
+ * Returns the GUID as a Base64 string
37
+ */
38
+ toString(): Base64Guid;
39
+ /**
40
+ * Compares this GUID to another GUID
41
+ * @param other The GUID to compare to (can be null/undefined)
42
+ * @param constantTime Use constant-time comparison to prevent timing attacks
43
+ */
44
+ equals(other: IGuidV4 | null | undefined, constantTime?: boolean): boolean;
45
+ /**
46
+ * Creates a new GuidV4 instance with the same value as this one.
47
+ * @returns A new GuidV4 instance with identical value
48
+ */
49
+ clone(): IGuidV4;
50
+ /**
51
+ * Returns the hash code for this GUID based on its buffer content.
52
+ * Useful for using GUIDs as Map/Set keys.
53
+ * @returns A numeric hash code
54
+ */
55
+ hashCode(): number;
56
+ /**
57
+ * Checks if this GUID is empty (all zeros).
58
+ * @returns True if the GUID is all zeros, false otherwise
59
+ */
60
+ isEmpty(): boolean;
61
+ /**
62
+ * Extracts the RFC 4122 version from the GUID.
63
+ * @returns The version number (1-5) or undefined
64
+ */
65
+ getVersion(): number | undefined;
66
+ /**
67
+ * Validates that this GUID is a proper v4 GUID according to RFC 4122.
68
+ * @returns True if valid v4 GUID or boundary value, false otherwise
69
+ */
70
+ isValidV4(): boolean;
71
+ /**
72
+ * Compares two GUIDs for ordering.
73
+ * @param other The other GUID to compare to
74
+ * @returns -1 if this < other, 0 if equal, 1 if this > other
75
+ */
76
+ compareTo(other: IGuidV4): number;
77
+ }
78
+ //# sourceMappingURL=guid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/guid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,eAAe,IAAI,aAAa,CAAC;IACrC;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC;IACjC;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAC/B;;OAEG;IACH,IAAI,cAAc,IAAI,YAAY,CAAC;IACnC;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAC/B;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAE/B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,IAAI,UAAU,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3E;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS,CAAC;IACjC;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=guid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/guid.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Interface for ID providers that supply recipient identifiers.
3
+ * This allows the library to support various ID formats (ObjectID, GUID, UUID, custom).
4
+ */
5
+ export interface IIdProvider {
6
+ /**
7
+ * The fixed byte length of IDs produced by this provider.
8
+ * This determines the size of recipient ID fields in encrypted messages.
9
+ */
10
+ readonly byteLength: number;
11
+ /**
12
+ * A human-readable name for this ID provider type.
13
+ * Examples: 'ObjectID', 'GUIDv4', 'UUIDv4', 'Custom'
14
+ */
15
+ readonly name: string;
16
+ /**
17
+ * Generate a new random ID.
18
+ * @returns A newly generated ID as a Uint8Array of length `byteLength`
19
+ */
20
+ generate(): Uint8Array;
21
+ /**
22
+ * Validate that a given buffer is a properly formatted ID for this provider.
23
+ * This should check length, format constraints, and any version bits if applicable.
24
+ * @param id The ID buffer to validate
25
+ * @returns True if the ID is valid for this provider, false otherwise
26
+ */
27
+ validate(id: Uint8Array): boolean;
28
+ /**
29
+ * Serialize an ID buffer to a human-readable string representation.
30
+ * Examples: hex string, base64, ObjectID hex, UUID format with dashes
31
+ * @param id The ID buffer to serialize
32
+ * @returns A string representation of the ID
33
+ * @throws Error if the ID is invalid
34
+ */
35
+ serialize(id: Uint8Array): string;
36
+ /**
37
+ * Deserialize a string representation back to an ID buffer.
38
+ * This is the inverse of `serialize`.
39
+ * @param str The string representation of the ID
40
+ * @returns The ID as a Uint8Array of length `byteLength`
41
+ * @throws Error if the string is not a valid representation
42
+ */
43
+ deserialize(str: string): Uint8Array;
44
+ /**
45
+ * Compare two IDs for equality.
46
+ * Default implementation uses constant-time comparison.
47
+ * @param a First ID
48
+ * @param b Second ID
49
+ * @returns True if IDs are equal, false otherwise
50
+ */
51
+ equals(a: Uint8Array, b: Uint8Array): boolean;
52
+ /**
53
+ * Clone an ID buffer.
54
+ * Default implementation creates a defensive copy.
55
+ * @param id The ID to clone
56
+ * @returns A new Uint8Array with the same contents
57
+ */
58
+ clone(id: Uint8Array): Uint8Array;
59
+ }
60
+ /**
61
+ * Base class for ID providers with common utility methods.
62
+ */
63
+ export declare abstract class BaseIdProvider implements IIdProvider {
64
+ abstract readonly byteLength: number;
65
+ abstract readonly name: string;
66
+ abstract generate(): Uint8Array;
67
+ abstract validate(id: Uint8Array): boolean;
68
+ abstract serialize(id: Uint8Array): string;
69
+ abstract deserialize(str: string): Uint8Array;
70
+ /**
71
+ * Constant-time comparison to prevent timing attacks.
72
+ */
73
+ equals(a: Uint8Array, b: Uint8Array): boolean;
74
+ /**
75
+ * Create a defensive copy of an ID.
76
+ */
77
+ clone(id: Uint8Array): Uint8Array;
78
+ /**
79
+ * Validate ID length matches expected byte length.
80
+ */
81
+ protected validateLength(id: Uint8Array, context: string): void;
82
+ }
83
+ //# sourceMappingURL=id-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/id-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,IAAI,UAAU,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAErC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,CAAC;CACnC;AAED;;GAEG;AACH,8BAAsB,cAAe,YAAW,WAAW;IACzD,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,QAAQ,IAAI,UAAU;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAC1C,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAE7C;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO;IAY7C;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IAIjC;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAYhE"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Base class for ID providers with common utility methods.
3
+ */
4
+ export class BaseIdProvider {
5
+ /**
6
+ * Constant-time comparison to prevent timing attacks.
7
+ */
8
+ equals(a, b) {
9
+ if (a.length !== b.length) {
10
+ return false;
11
+ }
12
+ let diff = 0;
13
+ for (let i = 0; i < a.length; i++) {
14
+ diff |= a[i] ^ b[i];
15
+ }
16
+ return diff === 0;
17
+ }
18
+ /**
19
+ * Create a defensive copy of an ID.
20
+ */
21
+ clone(id) {
22
+ return new Uint8Array(id);
23
+ }
24
+ /**
25
+ * Validate ID length matches expected byte length.
26
+ */
27
+ validateLength(id, context) {
28
+ if (id.length !== this.byteLength) {
29
+ const { IdProviderError } = require('../errors/id-provider');
30
+ const { IdProviderErrorType } = require('../enumerations/id-provider-error-type');
31
+ throw new IdProviderError(IdProviderErrorType.InvalidLength, undefined, undefined, { context, expected: this.byteLength, actual: id.length });
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=id-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/id-provider.ts"],"names":[],"mappings":"AAmEA;;GAEG;AACH,MAAM,OAAgB,cAAc;IASlC;;OAEG;IACH,MAAM,CAAC,CAAa,EAAE,CAAa;QACjC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAc;QAClB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,EAAc,EAAE,OAAe;QACtD,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC7D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAClF,MAAM,IAAI,eAAe,CACvB,mBAAmB,CAAC,aAAa,EACjC,SAAS,EACT,SAAS,EACT,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -5,6 +5,7 @@ export * from './ecies-config';
5
5
  export * from './ecies-consts';
6
6
  export * from './ecies-file-service';
7
7
  export * from './frontend-member-operational';
8
+ export * from './guid';
8
9
  export * from './member-storage';
9
10
  export * from './member-with-mnemonic';
10
11
  export * from './pbkdf2-config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -1,16 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./checksum-config"), exports);
5
- tslib_1.__exportStar(require("./checksum-consts"), exports);
6
- tslib_1.__exportStar(require("./constants"), exports);
7
- tslib_1.__exportStar(require("./ecies-config"), exports);
8
- tslib_1.__exportStar(require("./ecies-consts"), exports);
9
- tslib_1.__exportStar(require("./ecies-file-service"), exports);
10
- tslib_1.__exportStar(require("./frontend-member-operational"), exports);
11
- tslib_1.__exportStar(require("./member-storage"), exports);
12
- tslib_1.__exportStar(require("./member-with-mnemonic"), exports);
13
- tslib_1.__exportStar(require("./pbkdf2-config"), exports);
14
- tslib_1.__exportStar(require("./pbkdf2-consts"), exports);
15
- tslib_1.__exportStar(require("./pbkdf2-result"), exports);
1
+ export * from './checksum-config';
2
+ export * from './checksum-consts';
3
+ export * from './constants';
4
+ export * from './ecies-config';
5
+ export * from './ecies-consts';
6
+ export * from './ecies-file-service';
7
+ export * from './frontend-member-operational';
8
+ export * from './guid';
9
+ export * from './member-storage';
10
+ export * from './member-with-mnemonic';
11
+ export * from './pbkdf2-config';
12
+ export * from './pbkdf2-consts';
13
+ export * from './pbkdf2-result';
16
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,+DAAqC;AAErC,wEAA8C;AAC9C,2DAAiC;AACjC,iEAAuC;AACvC,0DAAgC;AAChC,0DAAgC;AAChC,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { IConstants } from './constants';
2
+ /**
3
+ * An invariant is a relationship between configuration values that must always hold true.
4
+ * Unlike simple property validation, invariants check consistency across multiple related values.
5
+ *
6
+ * Example: MEMBER_ID_LENGTH must equal idProvider.byteLength
7
+ *
8
+ * Invariants help catch configuration errors that simple property validation would miss,
9
+ * such as the 12 vs 32 byte discrepancy we encountered.
10
+ */
11
+ export interface IInvariant {
12
+ /**
13
+ * Unique name for this invariant (used in error messages)
14
+ */
15
+ readonly name: string;
16
+ /**
17
+ * Human-readable description of what this invariant validates
18
+ */
19
+ readonly description: string;
20
+ /**
21
+ * Check if the invariant holds for the given configuration
22
+ * @returns true if invariant is satisfied, false otherwise
23
+ */
24
+ check(config: IConstants): boolean;
25
+ /**
26
+ * Generate a detailed error message explaining why the invariant failed
27
+ * @param config The configuration that failed validation
28
+ * @returns Error message with actual vs expected values
29
+ */
30
+ errorMessage(config: IConstants): string;
31
+ }
32
+ /**
33
+ * Base class for invariants with common utilities
34
+ */
35
+ export declare abstract class BaseInvariant implements IInvariant {
36
+ readonly name: string;
37
+ readonly description: string;
38
+ constructor(name: string, description: string);
39
+ abstract check(config: IConstants): boolean;
40
+ abstract errorMessage(config: IConstants): string;
41
+ /**
42
+ * Helper to format error messages consistently
43
+ */
44
+ protected formatError(property1: string, value1: unknown, property2: string, value2: unknown): string;
45
+ }
46
+ //# sourceMappingURL=invariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/invariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAEnC;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,8BAAsB,aAAc,YAAW,UAAU;aAErC,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,MAAM;gBADnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM;IAGrC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAC3C,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAEjD;;OAEG;IACH,SAAS,CAAC,WAAW,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,GACd,MAAM;CAGV"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Base class for invariants with common utilities
3
+ */
4
+ export class BaseInvariant {
5
+ name;
6
+ description;
7
+ constructor(name, description) {
8
+ this.name = name;
9
+ this.description = description;
10
+ }
11
+ /**
12
+ * Helper to format error messages consistently
13
+ */
14
+ formatError(property1, value1, property2, value2) {
15
+ return `Invariant '${this.name}' failed: ${property1} (${value1}) must equal ${property2} (${value2})`;
16
+ }
17
+ }
18
+ //# sourceMappingURL=invariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariant.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/invariant.ts"],"names":[],"mappings":"AAoCA;;GAEG;AACH,MAAM,OAAgB,aAAa;IAEf;IACA;IAFlB,YACkB,IAAY,EACZ,WAAmB;QADnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAQ;IAClC,CAAC;IAKJ;;OAEG;IACO,WAAW,CACnB,SAAiB,EACjB,MAAe,EACf,SAAiB,EACjB,MAAe;QAEf,OAAO,cAAc,IAAI,CAAC,IAAI,aAAa,SAAS,KAAK,MAAM,gBAAgB,SAAS,KAAK,MAAM,GAAG,CAAC;IACzG,CAAC;CACF"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=library-error.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=member-storage.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=member-with-mnemonic.js.map
@@ -29,7 +29,7 @@ export interface IMultiRecipientChunkHeader {
29
29
  * Recipient header (variable size)
30
30
  */
31
31
  export interface IRecipientHeader {
32
- /** Recipient ID (32 bytes) */
32
+ /** Recipient ID (size determined by ID provider) */
33
33
  id: Uint8Array;
34
34
  /** Encrypted symmetric key size (2 bytes) */
35
35
  keySize: number;
@@ -50,16 +50,40 @@ export interface IMultiRecipientChunk {
50
50
  recipientCount: number;
51
51
  }
52
52
  /**
53
- * Constants for multi-recipient format
53
+ * Multi-recipient format constants structure
54
54
  */
55
- export declare const MULTI_RECIPIENT_CONSTANTS: {
56
- readonly MAGIC: 1297237315;
57
- readonly VERSION: 1;
58
- readonly HEADER_SIZE: 32;
59
- readonly RECIPIENT_ID_SIZE: 32;
60
- readonly KEY_SIZE_BYTES: 2;
61
- readonly FLAG_IS_LAST: 1;
62
- readonly FLAG_HAS_CHECKSUM: 2;
63
- readonly MAX_RECIPIENTS: 65535;
64
- };
55
+ export interface IMultiRecipientConstants {
56
+ readonly MAGIC: number;
57
+ readonly VERSION: number;
58
+ readonly HEADER_SIZE: number;
59
+ readonly RECIPIENT_ID_SIZE: number;
60
+ readonly KEY_SIZE_BYTES: number;
61
+ readonly FLAG_IS_LAST: number;
62
+ readonly FLAG_HAS_CHECKSUM: number;
63
+ readonly MAX_RECIPIENTS: number;
64
+ }
65
+ /**
66
+ * Get multi-recipient constants for a specific recipient ID size.
67
+ * This allows the format to adapt to different ID providers.
68
+ *
69
+ * @param recipientIdSize - The byte length of recipient IDs (from ID provider)
70
+ * @returns Frozen constants object for the multi-recipient format
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // For ObjectID (12 bytes)
75
+ * const constants = getMultiRecipientConstants(12);
76
+ *
77
+ * // For GUID (16 bytes)
78
+ * const constants = getMultiRecipientConstants(16);
79
+ * ```
80
+ */
81
+ export declare function getMultiRecipientConstants(recipientIdSize: number): IMultiRecipientConstants;
82
+ /**
83
+ * Default multi-recipient constants using ObjectID size (12 bytes).
84
+ *
85
+ * @deprecated Use getMultiRecipientConstants(config.idProvider.byteLength) instead
86
+ * for dynamic ID size support. This constant is provided for backward compatibility only.
87
+ */
88
+ export declare const MULTI_RECIPIENT_CONSTANTS: IMultiRecipientConstants;
65
89
  //# sourceMappingURL=multi-recipient-chunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-recipient-chunk.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/multi-recipient-chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,UAAU,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
1
+ {"version":3,"file":"multi-recipient-chunk.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/multi-recipient-chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,EAAE,EAAE,UAAU,CAAC;IACf,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,UAAU,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,GACtB,wBAAwB,CAiB1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,0BAAiC,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Multi-recipient encrypted chunk format
4
3
  *
@@ -7,19 +6,42 @@
7
6
  * - Recipient headers (variable): encrypted symmetric keys for each recipient
8
7
  * - Encrypted data (variable): data encrypted with symmetric key
9
8
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.MULTI_RECIPIENT_CONSTANTS = void 0;
12
9
  /**
13
- * Constants for multi-recipient format
10
+ * Get multi-recipient constants for a specific recipient ID size.
11
+ * This allows the format to adapt to different ID providers.
12
+ *
13
+ * @param recipientIdSize - The byte length of recipient IDs (from ID provider)
14
+ * @returns Frozen constants object for the multi-recipient format
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // For ObjectID (12 bytes)
19
+ * const constants = getMultiRecipientConstants(12);
20
+ *
21
+ * // For GUID (16 bytes)
22
+ * const constants = getMultiRecipientConstants(16);
23
+ * ```
24
+ */
25
+ export function getMultiRecipientConstants(recipientIdSize) {
26
+ if (!Number.isInteger(recipientIdSize) || recipientIdSize < 1 || recipientIdSize > 255) {
27
+ throw new Error(`Invalid recipientIdSize: ${recipientIdSize}. Must be an integer between 1 and 255.`);
28
+ }
29
+ return Object.freeze({
30
+ MAGIC: 0x4D524543, // "MREC"
31
+ VERSION: 0x0001,
32
+ HEADER_SIZE: 32,
33
+ RECIPIENT_ID_SIZE: recipientIdSize,
34
+ KEY_SIZE_BYTES: 2,
35
+ FLAG_IS_LAST: 0x01,
36
+ FLAG_HAS_CHECKSUM: 0x02,
37
+ MAX_RECIPIENTS: 65535,
38
+ });
39
+ }
40
+ /**
41
+ * Default multi-recipient constants using ObjectID size (12 bytes).
42
+ *
43
+ * @deprecated Use getMultiRecipientConstants(config.idProvider.byteLength) instead
44
+ * for dynamic ID size support. This constant is provided for backward compatibility only.
14
45
  */
15
- exports.MULTI_RECIPIENT_CONSTANTS = {
16
- MAGIC: 0x4D524543, // "MREC"
17
- VERSION: 0x0001,
18
- HEADER_SIZE: 32,
19
- RECIPIENT_ID_SIZE: 32,
20
- KEY_SIZE_BYTES: 2,
21
- FLAG_IS_LAST: 0x01,
22
- FLAG_HAS_CHECKSUM: 0x02,
23
- MAX_RECIPIENTS: 65535,
24
- };
46
+ export const MULTI_RECIPIENT_CONSTANTS = getMultiRecipientConstants(12);
25
47
  //# sourceMappingURL=multi-recipient-chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-recipient-chunk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/multi-recipient-chunk.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAgDH;;GAEG;AACU,QAAA,yBAAyB,GAAG;IACvC,KAAK,EAAE,UAAU,EAAE,SAAS;IAC5B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,EAAE;IACrB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,KAAK;CACb,CAAC"}
1
+ {"version":3,"file":"multi-recipient-chunk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/multi-recipient-chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA8DH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,eAAuB;IAEvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CACb,4BAA4B,eAAe,yCAAyC,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,UAAU,EAAE,SAAS;QAC5B,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,eAAe;QAClC,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=pbkdf2-config.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=pbkdf2-consts.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=pbkdf2-result.js.map
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_STREAM_CONFIG = void 0;
4
1
  /**
5
2
  * Default streaming configuration
6
3
  */
7
- exports.DEFAULT_STREAM_CONFIG = {
4
+ export const DEFAULT_STREAM_CONFIG = {
8
5
  chunkSize: 1024 * 1024, // 1MB
9
6
  includeChecksums: false,
10
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stream-config.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/stream-config.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACU,QAAA,qBAAqB,GAAkB;IAClD,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;IAC9B,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
1
+ {"version":3,"file":"stream-config.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/stream-config.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;IAC9B,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STREAM_HEADER_CONSTANTS = void 0;
4
1
  /**
5
2
  * Constants for stream header format
6
3
  */
7
- exports.STREAM_HEADER_CONSTANTS = {
4
+ export const STREAM_HEADER_CONSTANTS = {
8
5
  MAGIC: 0x45435354, // "ECST"
9
6
  VERSION: 0x0001,
10
7
  HEADER_SIZE: 128,
@@ -1 +1 @@
1
- {"version":3,"file":"stream-header.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/stream-header.ts"],"names":[],"mappings":";;;AAsBA;;GAEG;AACU,QAAA,uBAAuB,GAAG;IACrC,KAAK,EAAE,UAAU,EAAE,SAAS;IAC5B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,GAAG;CACR,CAAC"}
1
+ {"version":3,"file":"stream-header.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/stream-header.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,UAAU,EAAE,SAAS;IAC5B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,GAAG;CACR,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=stream-progress.js.map