@digitaldefiance/suite-core-lib 3.6.49 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/package.json +7 -6
  2. package/src/backup-code-string.d.ts +29 -0
  3. package/src/backup-code-string.d.ts.map +1 -0
  4. package/src/backup-code-string.js +85 -0
  5. package/src/backup-code-string.js.map +1 -0
  6. package/src/builders/{index.ts → index.d.ts} +1 -1
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/index.js +9 -0
  9. package/src/builders/index.js.map +1 -0
  10. package/src/builders/role-builder.d.ts +20 -0
  11. package/src/builders/role-builder.d.ts.map +1 -0
  12. package/src/builders/role-builder.js +57 -0
  13. package/src/builders/role-builder.js.map +1 -0
  14. package/src/builders/user-builder.d.ts +24 -0
  15. package/src/builders/user-builder.d.ts.map +1 -0
  16. package/src/builders/user-builder.js +63 -0
  17. package/src/builders/user-builder.js.map +1 -0
  18. package/src/constants.d.ts +7 -0
  19. package/src/constants.d.ts.map +1 -0
  20. package/src/constants.js +214 -0
  21. package/src/constants.js.map +1 -0
  22. package/src/core/{errors.ts → errors.d.ts} +1 -4
  23. package/src/core/errors.d.ts.map +1 -0
  24. package/src/core/errors.js +29 -0
  25. package/src/core/errors.js.map +1 -0
  26. package/src/core/{index.ts → index.d.ts} +1 -1
  27. package/src/core/index.d.ts.map +1 -0
  28. package/src/core/index.js +10 -0
  29. package/src/core/index.js.map +1 -0
  30. package/src/core/result.d.ts +34 -0
  31. package/src/core/result.d.ts.map +1 -0
  32. package/src/core/result.js +35 -0
  33. package/src/core/result.js.map +1 -0
  34. package/src/core/{types.ts → types.d.ts} +1 -6
  35. package/src/core/types.d.ts.map +1 -0
  36. package/src/core/types.js +6 -0
  37. package/src/core/types.js.map +1 -0
  38. package/src/defaults.d.ts +7 -0
  39. package/src/defaults.d.ts.map +1 -0
  40. package/src/defaults.js +70 -0
  41. package/src/defaults.js.map +1 -0
  42. package/src/enumerations/account-status.d.ts +18 -0
  43. package/src/enumerations/account-status.d.ts.map +1 -0
  44. package/src/enumerations/account-status.js +22 -0
  45. package/src/enumerations/account-status.js.map +1 -0
  46. package/src/enumerations/email-token-type.d.ts +28 -0
  47. package/src/enumerations/email-token-type.d.ts.map +1 -0
  48. package/src/enumerations/email-token-type.js +32 -0
  49. package/src/enumerations/email-token-type.js.map +1 -0
  50. package/src/enumerations/fec-error-type.d.ts +17 -0
  51. package/src/enumerations/fec-error-type.d.ts.map +1 -0
  52. package/src/enumerations/fec-error-type.js +21 -0
  53. package/src/enumerations/fec-error-type.js.map +1 -0
  54. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  55. package/src/enumerations/index.d.ts.map +1 -0
  56. package/src/enumerations/index.js +13 -0
  57. package/src/enumerations/index.js.map +1 -0
  58. package/src/enumerations/pbkdf2-error-type.d.ts +8 -0
  59. package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
  60. package/src/enumerations/pbkdf2-error-type.js +12 -0
  61. package/src/enumerations/pbkdf2-error-type.js.map +1 -0
  62. package/src/enumerations/role.d.ts +9 -0
  63. package/src/enumerations/role.d.ts.map +1 -0
  64. package/src/enumerations/role.js +13 -0
  65. package/src/enumerations/role.js.map +1 -0
  66. package/src/enumerations/suite-core-string-key.d.ts +488 -0
  67. package/src/enumerations/suite-core-string-key.d.ts.map +1 -0
  68. package/src/enumerations/suite-core-string-key.js +499 -0
  69. package/src/enumerations/suite-core-string-key.js.map +1 -0
  70. package/src/errors/account-locked.d.ts +5 -0
  71. package/src/errors/account-locked.d.ts.map +1 -0
  72. package/src/errors/account-locked.js +16 -0
  73. package/src/errors/account-locked.js.map +1 -0
  74. package/src/errors/account-status.d.ts +10 -0
  75. package/src/errors/account-status.d.ts.map +1 -0
  76. package/src/errors/account-status.js +36 -0
  77. package/src/errors/account-status.js.map +1 -0
  78. package/src/errors/admin-role-not-found.d.ts +9 -0
  79. package/src/errors/admin-role-not-found.d.ts.map +1 -0
  80. package/src/errors/admin-role-not-found.js +15 -0
  81. package/src/errors/admin-role-not-found.js.map +1 -0
  82. package/src/errors/core-typed-handleable.d.ts +15 -0
  83. package/src/errors/core-typed-handleable.d.ts.map +1 -0
  84. package/src/errors/core-typed-handleable.js +54 -0
  85. package/src/errors/core-typed-handleable.js.map +1 -0
  86. package/src/errors/direct-challenge-not-enabled.d.ts +8 -0
  87. package/src/errors/direct-challenge-not-enabled.d.ts.map +1 -0
  88. package/src/errors/direct-challenge-not-enabled.js +19 -0
  89. package/src/errors/direct-challenge-not-enabled.js.map +1 -0
  90. package/src/errors/direct-token-used.d.ts +5 -0
  91. package/src/errors/direct-token-used.d.ts.map +1 -0
  92. package/src/errors/direct-token-used.js +16 -0
  93. package/src/errors/direct-token-used.js.map +1 -0
  94. package/src/errors/email-in-use.d.ts +5 -0
  95. package/src/errors/email-in-use.d.ts.map +1 -0
  96. package/src/errors/email-in-use.js +18 -0
  97. package/src/errors/email-in-use.js.map +1 -0
  98. package/src/errors/email-token-expired.d.ts +5 -0
  99. package/src/errors/email-token-expired.d.ts.map +1 -0
  100. package/src/errors/email-token-expired.js +18 -0
  101. package/src/errors/email-token-expired.js.map +1 -0
  102. package/src/errors/email-token-failed-to-send.d.ts +9 -0
  103. package/src/errors/email-token-failed-to-send.d.ts.map +1 -0
  104. package/src/errors/email-token-failed-to-send.js +25 -0
  105. package/src/errors/email-token-failed-to-send.js.map +1 -0
  106. package/src/errors/email-token-sent-too-recently.d.ts +7 -0
  107. package/src/errors/email-token-sent-too-recently.d.ts.map +1 -0
  108. package/src/errors/email-token-sent-too-recently.js +24 -0
  109. package/src/errors/email-token-sent-too-recently.js.map +1 -0
  110. package/src/errors/email-token-used-or-invalid.d.ts +5 -0
  111. package/src/errors/email-token-used-or-invalid.d.ts.map +1 -0
  112. package/src/errors/email-token-used-or-invalid.js +18 -0
  113. package/src/errors/email-token-used-or-invalid.js.map +1 -0
  114. package/src/errors/email-verified.d.ts +5 -0
  115. package/src/errors/email-verified.d.ts.map +1 -0
  116. package/src/errors/email-verified.js +18 -0
  117. package/src/errors/email-verified.js.map +1 -0
  118. package/src/errors/failed-to-use-direct-token.d.ts +5 -0
  119. package/src/errors/failed-to-use-direct-token.d.ts.map +1 -0
  120. package/src/errors/failed-to-use-direct-token.js +16 -0
  121. package/src/errors/failed-to-use-direct-token.js.map +1 -0
  122. package/src/errors/fec-error.d.ts +9 -0
  123. package/src/errors/fec-error.d.ts.map +1 -0
  124. package/src/errors/fec-error.js +29 -0
  125. package/src/errors/fec-error.js.map +1 -0
  126. package/src/errors/generic-validation.d.ts +8 -0
  127. package/src/errors/generic-validation.d.ts.map +1 -0
  128. package/src/errors/generic-validation.js +15 -0
  129. package/src/errors/generic-validation.js.map +1 -0
  130. package/src/errors/{index.ts → index.d.ts} +1 -0
  131. package/src/errors/index.d.ts.map +1 -0
  132. package/src/errors/index.js +46 -0
  133. package/src/errors/index.js.map +1 -0
  134. package/src/errors/invalid-backup-code.d.ts +7 -0
  135. package/src/errors/invalid-backup-code.d.ts.map +1 -0
  136. package/src/errors/invalid-backup-code.js +14 -0
  137. package/src/errors/invalid-backup-code.js.map +1 -0
  138. package/src/errors/invalid-challenge-response.d.ts +8 -0
  139. package/src/errors/invalid-challenge-response.d.ts.map +1 -0
  140. package/src/errors/invalid-challenge-response.js +19 -0
  141. package/src/errors/invalid-challenge-response.js.map +1 -0
  142. package/src/errors/invalid-challenge.d.ts +5 -0
  143. package/src/errors/invalid-challenge.d.ts.map +1 -0
  144. package/src/errors/invalid-challenge.js +16 -0
  145. package/src/errors/invalid-challenge.js.map +1 -0
  146. package/src/errors/invalid-credentials.d.ts +5 -0
  147. package/src/errors/invalid-credentials.d.ts.map +1 -0
  148. package/src/errors/invalid-credentials.js +18 -0
  149. package/src/errors/invalid-credentials.js.map +1 -0
  150. package/src/errors/invalid-email.d.ts +11 -0
  151. package/src/errors/invalid-email.d.ts.map +1 -0
  152. package/src/errors/invalid-email.js +28 -0
  153. package/src/errors/invalid-email.js.map +1 -0
  154. package/src/errors/invalid-expired-token.d.ts +9 -0
  155. package/src/errors/invalid-expired-token.d.ts.map +1 -0
  156. package/src/errors/invalid-expired-token.js +13 -0
  157. package/src/errors/invalid-expired-token.js.map +1 -0
  158. package/src/errors/invalid-token.d.ts +8 -0
  159. package/src/errors/invalid-token.d.ts.map +1 -0
  160. package/src/errors/invalid-token.js +19 -0
  161. package/src/errors/invalid-token.js.map +1 -0
  162. package/src/errors/invalid-userid.d.ts +9 -0
  163. package/src/errors/invalid-userid.d.ts.map +1 -0
  164. package/src/errors/invalid-userid.js +23 -0
  165. package/src/errors/invalid-userid.js.map +1 -0
  166. package/src/errors/invalid-username.d.ts +5 -0
  167. package/src/errors/invalid-username.d.ts.map +1 -0
  168. package/src/errors/invalid-username.js +16 -0
  169. package/src/errors/invalid-username.js.map +1 -0
  170. package/src/errors/last-admin-error.d.ts +9 -0
  171. package/src/errors/last-admin-error.d.ts.map +1 -0
  172. package/src/errors/last-admin-error.js +15 -0
  173. package/src/errors/last-admin-error.js.map +1 -0
  174. package/src/errors/login-challenge-expired.d.ts +8 -0
  175. package/src/errors/login-challenge-expired.d.ts.map +1 -0
  176. package/src/errors/login-challenge-expired.js +19 -0
  177. package/src/errors/login-challenge-expired.js.map +1 -0
  178. package/src/errors/member-role-not-found.d.ts +9 -0
  179. package/src/errors/member-role-not-found.d.ts.map +1 -0
  180. package/src/errors/member-role-not-found.js +15 -0
  181. package/src/errors/member-role-not-found.js.map +1 -0
  182. package/src/errors/password-login-not-enabled.d.ts +8 -0
  183. package/src/errors/password-login-not-enabled.d.ts.map +1 -0
  184. package/src/errors/password-login-not-enabled.js +19 -0
  185. package/src/errors/password-login-not-enabled.js.map +1 -0
  186. package/src/errors/password-login-not-setup.d.ts +8 -0
  187. package/src/errors/password-login-not-setup.d.ts.map +1 -0
  188. package/src/errors/password-login-not-setup.js +19 -0
  189. package/src/errors/password-login-not-setup.js.map +1 -0
  190. package/src/errors/pbkdf2-error.d.ts +10 -0
  191. package/src/errors/pbkdf2-error.d.ts.map +1 -0
  192. package/src/errors/pbkdf2-error.js +22 -0
  193. package/src/errors/pbkdf2-error.js.map +1 -0
  194. package/src/errors/pending-email-verification.d.ts +5 -0
  195. package/src/errors/pending-email-verification.d.ts.map +1 -0
  196. package/src/errors/pending-email-verification.js +16 -0
  197. package/src/errors/pending-email-verification.js.map +1 -0
  198. package/src/errors/private-key-required.d.ts +5 -0
  199. package/src/errors/private-key-required.d.ts.map +1 -0
  200. package/src/errors/private-key-required.js +16 -0
  201. package/src/errors/private-key-required.js.map +1 -0
  202. package/src/errors/system-role-not-found.d.ts +9 -0
  203. package/src/errors/system-role-not-found.d.ts.map +1 -0
  204. package/src/errors/system-role-not-found.js +15 -0
  205. package/src/errors/system-role-not-found.js.map +1 -0
  206. package/src/errors/token-not-found.d.ts +10 -0
  207. package/src/errors/token-not-found.d.ts.map +1 -0
  208. package/src/errors/token-not-found.js +19 -0
  209. package/src/errors/token-not-found.js.map +1 -0
  210. package/src/errors/translatable-suite-handleable.d.ts +13 -0
  211. package/src/errors/translatable-suite-handleable.d.ts.map +1 -0
  212. package/src/errors/translatable-suite-handleable.js +18 -0
  213. package/src/errors/translatable-suite-handleable.js.map +1 -0
  214. package/src/errors/translatable-suite.d.ts +16 -0
  215. package/src/errors/translatable-suite.d.ts.map +1 -0
  216. package/src/errors/translatable-suite.js +29 -0
  217. package/src/errors/translatable-suite.js.map +1 -0
  218. package/src/errors/user-not-found.d.ts +5 -0
  219. package/src/errors/user-not-found.d.ts.map +1 -0
  220. package/src/errors/user-not-found.js +18 -0
  221. package/src/errors/user-not-found.js.map +1 -0
  222. package/src/errors/username-email-required.d.ts +9 -0
  223. package/src/errors/username-email-required.d.ts.map +1 -0
  224. package/src/errors/username-email-required.js +16 -0
  225. package/src/errors/username-email-required.js.map +1 -0
  226. package/src/errors/username-in-use.d.ts +5 -0
  227. package/src/errors/username-in-use.d.ts.map +1 -0
  228. package/src/errors/username-in-use.js +18 -0
  229. package/src/errors/username-in-use.js.map +1 -0
  230. package/src/i18n-setup.d.ts +18 -0
  231. package/src/i18n-setup.d.ts.map +1 -0
  232. package/src/i18n-setup.js +121 -0
  233. package/src/i18n-setup.js.map +1 -0
  234. package/src/{index.ts → index.d.ts} +1 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/index.js +19 -0
  237. package/src/index.js.map +1 -0
  238. package/src/interfaces/backup-code-consts.d.ts +19 -0
  239. package/src/interfaces/backup-code-consts.d.ts.map +1 -0
  240. package/src/interfaces/backup-code-consts.js +3 -0
  241. package/src/interfaces/backup-code-consts.js.map +1 -0
  242. package/src/interfaces/backup-code.d.ts +10 -0
  243. package/src/interfaces/backup-code.d.ts.map +1 -0
  244. package/src/interfaces/backup-code.js +3 -0
  245. package/src/interfaces/backup-code.js.map +1 -0
  246. package/src/interfaces/bases/email-token.d.ts +34 -0
  247. package/src/interfaces/bases/email-token.d.ts.map +1 -0
  248. package/src/interfaces/bases/email-token.js +3 -0
  249. package/src/interfaces/bases/email-token.js.map +1 -0
  250. package/src/interfaces/bases/{index.ts → index.d.ts} +1 -0
  251. package/src/interfaces/bases/index.d.ts.map +1 -0
  252. package/src/interfaces/bases/index.js +14 -0
  253. package/src/interfaces/bases/index.js.map +1 -0
  254. package/src/interfaces/bases/{mnemonic.ts → mnemonic.d.ts} +5 -5
  255. package/src/interfaces/bases/mnemonic.d.ts.map +1 -0
  256. package/src/interfaces/bases/mnemonic.js +3 -0
  257. package/src/interfaces/bases/mnemonic.js.map +1 -0
  258. package/src/interfaces/bases/role.d.ts +33 -0
  259. package/src/interfaces/bases/role.d.ts.map +1 -0
  260. package/src/interfaces/bases/role.js +3 -0
  261. package/src/interfaces/bases/role.js.map +1 -0
  262. package/src/interfaces/bases/token-role.d.ts +13 -0
  263. package/src/interfaces/bases/token-role.d.ts.map +1 -0
  264. package/src/interfaces/bases/token-role.js +3 -0
  265. package/src/interfaces/bases/token-role.js.map +1 -0
  266. package/src/interfaces/bases/used-direct-login-token.d.ts +17 -0
  267. package/src/interfaces/bases/used-direct-login-token.d.ts.map +1 -0
  268. package/src/interfaces/bases/used-direct-login-token.js +3 -0
  269. package/src/interfaces/bases/used-direct-login-token.js.map +1 -0
  270. package/src/interfaces/bases/user-role.d.ts +17 -0
  271. package/src/interfaces/bases/user-role.d.ts.map +1 -0
  272. package/src/interfaces/bases/user-role.js +3 -0
  273. package/src/interfaces/bases/user-role.js.map +1 -0
  274. package/src/interfaces/bases/user.d.ts +80 -0
  275. package/src/interfaces/bases/user.d.ts.map +1 -0
  276. package/src/interfaces/bases/user.js +3 -0
  277. package/src/interfaces/bases/user.js.map +1 -0
  278. package/src/interfaces/combined-role-privileges.d.ts +10 -0
  279. package/src/interfaces/combined-role-privileges.d.ts.map +1 -0
  280. package/src/interfaces/combined-role-privileges.js +3 -0
  281. package/src/interfaces/combined-role-privileges.js.map +1 -0
  282. package/src/interfaces/constants.d.ts +59 -0
  283. package/src/interfaces/constants.d.ts.map +1 -0
  284. package/src/interfaces/constants.js +3 -0
  285. package/src/interfaces/constants.js.map +1 -0
  286. package/src/interfaces/core-consts.d.ts +133 -0
  287. package/src/interfaces/core-consts.d.ts.map +1 -0
  288. package/src/interfaces/core-consts.js +3 -0
  289. package/src/interfaces/core-consts.js.map +1 -0
  290. package/src/interfaces/{deep-partial.ts → deep-partial.d.ts} +2 -1
  291. package/src/interfaces/deep-partial.d.ts.map +1 -0
  292. package/src/interfaces/deep-partial.js +3 -0
  293. package/src/interfaces/deep-partial.js.map +1 -0
  294. package/src/interfaces/dto/{email-token.ts → email-token.d.ts} +1 -1
  295. package/src/interfaces/dto/email-token.d.ts.map +1 -0
  296. package/src/interfaces/dto/email-token.js +3 -0
  297. package/src/interfaces/dto/email-token.js.map +1 -0
  298. package/src/interfaces/dto/{index.ts → index.d.ts} +1 -0
  299. package/src/interfaces/dto/index.d.ts.map +1 -0
  300. package/src/interfaces/dto/index.js +15 -0
  301. package/src/interfaces/dto/index.js.map +1 -0
  302. package/src/interfaces/dto/{mnemonic.ts → mnemonic.d.ts} +1 -1
  303. package/src/interfaces/dto/mnemonic.d.ts.map +1 -0
  304. package/src/interfaces/dto/mnemonic.js +3 -0
  305. package/src/interfaces/dto/mnemonic.js.map +1 -0
  306. package/src/interfaces/dto/request-user.d.ts +21 -0
  307. package/src/interfaces/dto/request-user.d.ts.map +1 -0
  308. package/src/interfaces/dto/request-user.js +3 -0
  309. package/src/interfaces/dto/request-user.js.map +1 -0
  310. package/src/interfaces/dto/{role.ts → role.d.ts} +1 -1
  311. package/src/interfaces/dto/role.d.ts.map +1 -0
  312. package/src/interfaces/dto/role.js +3 -0
  313. package/src/interfaces/dto/role.js.map +1 -0
  314. package/src/interfaces/dto/{token-role.ts → token-role.d.ts} +3 -10
  315. package/src/interfaces/dto/token-role.d.ts.map +1 -0
  316. package/src/interfaces/dto/token-role.js +3 -0
  317. package/src/interfaces/dto/token-role.js.map +1 -0
  318. package/src/interfaces/dto/{user-role.ts → user-role.d.ts} +1 -1
  319. package/src/interfaces/dto/user-role.d.ts.map +1 -0
  320. package/src/interfaces/dto/user-role.js +3 -0
  321. package/src/interfaces/dto/user-role.js.map +1 -0
  322. package/src/interfaces/dto/user-settings.d.ts +13 -0
  323. package/src/interfaces/dto/user-settings.d.ts.map +1 -0
  324. package/src/interfaces/dto/user-settings.js +3 -0
  325. package/src/interfaces/dto/user-settings.js.map +1 -0
  326. package/src/interfaces/dto/{user.ts → user.d.ts} +1 -1
  327. package/src/interfaces/dto/user.d.ts.map +1 -0
  328. package/src/interfaces/dto/user.js +3 -0
  329. package/src/interfaces/dto/user.js.map +1 -0
  330. package/src/interfaces/{failable-result.ts → failable-result.d.ts} +5 -4
  331. package/src/interfaces/failable-result.d.ts.map +1 -0
  332. package/src/interfaces/failable-result.js +3 -0
  333. package/src/interfaces/failable-result.js.map +1 -0
  334. package/src/interfaces/frontend-objects/{email-token.ts → email-token.d.ts} +2 -6
  335. package/src/interfaces/frontend-objects/email-token.d.ts.map +1 -0
  336. package/src/interfaces/frontend-objects/email-token.js +3 -0
  337. package/src/interfaces/frontend-objects/email-token.js.map +1 -0
  338. package/src/interfaces/frontend-objects/{index.ts → index.d.ts} +1 -0
  339. package/src/interfaces/frontend-objects/index.d.ts.map +1 -0
  340. package/src/interfaces/frontend-objects/index.js +12 -0
  341. package/src/interfaces/frontend-objects/index.js.map +1 -0
  342. package/src/interfaces/frontend-objects/request-user.d.ts +21 -0
  343. package/src/interfaces/frontend-objects/request-user.d.ts.map +1 -0
  344. package/src/interfaces/frontend-objects/request-user.js +3 -0
  345. package/src/interfaces/frontend-objects/request-user.js.map +1 -0
  346. package/src/interfaces/frontend-objects/{role.ts → role.d.ts} +1 -1
  347. package/src/interfaces/frontend-objects/role.d.ts.map +1 -0
  348. package/src/interfaces/frontend-objects/role.js +3 -0
  349. package/src/interfaces/frontend-objects/role.js.map +1 -0
  350. package/src/interfaces/frontend-objects/{user-role.ts → user-role.d.ts} +1 -1
  351. package/src/interfaces/frontend-objects/user-role.d.ts.map +1 -0
  352. package/src/interfaces/frontend-objects/user-role.js +3 -0
  353. package/src/interfaces/frontend-objects/user-role.js.map +1 -0
  354. package/src/interfaces/frontend-objects/{user.ts → user.d.ts} +2 -7
  355. package/src/interfaces/frontend-objects/user.d.ts.map +1 -0
  356. package/src/interfaces/frontend-objects/user.js +3 -0
  357. package/src/interfaces/frontend-objects/user.js.map +1 -0
  358. package/src/interfaces/{has-creation.ts → has-creation.d.ts} +5 -4
  359. package/src/interfaces/has-creation.d.ts.map +1 -0
  360. package/src/interfaces/has-creation.js +3 -0
  361. package/src/interfaces/has-creation.js.map +1 -0
  362. package/src/interfaces/{has-creator.ts → has-creator.d.ts} +5 -5
  363. package/src/interfaces/has-creator.d.ts.map +1 -0
  364. package/src/interfaces/has-creator.js +3 -0
  365. package/src/interfaces/has-creator.js.map +1 -0
  366. package/src/interfaces/{has-id.ts → has-id.d.ts} +2 -2
  367. package/src/interfaces/has-id.d.ts.map +1 -0
  368. package/src/interfaces/has-id.js +3 -0
  369. package/src/interfaces/has-id.js.map +1 -0
  370. package/src/interfaces/{has-soft-delete.ts → has-soft-delete.d.ts} +5 -4
  371. package/src/interfaces/has-soft-delete.d.ts.map +1 -0
  372. package/src/interfaces/has-soft-delete.js +3 -0
  373. package/src/interfaces/has-soft-delete.js.map +1 -0
  374. package/src/interfaces/{has-soft-deleter.ts → has-soft-deleter.d.ts} +5 -5
  375. package/src/interfaces/has-soft-deleter.d.ts.map +1 -0
  376. package/src/interfaces/has-soft-deleter.js +3 -0
  377. package/src/interfaces/has-soft-deleter.js.map +1 -0
  378. package/src/interfaces/{has-timestamp-owners.ts → has-timestamp-owners.d.ts} +3 -3
  379. package/src/interfaces/has-timestamp-owners.d.ts.map +1 -0
  380. package/src/interfaces/has-timestamp-owners.js +3 -0
  381. package/src/interfaces/has-timestamp-owners.js.map +1 -0
  382. package/src/interfaces/has-timestamps.d.ts +9 -0
  383. package/src/interfaces/has-timestamps.d.ts.map +1 -0
  384. package/src/interfaces/has-timestamps.js +3 -0
  385. package/src/interfaces/has-timestamps.js.map +1 -0
  386. package/src/interfaces/{has-updater.ts → has-updater.d.ts} +5 -5
  387. package/src/interfaces/has-updater.d.ts.map +1 -0
  388. package/src/interfaces/has-updater.js +3 -0
  389. package/src/interfaces/has-updater.js.map +1 -0
  390. package/src/interfaces/{has-updates.ts → has-updates.d.ts} +2 -1
  391. package/src/interfaces/has-updates.d.ts.map +1 -0
  392. package/src/interfaces/has-updates.js +3 -0
  393. package/src/interfaces/has-updates.js.map +1 -0
  394. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  395. package/src/interfaces/index.d.ts.map +1 -0
  396. package/src/interfaces/index.js +29 -0
  397. package/src/interfaces/index.js.map +1 -0
  398. package/src/interfaces/{success-message.ts → success-message.d.ts} +3 -2
  399. package/src/interfaces/success-message.d.ts.map +1 -0
  400. package/src/interfaces/success-message.js +3 -0
  401. package/src/interfaces/success-message.js.map +1 -0
  402. package/src/interfaces/{token-user.ts → token-user.d.ts} +3 -3
  403. package/src/interfaces/token-user.d.ts.map +1 -0
  404. package/src/interfaces/token-user.js +3 -0
  405. package/src/interfaces/token-user.js.map +1 -0
  406. package/src/interfaces/{user-settings.ts → user-settings.d.ts} +7 -7
  407. package/src/interfaces/user-settings.d.ts.map +1 -0
  408. package/src/interfaces/user-settings.js +3 -0
  409. package/src/interfaces/user-settings.js.map +1 -0
  410. package/src/lib/flags.d.ts +10 -0
  411. package/src/lib/flags.d.ts.map +1 -0
  412. package/src/lib/flags.js +288 -0
  413. package/src/lib/flags.js.map +1 -0
  414. package/src/lib/formatters.d.ts +16 -0
  415. package/src/lib/formatters.d.ts.map +1 -0
  416. package/src/lib/formatters.js +29 -0
  417. package/src/lib/formatters.js.map +1 -0
  418. package/src/lib/hydrate-dehydrate.d.ts +16 -0
  419. package/src/lib/hydrate-dehydrate.d.ts.map +1 -0
  420. package/src/lib/hydrate-dehydrate.js +43 -0
  421. package/src/lib/hydrate-dehydrate.js.map +1 -0
  422. package/src/lib/{index.ts → index.d.ts} +1 -1
  423. package/src/lib/index.d.ts.map +1 -0
  424. package/src/lib/index.js +12 -0
  425. package/src/lib/index.js.map +1 -0
  426. package/src/lib/validators-with-constants.d.ts +73 -0
  427. package/src/lib/validators-with-constants.d.ts.map +1 -0
  428. package/src/lib/validators-with-constants.js +64 -0
  429. package/src/lib/validators-with-constants.js.map +1 -0
  430. package/src/lib/validators.d.ts +37 -0
  431. package/src/lib/validators.d.ts.map +1 -0
  432. package/src/lib/validators.js +74 -0
  433. package/src/lib/validators.js.map +1 -0
  434. package/src/local-storage-manager.d.ts +22 -0
  435. package/src/local-storage-manager.d.ts.map +1 -0
  436. package/src/local-storage-manager.js +74 -0
  437. package/src/local-storage-manager.js.map +1 -0
  438. package/src/strings/de.d.ts +7 -0
  439. package/src/strings/de.d.ts.map +1 -0
  440. package/src/strings/de.js +492 -0
  441. package/src/strings/de.js.map +1 -0
  442. package/src/strings/en-GB.d.ts +7 -0
  443. package/src/strings/en-GB.d.ts.map +1 -0
  444. package/src/strings/en-GB.js +492 -0
  445. package/src/strings/en-GB.js.map +1 -0
  446. package/src/strings/en-US.d.ts +8 -0
  447. package/src/strings/en-US.d.ts.map +1 -0
  448. package/src/strings/en-US.js +493 -0
  449. package/src/strings/en-US.js.map +1 -0
  450. package/src/strings/es.d.ts +7 -0
  451. package/src/strings/es.d.ts.map +1 -0
  452. package/src/strings/es.js +492 -0
  453. package/src/strings/es.js.map +1 -0
  454. package/src/strings/fr.d.ts +7 -0
  455. package/src/strings/fr.d.ts.map +1 -0
  456. package/src/strings/fr.js +492 -0
  457. package/src/strings/fr.js.map +1 -0
  458. package/src/strings/ja.d.ts +7 -0
  459. package/src/strings/ja.d.ts.map +1 -0
  460. package/src/strings/ja.js +492 -0
  461. package/src/strings/ja.js.map +1 -0
  462. package/src/strings/uk.d.ts +7 -0
  463. package/src/strings/uk.d.ts.map +1 -0
  464. package/src/strings/uk.js +492 -0
  465. package/src/strings/uk.js.map +1 -0
  466. package/src/strings/zh-CN.d.ts +7 -0
  467. package/src/strings/zh-CN.d.ts.map +1 -0
  468. package/src/strings/zh-CN.js +492 -0
  469. package/src/strings/zh-CN.js.map +1 -0
  470. package/LICENSE +0 -21
  471. package/src/backup-code-string.ts +0 -102
  472. package/src/builders/role-builder.ts +0 -70
  473. package/src/builders/user-builder.ts +0 -81
  474. package/src/constants.ts +0 -229
  475. package/src/core/result.ts +0 -40
  476. package/src/defaults.ts +0 -114
  477. package/src/enumerations/account-status.ts +0 -17
  478. package/src/enumerations/email-token-type.ts +0 -27
  479. package/src/enumerations/fec-error-type.ts +0 -16
  480. package/src/enumerations/pbkdf2-error-type.ts +0 -7
  481. package/src/enumerations/role.ts +0 -8
  482. package/src/enumerations/suite-core-string-key.ts +0 -501
  483. package/src/errors/account-locked.ts +0 -12
  484. package/src/errors/account-status.ts +0 -38
  485. package/src/errors/admin-role-not-found.ts +0 -15
  486. package/src/errors/core-typed-handleable.ts +0 -72
  487. package/src/errors/direct-challenge-not-enabled.ts +0 -22
  488. package/src/errors/direct-token-used.ts +0 -17
  489. package/src/errors/email-in-use.ts +0 -14
  490. package/src/errors/email-token-expired.ts +0 -14
  491. package/src/errors/email-token-failed-to-send.ts +0 -46
  492. package/src/errors/email-token-sent-too-recently.ts +0 -32
  493. package/src/errors/email-token-used-or-invalid.ts +0 -14
  494. package/src/errors/email-verified.ts +0 -19
  495. package/src/errors/failed-to-use-direct-token.ts +0 -17
  496. package/src/errors/fec-error.ts +0 -49
  497. package/src/errors/generic-validation.ts +0 -14
  498. package/src/errors/invalid-backup-code.ts +0 -9
  499. package/src/errors/invalid-challenge-response.ts +0 -22
  500. package/src/errors/invalid-challenge.ts +0 -12
  501. package/src/errors/invalid-credentials.ts +0 -19
  502. package/src/errors/invalid-email.ts +0 -46
  503. package/src/errors/invalid-expired-token.ts +0 -21
  504. package/src/errors/invalid-token.ts +0 -22
  505. package/src/errors/invalid-userid.ts +0 -38
  506. package/src/errors/invalid-username.ts +0 -17
  507. package/src/errors/last-admin-error.ts +0 -15
  508. package/src/errors/login-challenge-expired.ts +0 -22
  509. package/src/errors/member-role-not-found.ts +0 -15
  510. package/src/errors/password-login-not-enabled.ts +0 -22
  511. package/src/errors/password-login-not-setup.ts +0 -22
  512. package/src/errors/pbkdf2-error.ts +0 -26
  513. package/src/errors/pending-email-verification.ts +0 -12
  514. package/src/errors/private-key-required.ts +0 -16
  515. package/src/errors/system-role-not-found.ts +0 -15
  516. package/src/errors/token-not-found.ts +0 -24
  517. package/src/errors/translatable-suite-handleable.ts +0 -30
  518. package/src/errors/translatable-suite.ts +0 -37
  519. package/src/errors/user-not-found.ts +0 -14
  520. package/src/errors/username-email-required.ts +0 -23
  521. package/src/errors/username-in-use.ts +0 -14
  522. package/src/i18n-setup.ts +0 -150
  523. package/src/interfaces/backup-code-consts.ts +0 -18
  524. package/src/interfaces/backup-code.ts +0 -9
  525. package/src/interfaces/bases/email-token.ts +0 -39
  526. package/src/interfaces/bases/role.ts +0 -43
  527. package/src/interfaces/bases/token-role.ts +0 -16
  528. package/src/interfaces/bases/used-direct-login-token.ts +0 -19
  529. package/src/interfaces/bases/user-role.ts +0 -26
  530. package/src/interfaces/bases/user.ts +0 -91
  531. package/src/interfaces/combined-role-privileges.ts +0 -9
  532. package/src/interfaces/constants.ts +0 -59
  533. package/src/interfaces/core-consts.ts +0 -133
  534. package/src/interfaces/dto/request-user.ts +0 -23
  535. package/src/interfaces/dto/user-settings.ts +0 -12
  536. package/src/interfaces/frontend-objects/request-user.ts +0 -21
  537. package/src/interfaces/has-timestamps.ts +0 -11
  538. package/src/lib/flags.ts +0 -286
  539. package/src/lib/formatters.ts +0 -26
  540. package/src/lib/hydrate-dehydrate.ts +0 -43
  541. package/src/lib/validators-with-constants.ts +0 -74
  542. package/src/lib/validators.ts +0 -72
  543. package/src/local-storage-manager.ts +0 -69
  544. package/src/strings/de.ts +0 -795
  545. package/src/strings/en-GB.ts +0 -745
  546. package/src/strings/en-US.ts +0 -748
  547. package/src/strings/es.ts +0 -801
  548. package/src/strings/fr.ts +0 -806
  549. package/src/strings/ja.ts +0 -768
  550. package/src/strings/uk.ts +0 -785
  551. package/src/strings/zh-CN.ts +0 -651
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/suite-core-lib",
3
- "version": "3.6.49",
3
+ "version": "3.7.0",
4
4
  "homepage": "https://github.com/Digital-Defiance/suite-core-lib",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,7 +27,7 @@
27
27
  "publish:public": "npm publish --access public"
28
28
  },
29
29
  "dependencies": {
30
- "@digitaldefiance/ecies-lib": "4.12.8",
30
+ "@digitaldefiance/ecies-lib": "4.13.0",
31
31
  "@digitaldefiance/i18n-lib": "3.8.16"
32
32
  },
33
33
  "files": [
@@ -42,9 +42,10 @@
42
42
  "license": "MIT",
43
43
  "packageManager": "yarn@4.10.3",
44
44
  "devDependencies": {
45
- "@typescript-eslint/eslint-plugin": "^8.52.0",
46
- "@typescript-eslint/parser": "^8.52.0",
45
+ "@typescript-eslint/eslint-plugin": "^8.53.1",
46
+ "@typescript-eslint/parser": "^8.53.1",
47
47
  "eslint-plugin-import": "^2.32.0",
48
48
  "eslint-plugin-prettier": "^5.5.4"
49
- }
50
- }
49
+ },
50
+ "type": "commonjs"
51
+ }
@@ -0,0 +1,29 @@
1
+ import { IConstants } from './interfaces';
2
+ export declare class BackupCodeString {
3
+ private readonly _normalizedCode;
4
+ constructor(code: string);
5
+ get value(): string;
6
+ get notNullValue(): string;
7
+ get valueAsHexString(): string;
8
+ get valueAsBase64String(): string;
9
+ get valueAsUint8Array(): Uint8Array;
10
+ get hasValue(): boolean;
11
+ get length(): number;
12
+ dispose(): void;
13
+ /**
14
+ * Format a 32-char normalized code into display form (8 groups of 4).
15
+ * Does not restrict characters beyond grouping.
16
+ */
17
+ static formatBackupCode(code: string): string;
18
+ /**
19
+ * Normalize user-entered code: remove spaces and hyphens, lowercase, and trim.
20
+ */
21
+ static normalizeCode(input: string): string;
22
+ static generateBackupCode(): string;
23
+ /**
24
+ * Generate the configured number of backup codes.
25
+ * Note: If generation alphabet/length is controlled elsewhere, prefer that path.
26
+ */
27
+ static generateBackupCodes(constants?: IConstants): Array<BackupCodeString>;
28
+ }
29
+ //# sourceMappingURL=backup-code-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-string.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/backup-code-string.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,IAAI,EAAE,MAAM;IAQxB,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,gBAAgB,IAAI,MAAM,CAOpC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAKvC;IAED,IAAW,iBAAiB,IAAI,UAAU,CAKzC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,OAAO,IAAI,IAAI;IAKtB;;;OAGG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpD;;OAEG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;WAIpC,kBAAkB,IAAI,MAAM;IAU1C;;;OAGG;WACW,mBAAmB,CAC/B,SAAS,GAAE,UAAsB,GAChC,KAAK,CAAC,gBAAgB,CAAC;CAO3B"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackupCodeString = void 0;
4
+ /**
5
+ * Backup code string class for generating, validating, and formatting backup codes.
6
+ * Provides type-safe handling of backup codes with multiple output formats.
7
+ */
8
+ const constants_1 = require("./constants");
9
+ const invalid_backup_code_1 = require("./errors/invalid-backup-code");
10
+ class BackupCodeString {
11
+ _normalizedCode;
12
+ constructor(code) {
13
+ const normalizedCode = BackupCodeString.normalizeCode(code);
14
+ if (!constants_1.Constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
15
+ throw new invalid_backup_code_1.InvalidBackupCodeError();
16
+ }
17
+ this._normalizedCode = normalizedCode;
18
+ }
19
+ get value() {
20
+ return BackupCodeString.formatBackupCode(this._normalizedCode);
21
+ }
22
+ get notNullValue() {
23
+ return BackupCodeString.formatBackupCode(this._normalizedCode);
24
+ }
25
+ get valueAsHexString() {
26
+ const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
27
+ return new TextEncoder().encode(formattedValue).reduce((str, byte) => {
28
+ return str + byte.toString(16).padStart(2, '0');
29
+ }, '');
30
+ }
31
+ get valueAsBase64String() {
32
+ const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
33
+ return btoa(formattedValue);
34
+ }
35
+ get valueAsUint8Array() {
36
+ const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
37
+ return new TextEncoder().encode(formattedValue);
38
+ }
39
+ get hasValue() {
40
+ return this._normalizedCode.length > 0;
41
+ }
42
+ get length() {
43
+ return this._normalizedCode.length;
44
+ }
45
+ dispose() {
46
+ // Backup codes are not sensitive enough to require secure disposal
47
+ // They're already encrypted when stored in the database
48
+ }
49
+ /**
50
+ * Format a 32-char normalized code into display form (8 groups of 4).
51
+ * Does not restrict characters beyond grouping.
52
+ */
53
+ static formatBackupCode(code) {
54
+ const groups = code.match(/.{1,4}/g) ?? [code];
55
+ return groups.join('-');
56
+ }
57
+ /**
58
+ * Normalize user-entered code: remove spaces and hyphens, lowercase, and trim.
59
+ */
60
+ static normalizeCode(input) {
61
+ return input.replace(/[\s-]/g, '').toLowerCase().trim();
62
+ }
63
+ static generateBackupCode() {
64
+ const alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
65
+ const rnd = crypto.getRandomValues(new Uint8Array(32));
66
+ let raw = '';
67
+ for (let j = 0; j < 32; j++) {
68
+ raw += alphabet[rnd[j] % alphabet.length];
69
+ }
70
+ return raw;
71
+ }
72
+ /**
73
+ * Generate the configured number of backup codes.
74
+ * Note: If generation alphabet/length is controlled elsewhere, prefer that path.
75
+ */
76
+ static generateBackupCodes(constants = constants_1.Constants) {
77
+ const codes = [];
78
+ for (let i = 0; i < constants.BACKUP_CODES.Count; i++) {
79
+ codes.push(new BackupCodeString(BackupCodeString.generateBackupCode()));
80
+ }
81
+ return codes;
82
+ }
83
+ }
84
+ exports.BackupCodeString = BackupCodeString;
85
+ //# sourceMappingURL=backup-code-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-string.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/backup-code-string.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Builders module - fluent builders for common objects
3
3
  */
4
-
5
4
  export * from './role-builder';
6
5
  export * from './user-builder';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Builders module - fluent builders for common objects
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./role-builder"), exports);
8
+ tslib_1.__exportStar(require("./user-builder"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA+B;AAC/B,yDAA+B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Fluent builder for creating role objects
3
+ */
4
+ import type { PlatformID } from '@digitaldefiance/ecies-lib';
5
+ import { Role } from '../enumerations/role';
6
+ import { IRoleBase } from '../interfaces/bases/role';
7
+ /**
8
+ * Builder for creating role objects with fluent API
9
+ */
10
+ export declare class RoleBuilder<TID extends PlatformID = PlatformID, TDate extends Date | string = Date> {
11
+ private data;
12
+ static create<TID extends PlatformID = PlatformID, TDate extends Date | string = Date>(): RoleBuilder<TID, TDate>;
13
+ withName(name: Role): this;
14
+ asAdmin(): this;
15
+ asMember(): this;
16
+ asChild(): this;
17
+ asSystem(): this;
18
+ build(): Partial<IRoleBase<TID, TDate, Role>>;
19
+ }
20
+ //# sourceMappingURL=role-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/role-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI;IAElC,OAAO,CAAC,IAAI,CAKV;IAEF,MAAM,CAAC,MAAM,CACX,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,KAC/B,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;IAI5B,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK1B,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,IAAI;IAQhB,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,IAAI;IAQhB,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;CAG9C"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Fluent builder for creating role objects
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RoleBuilder = void 0;
7
+ /**
8
+ * Builder for creating role objects with fluent API
9
+ */
10
+ class RoleBuilder {
11
+ data = {
12
+ admin: false,
13
+ member: false,
14
+ child: false,
15
+ system: false,
16
+ };
17
+ static create() {
18
+ return new RoleBuilder();
19
+ }
20
+ withName(name) {
21
+ this.data.name = name;
22
+ return this;
23
+ }
24
+ asAdmin() {
25
+ this.data.admin = true;
26
+ this.data.member = false;
27
+ this.data.child = false;
28
+ this.data.system = false;
29
+ return this;
30
+ }
31
+ asMember() {
32
+ this.data.admin = false;
33
+ this.data.member = true;
34
+ this.data.child = false;
35
+ this.data.system = false;
36
+ return this;
37
+ }
38
+ asChild() {
39
+ this.data.admin = false;
40
+ this.data.member = false;
41
+ this.data.child = true;
42
+ this.data.system = false;
43
+ return this;
44
+ }
45
+ asSystem() {
46
+ this.data.admin = false;
47
+ this.data.member = false;
48
+ this.data.child = false;
49
+ this.data.system = true;
50
+ return this;
51
+ }
52
+ build() {
53
+ return { ...this.data };
54
+ }
55
+ }
56
+ exports.RoleBuilder = RoleBuilder;
57
+ //# sourceMappingURL=role-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/role-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAMH;;GAEG;AACH,MAAa,WAAW;IAId,IAAI,GAAyC;QACnD,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,MAAM,CAAC,MAAM;QAIX,OAAO,IAAI,WAAW,EAAc,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AA1DD,kCA0DC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Fluent builder for creating user objects
3
+ */
4
+ import type { PlatformID } from '@digitaldefiance/ecies-lib';
5
+ import { AccountStatus } from '../enumerations/account-status';
6
+ import { IUserBase } from '../interfaces/bases/user';
7
+ /**
8
+ * Builder for creating user objects with fluent API
9
+ */
10
+ export declare class UserBuilder<TID extends PlatformID = PlatformID, TDate extends Date | string = Date, TLanguage extends string = string> {
11
+ private data;
12
+ static create<TID extends PlatformID = PlatformID, TDate extends Date | string = Date, TLanguage extends string = string>(): UserBuilder<TID, TDate, TLanguage>;
13
+ withUsername(username: string): this;
14
+ withEmail(email: string): this;
15
+ withPublicKey(publicKey: string): this;
16
+ withTimezone(timezone: string): this;
17
+ withSiteLanguage(siteLanguage: TLanguage): this;
18
+ withEmailVerified(verified: boolean): this;
19
+ withAccountStatus(status: AccountStatus): this;
20
+ withDirectChallenge(enabled: boolean): this;
21
+ withMnemonicRecovery(recovery: string): this;
22
+ build(): Partial<IUserBase<TID, TDate, TLanguage, AccountStatus>>;
23
+ }
24
+ //# sourceMappingURL=user-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/user-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,EAClC,SAAS,SAAS,MAAM,GAAG,MAAM;IAEjC,OAAO,CAAC,IAAI,CAMV;IAEF,MAAM,CAAC,MAAM,CACX,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,EAClC,SAAS,SAAS,MAAM,GAAG,MAAM,KAC9B,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;IAIvC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,gBAAgB,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI;IAK/C,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK1C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK3C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK5C,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;CAGlE"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * Fluent builder for creating user objects
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserBuilder = void 0;
7
+ const account_status_1 = require("../enumerations/account-status");
8
+ /**
9
+ * Builder for creating user objects with fluent API
10
+ */
11
+ class UserBuilder {
12
+ data = {
13
+ emailVerified: false,
14
+ accountStatus: account_status_1.AccountStatus.Active,
15
+ directChallenge: false,
16
+ backupCodes: [],
17
+ timezone: 'UTC',
18
+ };
19
+ static create() {
20
+ return new UserBuilder();
21
+ }
22
+ withUsername(username) {
23
+ this.data.username = username;
24
+ return this;
25
+ }
26
+ withEmail(email) {
27
+ this.data.email = email;
28
+ return this;
29
+ }
30
+ withPublicKey(publicKey) {
31
+ this.data.publicKey = publicKey;
32
+ return this;
33
+ }
34
+ withTimezone(timezone) {
35
+ this.data.timezone = timezone;
36
+ return this;
37
+ }
38
+ withSiteLanguage(siteLanguage) {
39
+ this.data.siteLanguage = siteLanguage;
40
+ return this;
41
+ }
42
+ withEmailVerified(verified) {
43
+ this.data.emailVerified = verified;
44
+ return this;
45
+ }
46
+ withAccountStatus(status) {
47
+ this.data.accountStatus = status;
48
+ return this;
49
+ }
50
+ withDirectChallenge(enabled) {
51
+ this.data.directChallenge = enabled;
52
+ return this;
53
+ }
54
+ withMnemonicRecovery(recovery) {
55
+ this.data.mnemonicRecovery = recovery;
56
+ return this;
57
+ }
58
+ build() {
59
+ return { ...this.data };
60
+ }
61
+ }
62
+ exports.UserBuilder = UserBuilder;
63
+ //# sourceMappingURL=user-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/user-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,mEAA+D;AAG/D;;GAEG;AACH,MAAa,WAAW;IAKd,IAAI,GAA6D;QACvE,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,8BAAa,CAAC,MAAM;QACnC,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,MAAM,CAAC,MAAM;QAKX,OAAO,IAAI,WAAW,EAAyB,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,YAAuB;QACtC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAqB;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AArED,kCAqEC"}
@@ -0,0 +1,7 @@
1
+ import { IBackupCodeConstants, ICoreConstants } from './interfaces';
2
+ import { IConstants } from './interfaces/constants';
3
+ export declare const BACKUP_CODES: IBackupCodeConstants;
4
+ export declare const CORE: ICoreConstants;
5
+ export declare const createConstants: (siteDomain: string, siteHostname: string, overrides?: Partial<IConstants>) => IConstants;
6
+ export declare const Constants: IConstants;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/constants.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,oBAOhB,CAAC;AAEZ,eAAO,MAAM,IAAI,EAAE,cAoIR,CAAC;AAEZ,eAAO,MAAM,eAAe,EAAE,CAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAC5B,UAqEJ,CAAC;AAEF,eAAO,MAAM,SAAS,YAA4C,CAAC"}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Constants = exports.createConstants = exports.CORE = exports.BACKUP_CODES = void 0;
4
+ /**
5
+ * Constants and configuration for the suite-core library.
6
+ * Provides runtime configuration including backup codes, authentication settings,
7
+ * validation rules, and site-specific constants.
8
+ */
9
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
10
+ const role_1 = require("./enumerations/role");
11
+ exports.BACKUP_CODES = Object.freeze({
12
+ /**
13
+ * How many backup codes to generate for users
14
+ */
15
+ Count: 10,
16
+ NormalizedHexRegex: /^[a-z0-9]{32}$/, // exactly 32 lowercase alphanumeric chars
17
+ DisplayRegex: /^([a-z0-9]{4}-){7}[a-z0-9]{4}$/, // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
18
+ });
19
+ exports.CORE = Object.freeze({
20
+ /**
21
+ * The ID provider to use for generating and parsing IDs
22
+ */
23
+ idProvider: new ecies_lib_1.ObjectIdProvider(),
24
+ /**
25
+ * Default duration in seconds for which a mnemonic is kept in memory
26
+ */
27
+ DefaultExpireMemoryMnemonicSeconds: 300, // 5 minutes
28
+ /**
29
+ * Default duration in seconds for which a wallet is kept in memory
30
+ */
31
+ DefaultExpireMemoryWalletSeconds: 300, // 5 minutes
32
+ /**
33
+ * Duration in milliseconds for which a login challenge is valid.
34
+ */
35
+ LoginChallengeExpiration: 60000, // 60 seconds
36
+ /**
37
+ * The expected length of a direct login challenge in bytes
38
+ */
39
+ DirectLoginChallengeLength: 104,
40
+ /**
41
+ * Backup code system configuration
42
+ */
43
+ BACKUP_CODES: exports.BACKUP_CODES,
44
+ /**
45
+ * Duration in milliseconds for which an email token is valid.
46
+ */
47
+ EmailTokenExpiration: 86400000, // 24 * 60 * 60 * 1000
48
+ /**
49
+ * Length in bytes of the email token generated (is represented as a hex string of twice as many)
50
+ */
51
+ EmailTokenLength: 32,
52
+ /**
53
+ * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
54
+ */
55
+ BcryptRounds: 10,
56
+ /**
57
+ * The username of the administrator user.
58
+ */
59
+ AdministratorUser: 'admin',
60
+ /**
61
+ * The name of the administrator role.
62
+ */
63
+ AdministratorRole: role_1.Role.Admin,
64
+ /**
65
+ * The name of the member role.
66
+ */
67
+ MemberRole: role_1.Role.Member,
68
+ /**
69
+ * The username of the test user.
70
+ */
71
+ MemberUser: 'test',
72
+ /**
73
+ * The name of the system role.
74
+ */
75
+ SystemRole: role_1.Role.System,
76
+ /**
77
+ * The username of the system user.
78
+ */
79
+ SystemUser: 'system',
80
+ /**
81
+ * Minimum username length
82
+ */
83
+ UsernameMinLength: 3,
84
+ /**
85
+ * Maximum username length
86
+ */
87
+ UsernameMaxLength: 30,
88
+ /**
89
+ * The regular expression for valid usernames.
90
+ */
91
+ UsernameRegex: /^[A-Za-z0-9]{3,30}$/,
92
+ /**
93
+ * Minimum password length
94
+ */
95
+ PasswordMinLength: 8,
96
+ /**
97
+ * The regular expression for valid passwords.
98
+ */
99
+ PasswordRegex: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/,
100
+ /**
101
+ * The regular expression for valid JWT tokens.
102
+ */
103
+ JwtSecretRegex: /^[0-9a-f]{64}$/i,
104
+ /**
105
+ * The regular expression for valid mnemonic phrases.
106
+ * BIP39 - supports 12, 15, 18, 21, or 24 word mnemonics
107
+ */
108
+ MnemonicRegex: /^(?:\w+\s){11}\w+$|^(?:\w+\s){14}\w+$|^(?:\w+\s){17}\w+$|^(?:\w+\s){20}\w+$|^(?:\w+\s){23}\w+$/i,
109
+ /**
110
+ * Matches a 64-character hexadecimal string (SHA-256).
111
+ */
112
+ MnemonicHmacRegex: /^[a-f0-9]{64}$/,
113
+ /**
114
+ * The regular expression for valid encryption keys.
115
+ */
116
+ MnemonicEncryptionKeyRegex: /^[a-f0-9]{64}$/,
117
+ /**
118
+ * The amount of time in milliseconds after which an email token can be resent.
119
+ */
120
+ EmailTokenResendInterval: 300000, // 5 * 60 * 1000 = 5 minutes
121
+ /**
122
+ * The interval in minutes after which an email token can be resent.
123
+ */
124
+ EmailTokenResendIntervalMinutes: 5,
125
+ /**
126
+ * The site name. Overridden by specific site constants.
127
+ */
128
+ Site: 'New Site',
129
+ /**
130
+ * The site tagline. Overridden by specific site constants.
131
+ */
132
+ SiteTagline: 'New Site Tagline',
133
+ /**
134
+ * The site description. Overridden by specific site constants.
135
+ */
136
+ SiteDescription: 'Description of the new site',
137
+ /**
138
+ * Email domain of usernames on the site. Overridden by specific site constants.
139
+ */
140
+ SiteEmailDomain: 'localhost',
141
+ /**
142
+ * The hostname of the site. Overridden by specific site constants.
143
+ */
144
+ SiteHostname: 'localhost',
145
+ });
146
+ const createConstants = (siteDomain, siteHostname, overrides) => {
147
+ return Object.freeze({
148
+ ...exports.CORE,
149
+ /**
150
+ * The email of the administrator user/admin contact
151
+ */
152
+ AdministratorEmail: `admin@${siteDomain}`,
153
+ /**
154
+ * The email of the test user.
155
+ */
156
+ MemberEmail: `test@${siteDomain}`,
157
+ /**
158
+ * The email of the system user.
159
+ */
160
+ SystemEmail: `system@${siteDomain}`,
161
+ /**
162
+ * The email domain of usernames on the site.
163
+ */
164
+ SiteEmailDomain: siteDomain,
165
+ /**
166
+ * The hostname of the site.
167
+ */
168
+ SiteHostname: siteHostname,
169
+ /**
170
+ * The color used to indicate success states.
171
+ */
172
+ success_color: '#4CAF50',
173
+ /**
174
+ * The color used to indicate failure states.
175
+ */
176
+ failure_color: '#F44336',
177
+ /**
178
+ * The color used to indicate warning states.
179
+ */
180
+ warning_color: '#FF9800',
181
+ /**
182
+ * The light variant of the primary text color.
183
+ */
184
+ primary_text_light: '#ffffff',
185
+ /**
186
+ * The dark variant of the primary text color.
187
+ */
188
+ primary_text_dark: '#000000',
189
+ /**
190
+ * The light variant of the secondary text color.
191
+ */
192
+ secondary_text_light: '#ffffff',
193
+ /**
194
+ * The dark variant of the secondary text color.
195
+ */
196
+ secondary_text_dark: '#000000',
197
+ /**
198
+ * The primary brand color (used for primary theme color)
199
+ */
200
+ logo_primary_color: '#050505ff',
201
+ /**
202
+ * The primary text color (used for logo and text)
203
+ */
204
+ logo_primary_text: '#212121',
205
+ /**
206
+ * The secondary text color (used for logo and accents)
207
+ */
208
+ logo_secondary_text: '#757575',
209
+ ...(overrides ?? {}),
210
+ });
211
+ };
212
+ exports.createConstants = createConstants;
213
+ exports.Constants = (0, exports.createConstants)('localhost', 'localhost');
214
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/constants.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  /**
2
2
  * Core error class exports for suite-core-lib
3
3
  */
4
-
5
- // Base error classes
6
4
  export { CoreTypedHandleableError } from '../errors/core-typed-handleable';
7
5
  export { TranslatableSuiteError } from '../errors/translatable-suite';
8
6
  export { TranslatableSuiteHandleableError } from '../errors/translatable-suite-handleable';
9
-
10
- // Common error classes
11
7
  export { EmailInUseError } from '../errors/email-in-use';
12
8
  export { GenericValidationError } from '../errors/generic-validation';
13
9
  export { InvalidCredentialsError } from '../errors/invalid-credentials';
@@ -15,3 +11,4 @@ export { InvalidEmailError } from '../errors/invalid-email';
15
11
  export { InvalidUsernameError } from '../errors/invalid-username';
16
12
  export { UserNotFoundError } from '../errors/user-not-found';
17
13
  export { UsernameInUseError } from '../errors/username-in-use';
14
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}