@digitaldefiance/ecies-lib 4.4.1 → 4.4.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 (590) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/package.json +10 -7
  4. package/src/builders/ecies-builder.ts +39 -0
  5. package/src/builders/{index.js → index.ts} +1 -1
  6. package/src/builders/member-builder.ts +155 -0
  7. package/src/constants.ts +609 -0
  8. package/src/core/errors/crypto-error.ts +78 -0
  9. package/src/core/{index.js → index.ts} +1 -1
  10. package/src/core/types/result.ts +19 -0
  11. package/src/email-string.ts +82 -0
  12. package/src/enumerations/disposed-error-type.ts +11 -0
  13. package/src/enumerations/ecies-cipher-suite.ts +4 -0
  14. package/src/enumerations/ecies-encryption-type.ts +41 -0
  15. package/src/enumerations/ecies-error-type.ts +43 -0
  16. package/src/enumerations/ecies-string-key.ts +205 -0
  17. package/src/enumerations/ecies-version.ts +3 -0
  18. package/src/enumerations/guid-brand-type.ts +26 -0
  19. package/src/enumerations/guid-error-type.ts +6 -0
  20. package/src/enumerations/id-provider-error-type.ts +50 -0
  21. package/src/enumerations/{index.js → index.ts} +0 -1
  22. package/src/enumerations/invalid-email-type.ts +5 -0
  23. package/src/enumerations/length-encoding-type.ts +6 -0
  24. package/src/enumerations/length-error-type.ts +5 -0
  25. package/src/enumerations/member-error-type.ts +106 -0
  26. package/src/enumerations/{member-type.d.ts → member-type.ts} +7 -6
  27. package/src/enumerations/password-login-error-type.ts +4 -0
  28. package/src/enumerations/pbkdf2-error-type.ts +5 -0
  29. package/src/enumerations/pbkdf2-profile.ts +5 -0
  30. package/src/enumerations/secure-storage-error-type.ts +5 -0
  31. package/src/errors/disposed.ts +36 -0
  32. package/src/errors/ecies.ts +153 -0
  33. package/src/errors/guid.ts +130 -0
  34. package/src/errors/id-provider.ts +40 -0
  35. package/src/errors/{index.d.ts → index.ts} +0 -1
  36. package/src/errors/invalid-email.ts +23 -0
  37. package/src/errors/length.ts +19 -0
  38. package/src/errors/member.ts +20 -0
  39. package/src/errors/pbkdf2.ts +20 -0
  40. package/src/errors/secure-storage.ts +17 -0
  41. package/src/errors/simple-ecies.ts +21 -0
  42. package/src/errors/simple-test-error.ts +6 -0
  43. package/src/i18n-setup.ts +130 -0
  44. package/src/{index.js → index.ts} +64 -7
  45. package/src/interfaces/checksum-config.ts +4 -0
  46. package/src/interfaces/checksum-consts.ts +13 -0
  47. package/src/interfaces/configuration-provenance.ts +54 -0
  48. package/src/interfaces/constants.ts +75 -0
  49. package/src/interfaces/ecies-config.ts +8 -0
  50. package/src/interfaces/ecies-consts.ts +74 -0
  51. package/src/interfaces/ecies-file-service.ts +6 -0
  52. package/src/interfaces/encrypted-chunk.ts +64 -0
  53. package/src/interfaces/encryption-state.ts +19 -0
  54. package/src/interfaces/frontend-member-operational.ts +77 -0
  55. package/src/interfaces/guid.ts +86 -0
  56. package/src/interfaces/id-provider.ts +152 -0
  57. package/src/interfaces/{index.d.ts → index.ts} +0 -1
  58. package/src/interfaces/invariant.ts +60 -0
  59. package/src/interfaces/library-error.ts +23 -0
  60. package/src/interfaces/{member-storage.d.ts → member-storage.ts} +11 -10
  61. package/src/interfaces/{member-with-mnemonic.d.ts → member-with-mnemonic.ts} +3 -3
  62. package/src/interfaces/member.ts +84 -0
  63. package/src/interfaces/multi-recipient-chunk.ts +61 -0
  64. package/src/interfaces/pbkdf2-config.ts +6 -0
  65. package/src/interfaces/pbkdf2-consts.ts +10 -0
  66. package/src/interfaces/pbkdf2-result.ts +5 -0
  67. package/src/interfaces/stream-config.ts +17 -0
  68. package/src/interfaces/stream-header.ts +34 -0
  69. package/src/interfaces/stream-progress.ts +31 -0
  70. package/src/lib/configuration-provenance-utils.ts +26 -0
  71. package/src/lib/crypto-container.ts +64 -0
  72. package/src/lib/guid.ts +1097 -0
  73. package/src/lib/id-providers/custom-provider.ts +109 -0
  74. package/src/lib/id-providers/guidv4-provider.ts +141 -0
  75. package/src/lib/id-providers/{index.d.ts → index.ts} +6 -5
  76. package/src/lib/id-providers/objectid-provider.ts +125 -0
  77. package/src/lib/id-providers/uuid-provider.ts +133 -0
  78. package/src/lib/{index.js → index.ts} +2 -2
  79. package/src/lib/invariant-validator.ts +133 -0
  80. package/src/lib/invariants/encryption-algorithm-consistency.ts +73 -0
  81. package/src/lib/invariants/{index.js → index.ts} +0 -1
  82. package/src/lib/invariants/pbkdf2-profiles-validity.ts +78 -0
  83. package/src/lib/invariants/recipient-id-consistency.ts +46 -0
  84. package/src/lib/multi-recipient-chunk-utils.ts +63 -0
  85. package/src/member.ts +495 -0
  86. package/src/{pbkdf2-profiles.d.ts → pbkdf2-profiles.ts} +2 -2
  87. package/src/phone-number.ts +18 -0
  88. package/src/regexes.ts +10 -0
  89. package/src/secure-buffer.ts +226 -0
  90. package/src/secure-string.ts +244 -0
  91. package/src/services/aes-gcm.ts +220 -0
  92. package/src/services/chunk-processor.ts +188 -0
  93. package/src/services/ecies/README.md +147 -0
  94. package/src/services/ecies/crypto-core.ts +292 -0
  95. package/src/services/ecies/example.ts +185 -0
  96. package/src/services/ecies/file.ts +167 -0
  97. package/src/services/ecies/{index.js → index.ts} +2 -1
  98. package/src/services/ecies/integration.ts +241 -0
  99. package/src/services/ecies/interfaces.ts +62 -0
  100. package/src/services/ecies/manual-test.ts +219 -0
  101. package/src/services/ecies/multi-recipient.ts +545 -0
  102. package/src/services/ecies/service.ts +370 -0
  103. package/src/services/ecies/signature.ts +93 -0
  104. package/src/services/ecies/single-recipient.ts +476 -0
  105. package/src/services/encryption-stream.ts +435 -0
  106. package/src/services/{index.js → index.ts} +0 -1
  107. package/src/services/multi-recipient-processor.ts +377 -0
  108. package/src/services/password-login.ts +226 -0
  109. package/src/services/pbkdf2.ts +169 -0
  110. package/src/services/progress-tracker.ts +128 -0
  111. package/src/services/resumable-encryption.ts +135 -0
  112. package/src/services/xor.ts +65 -0
  113. package/src/test-mocks/index.ts +1 -0
  114. package/src/test-mocks/mock-frontend-member.ts +276 -0
  115. package/src/{testing.js → testing.ts} +0 -1
  116. package/src/translations/{de.js → de.ts} +112 -56
  117. package/src/translations/{en-US.js → en-US.ts} +116 -58
  118. package/src/translations/{es.js → es.ts} +134 -67
  119. package/src/translations/{fr.js → fr.ts} +129 -64
  120. package/src/translations/{ja.js → ja.ts} +111 -55
  121. package/src/translations/{uk.js → uk.ts} +132 -67
  122. package/src/translations/{zh-cn.js → zh-cn.ts} +60 -29
  123. package/src/types/deep-partial.ts +11 -0
  124. package/src/{types.d.ts → types.ts} +15 -7
  125. package/src/utils/encryption-type-utils.ts +76 -0
  126. package/src/utils.ts +329 -0
  127. package/src/builders/ecies-builder.d.ts +0 -18
  128. package/src/builders/ecies-builder.d.ts.map +0 -1
  129. package/src/builders/ecies-builder.js +0 -30
  130. package/src/builders/ecies-builder.js.map +0 -1
  131. package/src/builders/index.d.ts +0 -6
  132. package/src/builders/index.d.ts.map +0 -1
  133. package/src/builders/index.js.map +0 -1
  134. package/src/builders/member-builder.d.ts +0 -51
  135. package/src/builders/member-builder.d.ts.map +0 -1
  136. package/src/builders/member-builder.js +0 -97
  137. package/src/builders/member-builder.js.map +0 -1
  138. package/src/constants.d.ts +0 -60
  139. package/src/constants.d.ts.map +0 -1
  140. package/src/constants.js +0 -446
  141. package/src/constants.js.map +0 -1
  142. package/src/core/errors/crypto-error.d.ts +0 -34
  143. package/src/core/errors/crypto-error.d.ts.map +0 -1
  144. package/src/core/errors/crypto-error.js +0 -56
  145. package/src/core/errors/crypto-error.js.map +0 -1
  146. package/src/core/index.d.ts +0 -6
  147. package/src/core/index.d.ts.map +0 -1
  148. package/src/core/index.js.map +0 -1
  149. package/src/core/types/result.d.ts +0 -16
  150. package/src/core/types/result.d.ts.map +0 -1
  151. package/src/core/types/result.js +0 -12
  152. package/src/core/types/result.js.map +0 -1
  153. package/src/email-string.d.ts +0 -42
  154. package/src/email-string.d.ts.map +0 -1
  155. package/src/email-string.js +0 -67
  156. package/src/email-string.js.map +0 -1
  157. package/src/enumerations/disposed-error-type.d.ts +0 -12
  158. package/src/enumerations/disposed-error-type.d.ts.map +0 -1
  159. package/src/enumerations/disposed-error-type.js +0 -13
  160. package/src/enumerations/disposed-error-type.js.map +0 -1
  161. package/src/enumerations/ecies-cipher-suite.d.ts +0 -4
  162. package/src/enumerations/ecies-cipher-suite.d.ts.map +0 -1
  163. package/src/enumerations/ecies-cipher-suite.js +0 -6
  164. package/src/enumerations/ecies-cipher-suite.js.map +0 -1
  165. package/src/enumerations/ecies-encryption-type.d.ts +0 -11
  166. package/src/enumerations/ecies-encryption-type.d.ts.map +0 -1
  167. package/src/enumerations/ecies-encryption-type.js +0 -27
  168. package/src/enumerations/ecies-encryption-type.js.map +0 -1
  169. package/src/enumerations/ecies-error-type.d.ts +0 -44
  170. package/src/enumerations/ecies-error-type.d.ts.map +0 -1
  171. package/src/enumerations/ecies-error-type.js +0 -45
  172. package/src/enumerations/ecies-error-type.js.map +0 -1
  173. package/src/enumerations/ecies-string-key.d.ts +0 -192
  174. package/src/enumerations/ecies-string-key.d.ts.map +0 -1
  175. package/src/enumerations/ecies-string-key.js +0 -199
  176. package/src/enumerations/ecies-string-key.js.map +0 -1
  177. package/src/enumerations/ecies-version.d.ts +0 -4
  178. package/src/enumerations/ecies-version.d.ts.map +0 -1
  179. package/src/enumerations/ecies-version.js +0 -5
  180. package/src/enumerations/ecies-version.js.map +0 -1
  181. package/src/enumerations/guid-brand-type.d.ts +0 -27
  182. package/src/enumerations/guid-brand-type.d.ts.map +0 -1
  183. package/src/enumerations/guid-brand-type.js +0 -28
  184. package/src/enumerations/guid-brand-type.js.map +0 -1
  185. package/src/enumerations/guid-error-type.d.ts +0 -7
  186. package/src/enumerations/guid-error-type.d.ts.map +0 -1
  187. package/src/enumerations/guid-error-type.js +0 -8
  188. package/src/enumerations/guid-error-type.js.map +0 -1
  189. package/src/enumerations/id-provider-error-type.d.ts +0 -43
  190. package/src/enumerations/id-provider-error-type.d.ts.map +0 -1
  191. package/src/enumerations/id-provider-error-type.js +0 -44
  192. package/src/enumerations/id-provider-error-type.js.map +0 -1
  193. package/src/enumerations/index.d.ts +0 -18
  194. package/src/enumerations/index.d.ts.map +0 -1
  195. package/src/enumerations/index.js.map +0 -1
  196. package/src/enumerations/invalid-email-type.d.ts +0 -6
  197. package/src/enumerations/invalid-email-type.d.ts.map +0 -1
  198. package/src/enumerations/invalid-email-type.js +0 -7
  199. package/src/enumerations/invalid-email-type.js.map +0 -1
  200. package/src/enumerations/length-encoding-type.d.ts +0 -7
  201. package/src/enumerations/length-encoding-type.d.ts.map +0 -1
  202. package/src/enumerations/length-encoding-type.js +0 -8
  203. package/src/enumerations/length-encoding-type.js.map +0 -1
  204. package/src/enumerations/length-error-type.d.ts +0 -6
  205. package/src/enumerations/length-error-type.d.ts.map +0 -1
  206. package/src/enumerations/length-error-type.js +0 -7
  207. package/src/enumerations/length-error-type.js.map +0 -1
  208. package/src/enumerations/member-error-type.d.ts +0 -87
  209. package/src/enumerations/member-error-type.d.ts.map +0 -1
  210. package/src/enumerations/member-error-type.js +0 -88
  211. package/src/enumerations/member-error-type.js.map +0 -1
  212. package/src/enumerations/member-type.d.ts.map +0 -1
  213. package/src/enumerations/member-type.js +0 -16
  214. package/src/enumerations/member-type.js.map +0 -1
  215. package/src/enumerations/password-login-error-type.d.ts +0 -5
  216. package/src/enumerations/password-login-error-type.d.ts.map +0 -1
  217. package/src/enumerations/password-login-error-type.js +0 -6
  218. package/src/enumerations/password-login-error-type.js.map +0 -1
  219. package/src/enumerations/pbkdf2-error-type.d.ts +0 -6
  220. package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
  221. package/src/enumerations/pbkdf2-error-type.js +0 -7
  222. package/src/enumerations/pbkdf2-error-type.js.map +0 -1
  223. package/src/enumerations/pbkdf2-profile.d.ts +0 -6
  224. package/src/enumerations/pbkdf2-profile.d.ts.map +0 -1
  225. package/src/enumerations/pbkdf2-profile.js +0 -7
  226. package/src/enumerations/pbkdf2-profile.js.map +0 -1
  227. package/src/enumerations/secure-storage-error-type.d.ts +0 -6
  228. package/src/enumerations/secure-storage-error-type.d.ts.map +0 -1
  229. package/src/enumerations/secure-storage-error-type.js +0 -7
  230. package/src/enumerations/secure-storage-error-type.js.map +0 -1
  231. package/src/errors/disposed.d.ts +0 -22
  232. package/src/errors/disposed.d.ts.map +0 -1
  233. package/src/errors/disposed.js +0 -28
  234. package/src/errors/disposed.js.map +0 -1
  235. package/src/errors/ecies.d.ts +0 -52
  236. package/src/errors/ecies.d.ts.map +0 -1
  237. package/src/errors/ecies.js +0 -78
  238. package/src/errors/ecies.js.map +0 -1
  239. package/src/errors/guid.d.ts +0 -49
  240. package/src/errors/guid.d.ts.map +0 -1
  241. package/src/errors/guid.js +0 -96
  242. package/src/errors/guid.js.map +0 -1
  243. package/src/errors/id-provider.d.ts +0 -23
  244. package/src/errors/id-provider.d.ts.map +0 -1
  245. package/src/errors/id-provider.js +0 -29
  246. package/src/errors/id-provider.js.map +0 -1
  247. package/src/errors/index.d.ts.map +0 -1
  248. package/src/errors/index.js +0 -10
  249. package/src/errors/index.js.map +0 -1
  250. package/src/errors/invalid-email.d.ts +0 -8
  251. package/src/errors/invalid-email.d.ts.map +0 -1
  252. package/src/errors/invalid-email.js +0 -15
  253. package/src/errors/invalid-email.js.map +0 -1
  254. package/src/errors/length.d.ts +0 -7
  255. package/src/errors/length.d.ts.map +0 -1
  256. package/src/errors/length.js +0 -11
  257. package/src/errors/length.js.map +0 -1
  258. package/src/errors/member.d.ts +0 -7
  259. package/src/errors/member.d.ts.map +0 -1
  260. package/src/errors/member.js +0 -11
  261. package/src/errors/member.js.map +0 -1
  262. package/src/errors/pbkdf2.d.ts +0 -7
  263. package/src/errors/pbkdf2.d.ts.map +0 -1
  264. package/src/errors/pbkdf2.js +0 -11
  265. package/src/errors/pbkdf2.js.map +0 -1
  266. package/src/errors/secure-storage.d.ts +0 -7
  267. package/src/errors/secure-storage.d.ts.map +0 -1
  268. package/src/errors/secure-storage.js +0 -12
  269. package/src/errors/secure-storage.js.map +0 -1
  270. package/src/errors/simple-ecies.d.ts +0 -6
  271. package/src/errors/simple-ecies.d.ts.map +0 -1
  272. package/src/errors/simple-ecies.js +0 -12
  273. package/src/errors/simple-ecies.js.map +0 -1
  274. package/src/errors/simple-test-error.d.ts +0 -4
  275. package/src/errors/simple-test-error.d.ts.map +0 -1
  276. package/src/errors/simple-test-error.js +0 -7
  277. package/src/errors/simple-test-error.js.map +0 -1
  278. package/src/i18n-setup.d.ts +0 -32
  279. package/src/i18n-setup.d.ts.map +0 -1
  280. package/src/i18n-setup.js +0 -101
  281. package/src/i18n-setup.js.map +0 -1
  282. package/src/index.d.ts +0 -80
  283. package/src/index.d.ts.map +0 -1
  284. package/src/index.js.map +0 -1
  285. package/src/interfaces/checksum-config.d.ts +0 -5
  286. package/src/interfaces/checksum-config.d.ts.map +0 -1
  287. package/src/interfaces/checksum-config.js +0 -2
  288. package/src/interfaces/checksum-config.js.map +0 -1
  289. package/src/interfaces/checksum-consts.d.ts +0 -11
  290. package/src/interfaces/checksum-consts.d.ts.map +0 -1
  291. package/src/interfaces/checksum-consts.js +0 -2
  292. package/src/interfaces/checksum-consts.js.map +0 -1
  293. package/src/interfaces/configuration-provenance.d.ts +0 -43
  294. package/src/interfaces/configuration-provenance.d.ts.map +0 -1
  295. package/src/interfaces/configuration-provenance.js +0 -3
  296. package/src/interfaces/configuration-provenance.js.map +0 -1
  297. package/src/interfaces/constants.d.ts +0 -70
  298. package/src/interfaces/constants.d.ts.map +0 -1
  299. package/src/interfaces/constants.js +0 -2
  300. package/src/interfaces/constants.js.map +0 -1
  301. package/src/interfaces/ecies-config.d.ts +0 -9
  302. package/src/interfaces/ecies-config.d.ts.map +0 -1
  303. package/src/interfaces/ecies-config.js +0 -2
  304. package/src/interfaces/ecies-config.js.map +0 -1
  305. package/src/interfaces/ecies-consts.d.ts +0 -61
  306. package/src/interfaces/ecies-consts.d.ts.map +0 -1
  307. package/src/interfaces/ecies-consts.js +0 -2
  308. package/src/interfaces/ecies-consts.js.map +0 -1
  309. package/src/interfaces/ecies-file-service.d.ts +0 -7
  310. package/src/interfaces/ecies-file-service.d.ts.map +0 -1
  311. package/src/interfaces/ecies-file-service.js +0 -2
  312. package/src/interfaces/ecies-file-service.js.map +0 -1
  313. package/src/interfaces/encrypted-chunk.d.ts +0 -55
  314. package/src/interfaces/encrypted-chunk.d.ts.map +0 -1
  315. package/src/interfaces/encrypted-chunk.js +0 -12
  316. package/src/interfaces/encrypted-chunk.js.map +0 -1
  317. package/src/interfaces/encryption-state.d.ts +0 -18
  318. package/src/interfaces/encryption-state.d.ts.map +0 -1
  319. package/src/interfaces/encryption-state.js +0 -2
  320. package/src/interfaces/encryption-state.js.map +0 -1
  321. package/src/interfaces/frontend-member-operational.d.ts +0 -51
  322. package/src/interfaces/frontend-member-operational.d.ts.map +0 -1
  323. package/src/interfaces/frontend-member-operational.js +0 -2
  324. package/src/interfaces/frontend-member-operational.js.map +0 -1
  325. package/src/interfaces/guid.d.ts +0 -78
  326. package/src/interfaces/guid.d.ts.map +0 -1
  327. package/src/interfaces/guid.js +0 -2
  328. package/src/interfaces/guid.js.map +0 -1
  329. package/src/interfaces/id-provider.d.ts +0 -107
  330. package/src/interfaces/id-provider.d.ts.map +0 -1
  331. package/src/interfaces/id-provider.js +0 -52
  332. package/src/interfaces/id-provider.js.map +0 -1
  333. package/src/interfaces/index.d.ts.map +0 -1
  334. package/src/interfaces/index.js +0 -13
  335. package/src/interfaces/index.js.map +0 -1
  336. package/src/interfaces/invariant.d.ts +0 -46
  337. package/src/interfaces/invariant.d.ts.map +0 -1
  338. package/src/interfaces/invariant.js +0 -18
  339. package/src/interfaces/invariant.js.map +0 -1
  340. package/src/interfaces/library-error.d.ts +0 -23
  341. package/src/interfaces/library-error.d.ts.map +0 -1
  342. package/src/interfaces/library-error.js +0 -2
  343. package/src/interfaces/library-error.js.map +0 -1
  344. package/src/interfaces/member-storage.d.ts.map +0 -1
  345. package/src/interfaces/member-storage.js +0 -2
  346. package/src/interfaces/member-storage.js.map +0 -1
  347. package/src/interfaces/member-with-mnemonic.d.ts.map +0 -1
  348. package/src/interfaces/member-with-mnemonic.js +0 -2
  349. package/src/interfaces/member-with-mnemonic.js.map +0 -1
  350. package/src/interfaces/member.d.ts +0 -55
  351. package/src/interfaces/member.d.ts.map +0 -1
  352. package/src/interfaces/member.js +0 -2
  353. package/src/interfaces/member.js.map +0 -1
  354. package/src/interfaces/multi-recipient-chunk.d.ts +0 -54
  355. package/src/interfaces/multi-recipient-chunk.d.ts.map +0 -1
  356. package/src/interfaces/multi-recipient-chunk.js +0 -11
  357. package/src/interfaces/multi-recipient-chunk.js.map +0 -1
  358. package/src/interfaces/pbkdf2-config.d.ts +0 -7
  359. package/src/interfaces/pbkdf2-config.d.ts.map +0 -1
  360. package/src/interfaces/pbkdf2-config.js +0 -2
  361. package/src/interfaces/pbkdf2-config.js.map +0 -1
  362. package/src/interfaces/pbkdf2-consts.d.ts +0 -9
  363. package/src/interfaces/pbkdf2-consts.d.ts.map +0 -1
  364. package/src/interfaces/pbkdf2-consts.js +0 -2
  365. package/src/interfaces/pbkdf2-consts.js.map +0 -1
  366. package/src/interfaces/pbkdf2-result.d.ts +0 -6
  367. package/src/interfaces/pbkdf2-result.d.ts.map +0 -1
  368. package/src/interfaces/pbkdf2-result.js +0 -2
  369. package/src/interfaces/pbkdf2-result.js.map +0 -1
  370. package/src/interfaces/stream-config.d.ts +0 -14
  371. package/src/interfaces/stream-config.d.ts.map +0 -1
  372. package/src/interfaces/stream-config.js +0 -8
  373. package/src/interfaces/stream-config.js.map +0 -1
  374. package/src/interfaces/stream-header.d.ts +0 -29
  375. package/src/interfaces/stream-header.d.ts.map +0 -1
  376. package/src/interfaces/stream-header.js +0 -9
  377. package/src/interfaces/stream-header.js.map +0 -1
  378. package/src/interfaces/stream-progress.d.ts +0 -33
  379. package/src/interfaces/stream-progress.d.ts.map +0 -1
  380. package/src/interfaces/stream-progress.js +0 -2
  381. package/src/interfaces/stream-progress.js.map +0 -1
  382. package/src/lib/configuration-provenance-utils.d.ts +0 -11
  383. package/src/lib/configuration-provenance-utils.d.ts.map +0 -1
  384. package/src/lib/configuration-provenance-utils.js +0 -23
  385. package/src/lib/configuration-provenance-utils.js.map +0 -1
  386. package/src/lib/crypto-container.d.ts +0 -25
  387. package/src/lib/crypto-container.d.ts.map +0 -1
  388. package/src/lib/crypto-container.js +0 -46
  389. package/src/lib/crypto-container.js.map +0 -1
  390. package/src/lib/guid.d.ts +0 -344
  391. package/src/lib/guid.d.ts.map +0 -1
  392. package/src/lib/guid.js +0 -914
  393. package/src/lib/guid.js.map +0 -1
  394. package/src/lib/id-providers/custom-provider.d.ts +0 -46
  395. package/src/lib/id-providers/custom-provider.d.ts.map +0 -1
  396. package/src/lib/id-providers/custom-provider.js +0 -85
  397. package/src/lib/id-providers/custom-provider.js.map +0 -1
  398. package/src/lib/id-providers/guidv4-provider.d.ts +0 -56
  399. package/src/lib/id-providers/guidv4-provider.d.ts.map +0 -1
  400. package/src/lib/id-providers/guidv4-provider.js +0 -122
  401. package/src/lib/id-providers/guidv4-provider.js.map +0 -1
  402. package/src/lib/id-providers/index.d.ts.map +0 -1
  403. package/src/lib/id-providers/index.js +0 -29
  404. package/src/lib/id-providers/index.js.map +0 -1
  405. package/src/lib/id-providers/objectid-provider.d.ts +0 -43
  406. package/src/lib/id-providers/objectid-provider.d.ts.map +0 -1
  407. package/src/lib/id-providers/objectid-provider.js +0 -104
  408. package/src/lib/id-providers/objectid-provider.js.map +0 -1
  409. package/src/lib/id-providers/uuid-provider.d.ts +0 -52
  410. package/src/lib/id-providers/uuid-provider.d.ts.map +0 -1
  411. package/src/lib/id-providers/uuid-provider.js +0 -110
  412. package/src/lib/id-providers/uuid-provider.js.map +0 -1
  413. package/src/lib/index.d.ts +0 -6
  414. package/src/lib/index.d.ts.map +0 -1
  415. package/src/lib/index.js.map +0 -1
  416. package/src/lib/invariant-validator.d.ts +0 -59
  417. package/src/lib/invariant-validator.d.ts.map +0 -1
  418. package/src/lib/invariant-validator.js +0 -97
  419. package/src/lib/invariant-validator.js.map +0 -1
  420. package/src/lib/invariants/encryption-algorithm-consistency.d.ts +0 -17
  421. package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +0 -1
  422. package/src/lib/invariants/encryption-algorithm-consistency.js +0 -49
  423. package/src/lib/invariants/encryption-algorithm-consistency.js.map +0 -1
  424. package/src/lib/invariants/index.d.ts +0 -4
  425. package/src/lib/invariants/index.d.ts.map +0 -1
  426. package/src/lib/invariants/index.js.map +0 -1
  427. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +0 -16
  428. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +0 -1
  429. package/src/lib/invariants/pbkdf2-profiles-validity.js +0 -58
  430. package/src/lib/invariants/pbkdf2-profiles-validity.js.map +0 -1
  431. package/src/lib/invariants/recipient-id-consistency.d.ts +0 -18
  432. package/src/lib/invariants/recipient-id-consistency.d.ts.map +0 -1
  433. package/src/lib/invariants/recipient-id-consistency.js +0 -31
  434. package/src/lib/invariants/recipient-id-consistency.js.map +0 -1
  435. package/src/lib/multi-recipient-chunk-utils.d.ts +0 -38
  436. package/src/lib/multi-recipient-chunk-utils.d.ts.map +0 -1
  437. package/src/lib/multi-recipient-chunk-utils.js +0 -41
  438. package/src/lib/multi-recipient-chunk-utils.js.map +0 -1
  439. package/src/member.d.ts +0 -92
  440. package/src/member.d.ts.map +0 -1
  441. package/src/member.js +0 -322
  442. package/src/member.js.map +0 -1
  443. package/src/pbkdf2-profiles.d.ts.map +0 -1
  444. package/src/pbkdf2-profiles.js +0 -2
  445. package/src/pbkdf2-profiles.js.map +0 -1
  446. package/src/phone-number.d.ts +0 -6
  447. package/src/phone-number.d.ts.map +0 -1
  448. package/src/phone-number.js +0 -18
  449. package/src/phone-number.js.map +0 -1
  450. package/src/regexes.d.ts +0 -7
  451. package/src/regexes.d.ts.map +0 -1
  452. package/src/regexes.js +0 -7
  453. package/src/regexes.js.map +0 -1
  454. package/src/secure-buffer.d.ts +0 -61
  455. package/src/secure-buffer.d.ts.map +0 -1
  456. package/src/secure-buffer.js +0 -201
  457. package/src/secure-buffer.js.map +0 -1
  458. package/src/secure-string.d.ts +0 -46
  459. package/src/secure-string.d.ts.map +0 -1
  460. package/src/secure-string.js +0 -206
  461. package/src/secure-string.js.map +0 -1
  462. package/src/services/aes-gcm.d.ts +0 -57
  463. package/src/services/aes-gcm.d.ts.map +0 -1
  464. package/src/services/aes-gcm.js +0 -142
  465. package/src/services/aes-gcm.js.map +0 -1
  466. package/src/services/chunk-processor.d.ts +0 -31
  467. package/src/services/chunk-processor.d.ts.map +0 -1
  468. package/src/services/chunk-processor.js +0 -145
  469. package/src/services/chunk-processor.js.map +0 -1
  470. package/src/services/ecies/crypto-core.d.ts +0 -72
  471. package/src/services/ecies/crypto-core.d.ts.map +0 -1
  472. package/src/services/ecies/crypto-core.js +0 -205
  473. package/src/services/ecies/crypto-core.js.map +0 -1
  474. package/src/services/ecies/example.d.ts +0 -25
  475. package/src/services/ecies/example.d.ts.map +0 -1
  476. package/src/services/ecies/example.js +0 -121
  477. package/src/services/ecies/example.js.map +0 -1
  478. package/src/services/ecies/file.d.ts +0 -18
  479. package/src/services/ecies/file.d.ts.map +0 -1
  480. package/src/services/ecies/file.js +0 -106
  481. package/src/services/ecies/file.js.map +0 -1
  482. package/src/services/ecies/index.d.ts +0 -38
  483. package/src/services/ecies/index.d.ts.map +0 -1
  484. package/src/services/ecies/index.js.map +0 -1
  485. package/src/services/ecies/integration.d.ts +0 -59
  486. package/src/services/ecies/integration.d.ts.map +0 -1
  487. package/src/services/ecies/integration.js +0 -167
  488. package/src/services/ecies/integration.js.map +0 -1
  489. package/src/services/ecies/interfaces.d.ts +0 -54
  490. package/src/services/ecies/interfaces.d.ts.map +0 -1
  491. package/src/services/ecies/interfaces.js +0 -5
  492. package/src/services/ecies/interfaces.js.map +0 -1
  493. package/src/services/ecies/manual-test.d.ts +0 -29
  494. package/src/services/ecies/manual-test.d.ts.map +0 -1
  495. package/src/services/ecies/manual-test.js +0 -163
  496. package/src/services/ecies/manual-test.js.map +0 -1
  497. package/src/services/ecies/multi-recipient.d.ts +0 -56
  498. package/src/services/ecies/multi-recipient.d.ts.map +0 -1
  499. package/src/services/ecies/multi-recipient.js +0 -344
  500. package/src/services/ecies/multi-recipient.js.map +0 -1
  501. package/src/services/ecies/service.d.ts +0 -120
  502. package/src/services/ecies/service.d.ts.map +0 -1
  503. package/src/services/ecies/service.js +0 -210
  504. package/src/services/ecies/service.js.map +0 -1
  505. package/src/services/ecies/signature.d.ts +0 -27
  506. package/src/services/ecies/signature.d.ts.map +0 -1
  507. package/src/services/ecies/signature.js +0 -72
  508. package/src/services/ecies/signature.js.map +0 -1
  509. package/src/services/ecies/single-recipient.d.ts +0 -46
  510. package/src/services/ecies/single-recipient.d.ts.map +0 -1
  511. package/src/services/ecies/single-recipient.js +0 -322
  512. package/src/services/ecies/single-recipient.js.map +0 -1
  513. package/src/services/encryption-stream.d.ts +0 -71
  514. package/src/services/encryption-stream.d.ts.map +0 -1
  515. package/src/services/encryption-stream.js +0 -295
  516. package/src/services/encryption-stream.js.map +0 -1
  517. package/src/services/index.d.ts +0 -11
  518. package/src/services/index.d.ts.map +0 -1
  519. package/src/services/index.js.map +0 -1
  520. package/src/services/multi-recipient-processor.d.ts +0 -35
  521. package/src/services/multi-recipient-processor.d.ts.map +0 -1
  522. package/src/services/multi-recipient-processor.js +0 -289
  523. package/src/services/multi-recipient-processor.js.map +0 -1
  524. package/src/services/password-login.d.ts +0 -47
  525. package/src/services/password-login.d.ts.map +0 -1
  526. package/src/services/password-login.js +0 -115
  527. package/src/services/password-login.js.map +0 -1
  528. package/src/services/pbkdf2.d.ts +0 -54
  529. package/src/services/pbkdf2.d.ts.map +0 -1
  530. package/src/services/pbkdf2.js +0 -108
  531. package/src/services/pbkdf2.js.map +0 -1
  532. package/src/services/progress-tracker.d.ts +0 -23
  533. package/src/services/progress-tracker.d.ts.map +0 -1
  534. package/src/services/progress-tracker.js +0 -103
  535. package/src/services/progress-tracker.js.map +0 -1
  536. package/src/services/resumable-encryption.d.ts +0 -19
  537. package/src/services/resumable-encryption.d.ts.map +0 -1
  538. package/src/services/resumable-encryption.js +0 -105
  539. package/src/services/resumable-encryption.js.map +0 -1
  540. package/src/services/xor.d.ts +0 -37
  541. package/src/services/xor.d.ts.map +0 -1
  542. package/src/services/xor.js +0 -63
  543. package/src/services/xor.js.map +0 -1
  544. package/src/test-mocks/index.d.ts +0 -2
  545. package/src/test-mocks/index.d.ts.map +0 -1
  546. package/src/test-mocks/index.js +0 -2
  547. package/src/test-mocks/index.js.map +0 -1
  548. package/src/test-mocks/mock-frontend-member.d.ts +0 -85
  549. package/src/test-mocks/mock-frontend-member.d.ts.map +0 -1
  550. package/src/test-mocks/mock-frontend-member.js +0 -190
  551. package/src/test-mocks/mock-frontend-member.js.map +0 -1
  552. package/src/testing.d.ts +0 -2
  553. package/src/testing.d.ts.map +0 -1
  554. package/src/testing.js.map +0 -1
  555. package/src/translations/de.d.ts +0 -4
  556. package/src/translations/de.d.ts.map +0 -1
  557. package/src/translations/de.js.map +0 -1
  558. package/src/translations/en-US.d.ts +0 -4
  559. package/src/translations/en-US.d.ts.map +0 -1
  560. package/src/translations/en-US.js.map +0 -1
  561. package/src/translations/es.d.ts +0 -4
  562. package/src/translations/es.d.ts.map +0 -1
  563. package/src/translations/es.js.map +0 -1
  564. package/src/translations/fr.d.ts +0 -4
  565. package/src/translations/fr.d.ts.map +0 -1
  566. package/src/translations/fr.js.map +0 -1
  567. package/src/translations/ja.d.ts +0 -4
  568. package/src/translations/ja.d.ts.map +0 -1
  569. package/src/translations/ja.js.map +0 -1
  570. package/src/translations/uk.d.ts +0 -4
  571. package/src/translations/uk.d.ts.map +0 -1
  572. package/src/translations/uk.js.map +0 -1
  573. package/src/translations/zh-cn.d.ts +0 -4
  574. package/src/translations/zh-cn.d.ts.map +0 -1
  575. package/src/translations/zh-cn.js.map +0 -1
  576. package/src/types/deep-partial.d.ts +0 -4
  577. package/src/types/deep-partial.d.ts.map +0 -1
  578. package/src/types/deep-partial.js +0 -2
  579. package/src/types/deep-partial.js.map +0 -1
  580. package/src/types.d.ts.map +0 -1
  581. package/src/types.js +0 -2
  582. package/src/types.js.map +0 -1
  583. package/src/utils/encryption-type-utils.d.ts +0 -29
  584. package/src/utils/encryption-type-utils.d.ts.map +0 -1
  585. package/src/utils/encryption-type-utils.js +0 -61
  586. package/src/utils/encryption-type-utils.js.map +0 -1
  587. package/src/utils.d.ts +0 -68
  588. package/src/utils.d.ts.map +0 -1
  589. package/src/utils.js +0 -273
  590. package/src/utils.js.map +0 -1
@@ -1,110 +0,0 @@
1
- import { BaseIdProvider } from '../../interfaces/id-provider';
2
- import { v4 as uuidv4, validate as uuidValidate, parse as uuidParse } from 'uuid';
3
- import { IdProviderError } from '../../errors/id-provider';
4
- import { IdProviderErrorType } from '../../enumerations/id-provider-error-type';
5
- /**
6
- * ID provider for standard RFC 4122 UUIDs (16 bytes).
7
- *
8
- * Uses the 'uuid' npm package for UUID generation and validation.
9
- * Serialization uses the standard UUID format with dashes (36 characters).
10
- *
11
- * This is functionally similar to GuidV4Provider but uses standard UUID
12
- * string formatting (with dashes) instead of base64.
13
- */
14
- export class UuidProvider extends BaseIdProvider {
15
- byteLength = 16;
16
- name = 'UUID';
17
- /**
18
- * Generate a new random UUIDv4.
19
- */
20
- generate() {
21
- const buffer = new Uint8Array(16);
22
- uuidv4(undefined, buffer);
23
- return buffer;
24
- }
25
- /**
26
- * Validate a UUID buffer.
27
- * Checks length and RFC 4122 compliance.
28
- */
29
- validate(id) {
30
- if (id.length !== this.byteLength) {
31
- return false;
32
- }
33
- try {
34
- // Convert to string and validate
35
- const str = this.serialize(id);
36
- return uuidValidate(str);
37
- }
38
- catch {
39
- return false;
40
- }
41
- }
42
- /**
43
- * Serialize UUID to standard format with dashes (36 characters).
44
- * Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
45
- */
46
- serialize(id) {
47
- this.validateLength(id, 'UuidProvider.serialize');
48
- const hex = Array.from(id)
49
- .map(b => b.toString(16).padStart(2, '0'))
50
- .join('');
51
- // Insert dashes at proper positions
52
- return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
53
- }
54
- /**
55
- * Deserialize a UUID string (with or without dashes) to buffer.
56
- */
57
- deserialize(str) {
58
- if (typeof str !== 'string') {
59
- throw new IdProviderError(IdProviderErrorType.InputMustBeString);
60
- }
61
- // Validate format
62
- if (!uuidValidate(str)) {
63
- throw new IdProviderError(IdProviderErrorType.InvalidUuidFormat, undefined, undefined, { input: str });
64
- }
65
- try {
66
- const buffer = uuidParse(str);
67
- return buffer;
68
- }
69
- catch (error) {
70
- throw new IdProviderError(IdProviderErrorType.ParseFailed, { cause: error instanceof Error ? error : undefined }, undefined, { input: str, message: error instanceof Error ? error.message : String(error) });
71
- }
72
- }
73
- /**
74
- * Extract the version from a UUID buffer.
75
- * Should return 4 for v4 UUIDs.
76
- */
77
- getVersion(id) {
78
- this.validateLength(id, 'UuidProvider.getVersion');
79
- // Version is in the most significant 4 bits of byte 6
80
- const versionByte = id[6];
81
- return (versionByte >> 4) & 0x0F;
82
- }
83
- /**
84
- * Check if a UUID is the nil UUID (all zeros).
85
- */
86
- isNil(id) {
87
- this.validateLength(id, 'UuidProvider.isNil');
88
- for (let i = 0; i < id.length; i++) {
89
- if (id[i] !== 0) {
90
- return false;
91
- }
92
- }
93
- return true;
94
- }
95
- /**
96
- * Convert an ID of unknown type to a string representation.
97
- * Delegates to base implementation.
98
- */
99
- idToString(id) {
100
- return super.idToString(id);
101
- }
102
- /**
103
- * Convert a string representation of an ID back to an ID buffer.
104
- * Delegates to deserialize.
105
- */
106
- idFromString(str) {
107
- return this.deserialize(str);
108
- }
109
- }
110
- //# sourceMappingURL=uuid-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/uuid-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Library exports for v2 architecture
3
- */
4
- export * from './crypto-container';
5
- export * from './guid';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC"}
@@ -1,59 +0,0 @@
1
- import { IConstants } from '../interfaces/constants';
2
- import { IInvariant } from '../interfaces/invariant';
3
- /**
4
- * Validates all configuration invariants.
5
- *
6
- * This class maintains a registry of all invariants and validates them
7
- * whenever a configuration is created or modified.
8
- *
9
- * Adding new invariants is easy - just:
10
- * 1. Create a class implementing IInvariant
11
- * 2. Add it to the DEFAULT_INVARIANTS array
12
- * 3. Tests will automatically validate it
13
- */
14
- export declare class InvariantValidator {
15
- /**
16
- * Default invariants that are always checked
17
- */
18
- private static readonly DEFAULT_INVARIANTS;
19
- /**
20
- * Custom invariants registered at runtime
21
- */
22
- private static customInvariants;
23
- /**
24
- * Register a custom invariant to be checked alongside default invariants
25
- */
26
- static registerInvariant(invariant: IInvariant): void;
27
- /**
28
- * Clear all custom invariants (useful for testing)
29
- */
30
- static clearCustomInvariants(): void;
31
- /**
32
- * Get all invariants (default + custom)
33
- */
34
- static getAllInvariants(): readonly IInvariant[];
35
- /**
36
- * Validate all invariants for a given configuration
37
- *
38
- * @param config The configuration to validate
39
- * @throws Error if any invariant fails
40
- */
41
- static validateAll(config: IConstants): void;
42
- /**
43
- * Check a single invariant
44
- *
45
- * @param config The configuration to validate
46
- * @param invariantName Name of the invariant to check
47
- * @returns true if invariant passes, false otherwise
48
- */
49
- static checkInvariant(config: IConstants, invariantName: string): boolean;
50
- /**
51
- * Get failure details for a specific invariant
52
- *
53
- * @param config The configuration to validate
54
- * @param invariantName Name of the invariant to check
55
- * @returns Error message if invariant fails, null if it passes
56
- */
57
- static getFailureDetails(config: IConstants, invariantName: string): string | null;
58
- }
59
- //# sourceMappingURL=invariant-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invariant-validator.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariant-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAUrD;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAIxC;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoB;IAEnD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAIrD;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,IAAI;IAIpC;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,SAAS,UAAU,EAAE;IAIhD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAuB5C;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAgBzE;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAenF"}
@@ -1,97 +0,0 @@
1
- import { RecipientIdConsistencyInvariant, Pbkdf2ProfilesValidityInvariant, EncryptionAlgorithmConsistencyInvariant, } from './invariants';
2
- import { EciesComponentId, getEciesI18nEngine } from '../i18n-setup';
3
- import { EciesStringKey } from '../enumerations/ecies-string-key';
4
- import { TranslatableGenericError } from '@digitaldefiance/i18n-lib';
5
- /**
6
- * Validates all configuration invariants.
7
- *
8
- * This class maintains a registry of all invariants and validates them
9
- * whenever a configuration is created or modified.
10
- *
11
- * Adding new invariants is easy - just:
12
- * 1. Create a class implementing IInvariant
13
- * 2. Add it to the DEFAULT_INVARIANTS array
14
- * 3. Tests will automatically validate it
15
- */
16
- export class InvariantValidator {
17
- /**
18
- * Default invariants that are always checked
19
- */
20
- static DEFAULT_INVARIANTS = [
21
- new RecipientIdConsistencyInvariant(),
22
- new Pbkdf2ProfilesValidityInvariant(),
23
- new EncryptionAlgorithmConsistencyInvariant(),
24
- ];
25
- /**
26
- * Custom invariants registered at runtime
27
- */
28
- static customInvariants = [];
29
- /**
30
- * Register a custom invariant to be checked alongside default invariants
31
- */
32
- static registerInvariant(invariant) {
33
- this.customInvariants.push(invariant);
34
- }
35
- /**
36
- * Clear all custom invariants (useful for testing)
37
- */
38
- static clearCustomInvariants() {
39
- this.customInvariants = [];
40
- }
41
- /**
42
- * Get all invariants (default + custom)
43
- */
44
- static getAllInvariants() {
45
- return [...this.DEFAULT_INVARIANTS, ...this.customInvariants];
46
- }
47
- /**
48
- * Validate all invariants for a given configuration
49
- *
50
- * @param config The configuration to validate
51
- * @throws Error if any invariant fails
52
- */
53
- static validateAll(config) {
54
- const allInvariants = this.getAllInvariants();
55
- const failures = [];
56
- for (const invariant of allInvariants) {
57
- if (!invariant.check(config)) {
58
- failures.push(invariant.errorMessage(config));
59
- }
60
- }
61
- if (failures.length > 0) {
62
- const engine = getEciesI18nEngine();
63
- throw TranslatableGenericError.withEngine(engine, EciesComponentId, EciesStringKey.Error_Invariant_ConfigurationValidationFailedMultipleTemplate, { count: failures.length, failures: failures.join('\n\n') }, undefined, { invariantCount: failures.length });
64
- }
65
- }
66
- /**
67
- * Check a single invariant
68
- *
69
- * @param config The configuration to validate
70
- * @param invariantName Name of the invariant to check
71
- * @returns true if invariant passes, false otherwise
72
- */
73
- static checkInvariant(config, invariantName) {
74
- const invariant = this.getAllInvariants().find(i => i.name === invariantName);
75
- if (!invariant) {
76
- const engine = getEciesI18nEngine();
77
- throw TranslatableGenericError.withEngine(engine, EciesComponentId, EciesStringKey.Error_Invariant_UnknownInvariantTemplate, { name: invariantName }, undefined, { invariantName });
78
- }
79
- return invariant.check(config);
80
- }
81
- /**
82
- * Get failure details for a specific invariant
83
- *
84
- * @param config The configuration to validate
85
- * @param invariantName Name of the invariant to check
86
- * @returns Error message if invariant fails, null if it passes
87
- */
88
- static getFailureDetails(config, invariantName) {
89
- const invariant = this.getAllInvariants().find(i => i.name === invariantName);
90
- if (!invariant) {
91
- const engine = getEciesI18nEngine();
92
- throw TranslatableGenericError.withEngine(engine, EciesComponentId, EciesStringKey.Error_Invariant_UnknownInvariantTemplate, { name: invariantName }, undefined, { invariantName });
93
- }
94
- return invariant.check(config) ? null : invariant.errorMessage(config);
95
- }
96
- }
97
- //# sourceMappingURL=invariant-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invariant-validator.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariant-validator.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { IConstants } from '../../interfaces/constants';
2
- import { BaseInvariant } from '../../interfaces/invariant';
3
- /**
4
- * Validates that encryption algorithm parameters are consistent.
5
- *
6
- * Checks:
7
- * - Symmetric key size matches the algorithm (AES-256 = 32 bytes)
8
- * - Curve name is supported
9
- * - Key derivation path is valid
10
- */
11
- export declare class EncryptionAlgorithmConsistencyInvariant extends BaseInvariant {
12
- private static readonly SUPPORTED_CURVES;
13
- constructor();
14
- check(config: IConstants): boolean;
15
- errorMessage(config: IConstants): string;
16
- }
17
- //# sourceMappingURL=encryption-algorithm-consistency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption-algorithm-consistency.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/encryption-algorithm-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;;;;;;GAOG;AACH,qBAAa,uCAAwC,SAAQ,aAAa;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAKtC;;IASF,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAqBlC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CAyBzC"}
@@ -1,49 +0,0 @@
1
- import { BaseInvariant } from '../../interfaces/invariant';
2
- /**
3
- * Validates that encryption algorithm parameters are consistent.
4
- *
5
- * Checks:
6
- * - Symmetric key size matches the algorithm (AES-256 = 32 bytes)
7
- * - Curve name is supported
8
- * - Key derivation path is valid
9
- */
10
- export class EncryptionAlgorithmConsistencyInvariant extends BaseInvariant {
11
- static SUPPORTED_CURVES = [
12
- 'secp256k1',
13
- 'p256',
14
- 'p384',
15
- 'p521',
16
- ];
17
- constructor() {
18
- super('EncryptionAlgorithmConsistency', 'Encryption algorithm parameters must be consistent');
19
- }
20
- check(config) {
21
- // AES-256 requires 32-byte keys
22
- if (config.ECIES.SYMMETRIC.KEY_SIZE !== 32) {
23
- return false;
24
- }
25
- // Check curve is supported
26
- if (!EncryptionAlgorithmConsistencyInvariant.SUPPORTED_CURVES.includes(config.ECIES.CURVE_NAME)) {
27
- return false;
28
- }
29
- // Key derivation path should be valid BIP32 path
30
- if (!config.ECIES.PRIMARY_KEY_DERIVATION_PATH.startsWith('m/')) {
31
- return false;
32
- }
33
- return true;
34
- }
35
- errorMessage(config) {
36
- const issues = [];
37
- if (config.ECIES.SYMMETRIC.KEY_SIZE !== 32) {
38
- issues.push(`SYMMETRIC.KEY_SIZE (${config.ECIES.SYMMETRIC.KEY_SIZE}) must be 32 for AES-256`);
39
- }
40
- if (!EncryptionAlgorithmConsistencyInvariant.SUPPORTED_CURVES.includes(config.ECIES.CURVE_NAME)) {
41
- issues.push(`CURVE_NAME (${config.ECIES.CURVE_NAME}) must be one of: ${EncryptionAlgorithmConsistencyInvariant.SUPPORTED_CURVES.join(', ')}`);
42
- }
43
- if (!config.ECIES.PRIMARY_KEY_DERIVATION_PATH.startsWith('m/')) {
44
- issues.push(`PRIMARY_KEY_DERIVATION_PATH (${config.ECIES.PRIMARY_KEY_DERIVATION_PATH}) must be a valid BIP32 path starting with 'm/'`);
45
- }
46
- return `Invariant '${this.name}' failed:\n ${issues.join('\n ')}`;
47
- }
48
- }
49
- //# sourceMappingURL=encryption-algorithm-consistency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption-algorithm-consistency.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/encryption-algorithm-consistency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,OAAO,uCAAwC,SAAQ,aAAa;IAChE,MAAM,CAAU,gBAAgB,GAAG;QACzC,WAAW;QACX,MAAM;QACN,MAAM;QACN,MAAM;KACP,CAAC;IAEF;QACE,KAAK,CACH,gCAAgC,EAChC,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAkB;QACtB,gCAAgC;QAChC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,uCAAuC,CAAC,gBAAgB,CAAC,QAAQ,CACpE,MAAM,CAAC,KAAK,CAAC,UAAU,CACxB,EAAE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CACT,uBAAuB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,0BAA0B,CACjF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,uCAAuC,CAAC,gBAAgB,CAAC,QAAQ,CACpE,MAAM,CAAC,KAAK,CAAC,UAAU,CACxB,EAAE,CAAC;YACF,MAAM,CAAC,IAAI,CACT,eAAe,MAAM,CAAC,KAAK,CAAC,UAAU,qBAAqB,uCAAuC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjI,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CACT,gCAAgC,MAAM,CAAC,KAAK,CAAC,2BAA2B,iDAAiD,CAC1H,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,IAAI,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './recipient-id-consistency';
2
- export * from './pbkdf2-profiles-validity';
3
- export * from './encryption-algorithm-consistency';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { IConstants } from '../../interfaces/constants';
2
- import { BaseInvariant } from '../../interfaces/invariant';
3
- /**
4
- * Validates that PBKDF2 profiles have sensible parameters.
5
- *
6
- * Checks:
7
- * - iterations > 0 and not too low (security risk)
8
- * - saltBytes > 0 and reasonable
9
- * - hashBytes > 0 and matches expected hash output
10
- */
11
- export declare class Pbkdf2ProfilesValidityInvariant extends BaseInvariant {
12
- constructor();
13
- check(config: IConstants): boolean;
14
- errorMessage(config: IConstants): string;
15
- }
16
- //# sourceMappingURL=pbkdf2-profiles-validity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2-profiles-validity.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/pbkdf2-profiles-validity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D;;;;;;;GAOG;AACH,qBAAa,+BAAgC,SAAQ,aAAa;;IAQhE,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IA2BlC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CA8BzC"}
@@ -1,58 +0,0 @@
1
- import { BaseInvariant } from '../../interfaces/invariant';
2
- import { Pbkdf2ProfileEnum } from '../../enumerations/pbkdf2-profile';
3
- /**
4
- * Validates that PBKDF2 profiles have sensible parameters.
5
- *
6
- * Checks:
7
- * - iterations > 0 and not too low (security risk)
8
- * - saltBytes > 0 and reasonable
9
- * - hashBytes > 0 and matches expected hash output
10
- */
11
- export class Pbkdf2ProfilesValidityInvariant extends BaseInvariant {
12
- constructor() {
13
- super('Pbkdf2ProfilesValidity', 'PBKDF2 profiles must have valid cryptographic parameters');
14
- }
15
- check(config) {
16
- const profiles = [
17
- config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.BROWSER_PASSWORD],
18
- config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.HIGH_SECURITY],
19
- config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.TEST_FAST],
20
- ];
21
- for (const profile of profiles) {
22
- // iterations must be positive and reasonable
23
- if (profile.iterations < 1000 || profile.iterations > 10_000_000) {
24
- return false;
25
- }
26
- // saltBytes must be at least 16 bytes (128 bits)
27
- if (profile.saltBytes < 16 || profile.saltBytes > 256) {
28
- return false;
29
- }
30
- // hashBytes must be positive and reasonable for sha256
31
- if (profile.hashBytes < 16 || profile.hashBytes > 64) {
32
- return false;
33
- }
34
- }
35
- return true;
36
- }
37
- errorMessage(config) {
38
- const issues = [];
39
- const profileTests = [
40
- { name: 'BROWSER_PASSWORD', profile: config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.BROWSER_PASSWORD] },
41
- { name: 'HIGH_SECURITY', profile: config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.HIGH_SECURITY] },
42
- { name: 'TEST_FAST', profile: config.PBKDF2_PROFILES[Pbkdf2ProfileEnum.TEST_FAST] },
43
- ];
44
- for (const { name, profile } of profileTests) {
45
- if (profile.iterations < 1000 || profile.iterations > 10_000_000) {
46
- issues.push(`${name}.iterations (${profile.iterations}) must be between 1000 and 10,000,000`);
47
- }
48
- if (profile.saltBytes < 16 || profile.saltBytes > 256) {
49
- issues.push(`${name}.saltBytes (${profile.saltBytes}) must be between 16 and 256`);
50
- }
51
- if (profile.hashBytes < 16 || profile.hashBytes > 64) {
52
- issues.push(`${name}.hashBytes (${profile.hashBytes}) must be between 16 and 64`);
53
- }
54
- }
55
- return `Invariant '${this.name}' failed:\n ${issues.join('\n ')}`;
56
- }
57
- }
58
- //# sourceMappingURL=pbkdf2-profiles-validity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2-profiles-validity.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/pbkdf2-profiles-validity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,OAAO,+BAAgC,SAAQ,aAAa;IAChE;QACE,KAAK,CACH,wBAAwB,EACxB,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAkB;QACtB,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAC1D,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACvD,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC;SACpD,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,6CAA6C;YAC7C,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,iDAAiD;YACjD,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,uDAAuD;YACvD,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG;YACnB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;YACjG,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;YAC3F,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;SACpF,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,gBAAgB,OAAO,CAAC,UAAU,uCAAuC,CACjF,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,eAAe,OAAO,CAAC,SAAS,8BAA8B,CACtE,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,eAAe,OAAO,CAAC,SAAS,6BAA6B,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,cAAc,IAAI,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;CACF"}
@@ -1,18 +0,0 @@
1
- import { IConstants } from '../../interfaces/constants';
2
- import { BaseInvariant } from '../../interfaces/invariant';
3
- /**
4
- * Validates that all recipient ID size configurations are consistent.
5
- *
6
- * This invariant would have caught the 12 vs 32 byte discrepancy.
7
- *
8
- * Checks:
9
- * - MEMBER_ID_LENGTH === idProvider.byteLength
10
- * - ECIES.MULTIPLE.RECIPIENT_ID_SIZE === idProvider.byteLength
11
- * - All three values must be in sync
12
- */
13
- export declare class RecipientIdConsistencyInvariant extends BaseInvariant {
14
- constructor();
15
- check(config: IConstants): boolean;
16
- errorMessage(config: IConstants): string;
17
- }
18
- //# sourceMappingURL=recipient-id-consistency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recipient-id-consistency.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/recipient-id-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;;;;;;;;GASG;AACH,qBAAa,+BAAgC,SAAQ,aAAa;;IAQhE,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAOlC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CAiBzC"}
@@ -1,31 +0,0 @@
1
- import { BaseInvariant } from '../../interfaces/invariant';
2
- /**
3
- * Validates that all recipient ID size configurations are consistent.
4
- *
5
- * This invariant would have caught the 12 vs 32 byte discrepancy.
6
- *
7
- * Checks:
8
- * - MEMBER_ID_LENGTH === idProvider.byteLength
9
- * - ECIES.MULTIPLE.RECIPIENT_ID_SIZE === idProvider.byteLength
10
- * - All three values must be in sync
11
- */
12
- export class RecipientIdConsistencyInvariant extends BaseInvariant {
13
- constructor() {
14
- super('RecipientIdConsistency', 'All recipient ID size configurations must match the ID provider byte length');
15
- }
16
- check(config) {
17
- return (config.MEMBER_ID_LENGTH === config.idProvider.byteLength &&
18
- config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE === config.idProvider.byteLength);
19
- }
20
- errorMessage(config) {
21
- const issues = [];
22
- if (config.MEMBER_ID_LENGTH !== config.idProvider.byteLength) {
23
- issues.push(`MEMBER_ID_LENGTH (${config.MEMBER_ID_LENGTH}) !== idProvider.byteLength (${config.idProvider.byteLength})`);
24
- }
25
- if (config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
26
- issues.push(`ECIES.MULTIPLE.RECIPIENT_ID_SIZE (${config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE}) !== idProvider.byteLength (${config.idProvider.byteLength})`);
27
- }
28
- return `Invariant '${this.name}' failed:\n ${issues.join('\n ')}`;
29
- }
30
- }
31
- //# sourceMappingURL=recipient-id-consistency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recipient-id-consistency.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/invariants/recipient-id-consistency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,OAAO,+BAAgC,SAAQ,aAAa;IAChE;QACE,KAAK,CACH,wBAAwB,EACxB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAkB;QACtB,OAAO,CACL,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU;YACxD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CACzE,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CACT,qBAAqB,MAAM,CAAC,gBAAgB,gCAAgC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CAC5G,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CACT,qCAAqC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,gCAAgC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CAC5I,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,IAAI,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;CACF"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Multi-recipient format constants structure
3
- */
4
- export interface IMultiRecipientConstants {
5
- readonly MAGIC: number;
6
- readonly VERSION: number;
7
- readonly HEADER_SIZE: number;
8
- readonly RECIPIENT_ID_SIZE: number;
9
- readonly KEY_SIZE_BYTES: number;
10
- readonly FLAG_IS_LAST: number;
11
- readonly FLAG_HAS_CHECKSUM: number;
12
- readonly MAX_RECIPIENTS: number;
13
- }
14
- /**
15
- * Get multi-recipient constants for a specific recipient ID size.
16
- * This allows the format to adapt to different ID providers.
17
- *
18
- * @param recipientIdSize - The byte length of recipient IDs (from ID provider)
19
- * @returns Frozen constants object for the multi-recipient format
20
- *
21
- * @example
22
- * ```typescript
23
- * // For ObjectID (12 bytes)
24
- * const constants = getMultiRecipientConstants(12);
25
- *
26
- * // For GUID (16 bytes)
27
- * const constants = getMultiRecipientConstants(16);
28
- * ```
29
- */
30
- export declare function getMultiRecipientConstants(recipientIdSize: number): IMultiRecipientConstants;
31
- /**
32
- * Default multi-recipient constants using ObjectID size (12 bytes).
33
- *
34
- * @deprecated Use getMultiRecipientConstants(config.idProvider.byteLength) instead
35
- * for dynamic ID size support. This constant is provided for backward compatibility only.
36
- */
37
- export declare const MULTI_RECIPIENT_CONSTANTS: IMultiRecipientConstants;
38
- //# sourceMappingURL=multi-recipient-chunk-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-recipient-chunk-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/multi-recipient-chunk-utils.ts"],"names":[],"mappings":"AAAA;;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,CAqB1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,wBACR,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Get multi-recipient constants for a specific recipient ID size.
3
- * This allows the format to adapt to different ID providers.
4
- *
5
- * @param recipientIdSize - The byte length of recipient IDs (from ID provider)
6
- * @returns Frozen constants object for the multi-recipient format
7
- *
8
- * @example
9
- * ```typescript
10
- * // For ObjectID (12 bytes)
11
- * const constants = getMultiRecipientConstants(12);
12
- *
13
- * // For GUID (16 bytes)
14
- * const constants = getMultiRecipientConstants(16);
15
- * ```
16
- */
17
- export function getMultiRecipientConstants(recipientIdSize) {
18
- if (!Number.isInteger(recipientIdSize) ||
19
- recipientIdSize < 1 ||
20
- recipientIdSize > 255) {
21
- throw new Error(`Invalid recipientIdSize: ${recipientIdSize}. Must be an integer between 1 and 255.`);
22
- }
23
- return Object.freeze({
24
- MAGIC: 0x4d524543, // "MREC"
25
- VERSION: 0x0002, // Updated to 0x0002 for Shared Ephemeral Key support
26
- HEADER_SIZE: 64, // Increased to 64 bytes to accommodate Ephemeral Public Key (33 bytes)
27
- RECIPIENT_ID_SIZE: recipientIdSize,
28
- KEY_SIZE_BYTES: 2,
29
- FLAG_IS_LAST: 0x01,
30
- FLAG_HAS_CHECKSUM: 0x02,
31
- MAX_RECIPIENTS: 65535,
32
- });
33
- }
34
- /**
35
- * Default multi-recipient constants using ObjectID size (12 bytes).
36
- *
37
- * @deprecated Use getMultiRecipientConstants(config.idProvider.byteLength) instead
38
- * for dynamic ID size support. This constant is provided for backward compatibility only.
39
- */
40
- export const MULTI_RECIPIENT_CONSTANTS = getMultiRecipientConstants(12);
41
- //# sourceMappingURL=multi-recipient-chunk-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-recipient-chunk-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/multi-recipient-chunk-utils.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,eAAuB;IAEvB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;QAClC,eAAe,GAAG,CAAC;QACnB,eAAe,GAAG,GAAG,EACrB,CAAC;QACD,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,EAAE,qDAAqD;QACtE,WAAW,EAAE,EAAE,EAAE,uEAAuE;QACxF,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,GACpC,0BAA0B,CAAC,EAAE,CAAC,CAAC"}