@nauth-toolkit/core 0.1.14 → 0.1.18

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 (623) hide show
  1. package/dist/adapters/database-columns.d.ts +70 -0
  2. package/dist/adapters/database-columns.d.ts.map +1 -1
  3. package/dist/adapters/database-columns.js +76 -2
  4. package/dist/adapters/database-columns.js.map +1 -1
  5. package/dist/adapters/express.adapter.d.ts +66 -0
  6. package/dist/adapters/express.adapter.d.ts.map +1 -1
  7. package/dist/adapters/express.adapter.js +80 -0
  8. package/dist/adapters/express.adapter.js.map +1 -1
  9. package/dist/adapters/fastify.adapter.d.ts +42 -0
  10. package/dist/adapters/fastify.adapter.d.ts.map +1 -1
  11. package/dist/adapters/fastify.adapter.js +86 -0
  12. package/dist/adapters/fastify.adapter.js.map +1 -1
  13. package/dist/adapters/index.d.ts +5 -0
  14. package/dist/adapters/index.d.ts.map +1 -1
  15. package/dist/adapters/index.js +9 -0
  16. package/dist/adapters/index.js.map +1 -1
  17. package/dist/adapters/storage.factory.d.ts +107 -0
  18. package/dist/adapters/storage.factory.d.ts.map +1 -1
  19. package/dist/adapters/storage.factory.js +114 -0
  20. package/dist/adapters/storage.factory.js.map +1 -1
  21. package/dist/adapters.d.ts +8 -0
  22. package/dist/adapters.d.ts.map +1 -1
  23. package/dist/adapters.js +8 -0
  24. package/dist/adapters.js.map +1 -1
  25. package/dist/bootstrap.d.ts +82 -0
  26. package/dist/bootstrap.d.ts.map +1 -1
  27. package/dist/bootstrap.js +106 -0
  28. package/dist/bootstrap.js.map +1 -1
  29. package/dist/dto/admin-set-password.dto.d.ts +90 -0
  30. package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
  31. package/dist/dto/admin-set-password.dto.js +91 -0
  32. package/dist/dto/admin-set-password.dto.js.map +1 -1
  33. package/dist/dto/auth-challenge.dto.d.ts +170 -0
  34. package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
  35. package/dist/dto/auth-challenge.dto.js +170 -0
  36. package/dist/dto/auth-challenge.dto.js.map +1 -1
  37. package/dist/dto/auth-response.dto.d.ts +196 -0
  38. package/dist/dto/auth-response.dto.d.ts.map +1 -1
  39. package/dist/dto/auth-response.dto.js +149 -0
  40. package/dist/dto/auth-response.dto.js.map +1 -1
  41. package/dist/dto/challenge-response.dto.d.ts +155 -0
  42. package/dist/dto/challenge-response.dto.d.ts.map +1 -1
  43. package/dist/dto/challenge-response.dto.js +8 -0
  44. package/dist/dto/challenge-response.dto.js.map +1 -1
  45. package/dist/dto/change-password-request.dto.d.ts +35 -0
  46. package/dist/dto/change-password-request.dto.d.ts.map +1 -1
  47. package/dist/dto/change-password-request.dto.js +35 -0
  48. package/dist/dto/change-password-request.dto.js.map +1 -1
  49. package/dist/dto/change-password-response.dto.d.ts +25 -0
  50. package/dist/dto/change-password-response.dto.d.ts.map +1 -1
  51. package/dist/dto/change-password-response.dto.js +25 -0
  52. package/dist/dto/change-password-response.dto.js.map +1 -1
  53. package/dist/dto/change-password.dto.d.ts +45 -0
  54. package/dist/dto/change-password.dto.d.ts.map +1 -1
  55. package/dist/dto/change-password.dto.js +45 -0
  56. package/dist/dto/change-password.dto.js.map +1 -1
  57. package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
  58. package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
  59. package/dist/dto/confirm-forgot-password.dto.js +59 -0
  60. package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
  61. package/dist/dto/error-response.dto.d.ts +103 -0
  62. package/dist/dto/error-response.dto.d.ts.map +1 -1
  63. package/dist/dto/error-response.dto.js +103 -0
  64. package/dist/dto/error-response.dto.js.map +1 -1
  65. package/dist/dto/forgot-password.dto.d.ts +58 -0
  66. package/dist/dto/forgot-password.dto.d.ts.map +1 -1
  67. package/dist/dto/forgot-password.dto.js +58 -0
  68. package/dist/dto/forgot-password.dto.js.map +1 -1
  69. package/dist/dto/get-available-methods.dto.d.ts +37 -0
  70. package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
  71. package/dist/dto/get-available-methods.dto.js +37 -0
  72. package/dist/dto/get-available-methods.dto.js.map +1 -1
  73. package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
  74. package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
  75. package/dist/dto/get-challenge-data-response.dto.js +24 -0
  76. package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
  77. package/dist/dto/get-challenge-data.dto.d.ts +46 -0
  78. package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
  79. package/dist/dto/get-challenge-data.dto.js +46 -0
  80. package/dist/dto/get-challenge-data.dto.js.map +1 -1
  81. package/dist/dto/get-client-info.dto.d.ts +74 -0
  82. package/dist/dto/get-client-info.dto.d.ts.map +1 -1
  83. package/dist/dto/get-client-info.dto.js +74 -0
  84. package/dist/dto/get-client-info.dto.js.map +1 -1
  85. package/dist/dto/get-device-token-response.dto.d.ts +21 -0
  86. package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
  87. package/dist/dto/get-device-token-response.dto.js +21 -0
  88. package/dist/dto/get-device-token-response.dto.js.map +1 -1
  89. package/dist/dto/get-events-by-type.dto.d.ts +50 -0
  90. package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
  91. package/dist/dto/get-events-by-type.dto.js +50 -0
  92. package/dist/dto/get-events-by-type.dto.js.map +1 -1
  93. package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
  94. package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
  95. package/dist/dto/get-ip-address-response.dto.js +20 -0
  96. package/dist/dto/get-ip-address-response.dto.js.map +1 -1
  97. package/dist/dto/get-mfa-status.dto.d.ts +59 -0
  98. package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
  99. package/dist/dto/get-mfa-status.dto.js +59 -0
  100. package/dist/dto/get-mfa-status.dto.js.map +1 -1
  101. package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
  102. package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
  103. package/dist/dto/get-risk-assessment-history.dto.js +28 -0
  104. package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
  105. package/dist/dto/get-session-id-response.dto.d.ts +21 -0
  106. package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
  107. package/dist/dto/get-session-id-response.dto.js +21 -0
  108. package/dist/dto/get-session-id-response.dto.js.map +1 -1
  109. package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
  110. package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
  111. package/dist/dto/get-setup-data-response.dto.js +27 -0
  112. package/dist/dto/get-setup-data-response.dto.js.map +1 -1
  113. package/dist/dto/get-setup-data.dto.d.ts +51 -0
  114. package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
  115. package/dist/dto/get-setup-data.dto.js +51 -0
  116. package/dist/dto/get-setup-data.dto.js.map +1 -1
  117. package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
  118. package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
  119. package/dist/dto/get-suspicious-activity.dto.js +31 -0
  120. package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
  121. package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
  122. package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
  123. package/dist/dto/get-user-agent-response.dto.js +19 -0
  124. package/dist/dto/get-user-agent-response.dto.js.map +1 -1
  125. package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
  126. package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
  127. package/dist/dto/get-user-auth-history.dto.js +64 -0
  128. package/dist/dto/get-user-auth-history.dto.js.map +1 -1
  129. package/dist/dto/get-user-by-email.dto.d.ts +42 -0
  130. package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
  131. package/dist/dto/get-user-by-email.dto.js +42 -0
  132. package/dist/dto/get-user-by-email.dto.js.map +1 -1
  133. package/dist/dto/get-user-by-id.dto.d.ts +32 -0
  134. package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
  135. package/dist/dto/get-user-by-id.dto.js +32 -0
  136. package/dist/dto/get-user-by-id.dto.js.map +1 -1
  137. package/dist/dto/get-user-devices.dto.d.ts +34 -0
  138. package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
  139. package/dist/dto/get-user-devices.dto.js +34 -0
  140. package/dist/dto/get-user-devices.dto.js.map +1 -1
  141. package/dist/dto/get-user-response.dto.d.ts +14 -0
  142. package/dist/dto/get-user-response.dto.d.ts.map +1 -1
  143. package/dist/dto/get-user-response.dto.js +15 -0
  144. package/dist/dto/get-user-response.dto.js.map +1 -1
  145. package/dist/dto/has-provider.dto.d.ts +33 -0
  146. package/dist/dto/has-provider.dto.d.ts.map +1 -1
  147. package/dist/dto/has-provider.dto.js +33 -0
  148. package/dist/dto/has-provider.dto.js.map +1 -1
  149. package/dist/dto/index.js +5 -0
  150. package/dist/dto/index.js.map +1 -1
  151. package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
  152. package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
  153. package/dist/dto/is-trusted-device-response.dto.js +28 -0
  154. package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
  155. package/dist/dto/list-providers-response.dto.d.ts +19 -0
  156. package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
  157. package/dist/dto/list-providers-response.dto.js +19 -0
  158. package/dist/dto/list-providers-response.dto.js.map +1 -1
  159. package/dist/dto/login.dto.d.ts +48 -0
  160. package/dist/dto/login.dto.d.ts.map +1 -1
  161. package/dist/dto/login.dto.js +50 -1
  162. package/dist/dto/login.dto.js.map +1 -1
  163. package/dist/dto/logout-all-response.dto.d.ts +20 -0
  164. package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
  165. package/dist/dto/logout-all-response.dto.js +20 -0
  166. package/dist/dto/logout-all-response.dto.js.map +1 -1
  167. package/dist/dto/logout-all.dto.d.ts +42 -0
  168. package/dist/dto/logout-all.dto.d.ts.map +1 -1
  169. package/dist/dto/logout-all.dto.js +42 -0
  170. package/dist/dto/logout-all.dto.js.map +1 -1
  171. package/dist/dto/logout-response.dto.d.ts +21 -0
  172. package/dist/dto/logout-response.dto.d.ts.map +1 -1
  173. package/dist/dto/logout-response.dto.js +21 -0
  174. package/dist/dto/logout-response.dto.js.map +1 -1
  175. package/dist/dto/logout.dto.d.ts +45 -0
  176. package/dist/dto/logout.dto.d.ts.map +1 -1
  177. package/dist/dto/logout.dto.js +45 -0
  178. package/dist/dto/logout.dto.js.map +1 -1
  179. package/dist/dto/refresh-token.dto.d.ts +28 -0
  180. package/dist/dto/refresh-token.dto.d.ts.map +1 -1
  181. package/dist/dto/refresh-token.dto.js +28 -0
  182. package/dist/dto/refresh-token.dto.js.map +1 -1
  183. package/dist/dto/remove-devices.dto.d.ts +51 -0
  184. package/dist/dto/remove-devices.dto.d.ts.map +1 -1
  185. package/dist/dto/remove-devices.dto.js +51 -0
  186. package/dist/dto/remove-devices.dto.js.map +1 -1
  187. package/dist/dto/resend-code-response.dto.d.ts +28 -0
  188. package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
  189. package/dist/dto/resend-code-response.dto.js +28 -0
  190. package/dist/dto/resend-code-response.dto.js.map +1 -1
  191. package/dist/dto/resend-code.dto.d.ts +37 -0
  192. package/dist/dto/resend-code.dto.d.ts.map +1 -1
  193. package/dist/dto/resend-code.dto.js +37 -0
  194. package/dist/dto/resend-code.dto.js.map +1 -1
  195. package/dist/dto/reset-password.dto.d.ts +74 -0
  196. package/dist/dto/reset-password.dto.d.ts.map +1 -1
  197. package/dist/dto/reset-password.dto.js +76 -1
  198. package/dist/dto/reset-password.dto.js.map +1 -1
  199. package/dist/dto/respond-challenge.dto.d.ts +147 -0
  200. package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
  201. package/dist/dto/respond-challenge.dto.js +162 -0
  202. package/dist/dto/respond-challenge.dto.js.map +1 -1
  203. package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
  204. package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
  205. package/dist/dto/set-mfa-exemption.dto.js +65 -0
  206. package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
  207. package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
  208. package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
  209. package/dist/dto/set-must-change-password-response.dto.js +23 -0
  210. package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
  211. package/dist/dto/set-must-change-password.dto.d.ts +32 -0
  212. package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
  213. package/dist/dto/set-must-change-password.dto.js +32 -0
  214. package/dist/dto/set-must-change-password.dto.js.map +1 -1
  215. package/dist/dto/set-preferred-method.dto.d.ts +48 -0
  216. package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
  217. package/dist/dto/set-preferred-method.dto.js +48 -0
  218. package/dist/dto/set-preferred-method.dto.js.map +1 -1
  219. package/dist/dto/setup-mfa.dto.d.ts +62 -0
  220. package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
  221. package/dist/dto/setup-mfa.dto.js +62 -0
  222. package/dist/dto/setup-mfa.dto.js.map +1 -1
  223. package/dist/dto/signup.dto.d.ts +92 -0
  224. package/dist/dto/signup.dto.d.ts.map +1 -1
  225. package/dist/dto/signup.dto.js +93 -0
  226. package/dist/dto/signup.dto.js.map +1 -1
  227. package/dist/dto/social-auth.dto.d.ts +234 -0
  228. package/dist/dto/social-auth.dto.d.ts.map +1 -1
  229. package/dist/dto/social-auth.dto.js +234 -0
  230. package/dist/dto/social-auth.dto.js.map +1 -1
  231. package/dist/dto/trust-device-response.dto.d.ts +26 -0
  232. package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
  233. package/dist/dto/trust-device-response.dto.js +26 -0
  234. package/dist/dto/trust-device-response.dto.js.map +1 -1
  235. package/dist/dto/trust-device.dto.d.ts +9 -0
  236. package/dist/dto/trust-device.dto.d.ts.map +1 -1
  237. package/dist/dto/trust-device.dto.js +9 -0
  238. package/dist/dto/trust-device.dto.js.map +1 -1
  239. package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
  240. package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
  241. package/dist/dto/update-user-attributes-request.dto.js +36 -0
  242. package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
  243. package/dist/dto/user-response.dto.d.ts +81 -0
  244. package/dist/dto/user-response.dto.d.ts.map +1 -1
  245. package/dist/dto/user-response.dto.js +84 -2
  246. package/dist/dto/user-response.dto.js.map +1 -1
  247. package/dist/dto/user-update.dto.d.ts +132 -0
  248. package/dist/dto/user-update.dto.d.ts.map +1 -1
  249. package/dist/dto/user-update.dto.js +133 -0
  250. package/dist/dto/user-update.dto.js.map +1 -1
  251. package/dist/dto/verify-email.dto.d.ts +171 -0
  252. package/dist/dto/verify-email.dto.d.ts.map +1 -1
  253. package/dist/dto/verify-email.dto.js +173 -1
  254. package/dist/dto/verify-email.dto.js.map +1 -1
  255. package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
  256. package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
  257. package/dist/dto/verify-mfa-code.dto.js +65 -0
  258. package/dist/dto/verify-mfa-code.dto.js.map +1 -1
  259. package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
  260. package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
  261. package/dist/dto/verify-phone-by-sub.dto.js +49 -0
  262. package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
  263. package/dist/dto/verify-phone.dto.d.ts +139 -0
  264. package/dist/dto/verify-phone.dto.d.ts.map +1 -1
  265. package/dist/dto/verify-phone.dto.js +142 -1
  266. package/dist/dto/verify-phone.dto.js.map +1 -1
  267. package/dist/dto.d.ts +10 -0
  268. package/dist/dto.d.ts.map +1 -1
  269. package/dist/dto.js +10 -0
  270. package/dist/dto.js.map +1 -1
  271. package/dist/entities/auth-audit.entity.d.ts +159 -0
  272. package/dist/entities/auth-audit.entity.d.ts.map +1 -1
  273. package/dist/entities/auth-audit.entity.js +166 -0
  274. package/dist/entities/auth-audit.entity.js.map +1 -1
  275. package/dist/entities/challenge-session.entity.d.ts +87 -0
  276. package/dist/entities/challenge-session.entity.d.ts.map +1 -1
  277. package/dist/entities/challenge-session.entity.js +87 -0
  278. package/dist/entities/challenge-session.entity.js.map +1 -1
  279. package/dist/entities/index.d.ts +18 -0
  280. package/dist/entities/index.d.ts.map +1 -1
  281. package/dist/entities/index.js +18 -0
  282. package/dist/entities/index.js.map +1 -1
  283. package/dist/entities/login-attempt.entity.d.ts +43 -0
  284. package/dist/entities/login-attempt.entity.d.ts.map +1 -1
  285. package/dist/entities/login-attempt.entity.js +43 -0
  286. package/dist/entities/login-attempt.entity.js.map +1 -1
  287. package/dist/entities/mfa-device.entity.d.ts +112 -0
  288. package/dist/entities/mfa-device.entity.d.ts.map +1 -1
  289. package/dist/entities/mfa-device.entity.js +112 -0
  290. package/dist/entities/mfa-device.entity.js.map +1 -1
  291. package/dist/entities/rate-limit.entity.d.ts +31 -0
  292. package/dist/entities/rate-limit.entity.d.ts.map +1 -1
  293. package/dist/entities/rate-limit.entity.js +31 -0
  294. package/dist/entities/rate-limit.entity.js.map +1 -1
  295. package/dist/entities/session.entity.d.ts +121 -0
  296. package/dist/entities/session.entity.d.ts.map +1 -1
  297. package/dist/entities/session.entity.js +121 -0
  298. package/dist/entities/session.entity.js.map +1 -1
  299. package/dist/entities/social-account.entity.d.ts +75 -0
  300. package/dist/entities/social-account.entity.d.ts.map +1 -1
  301. package/dist/entities/social-account.entity.js +75 -0
  302. package/dist/entities/social-account.entity.js.map +1 -1
  303. package/dist/entities/storage-lock.entity.d.ts +28 -0
  304. package/dist/entities/storage-lock.entity.d.ts.map +1 -1
  305. package/dist/entities/storage-lock.entity.js +28 -0
  306. package/dist/entities/storage-lock.entity.js.map +1 -1
  307. package/dist/entities/trusted-device.entity.d.ts +83 -0
  308. package/dist/entities/trusted-device.entity.d.ts.map +1 -1
  309. package/dist/entities/trusted-device.entity.js +83 -0
  310. package/dist/entities/trusted-device.entity.js.map +1 -1
  311. package/dist/entities/user.entity.d.ts +166 -0
  312. package/dist/entities/user.entity.d.ts.map +1 -1
  313. package/dist/entities/user.entity.js +166 -0
  314. package/dist/entities/user.entity.js.map +1 -1
  315. package/dist/entities/verification-token.entity.d.ts +102 -0
  316. package/dist/entities/verification-token.entity.d.ts.map +1 -1
  317. package/dist/entities/verification-token.entity.js +102 -0
  318. package/dist/entities/verification-token.entity.js.map +1 -1
  319. package/dist/entities.d.ts +8 -0
  320. package/dist/entities.d.ts.map +1 -1
  321. package/dist/entities.js +8 -0
  322. package/dist/entities.js.map +1 -1
  323. package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
  324. package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
  325. package/dist/enums/auth-audit-event-type.enum.js +244 -0
  326. package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
  327. package/dist/enums/error-codes.enum.d.ts +296 -0
  328. package/dist/enums/error-codes.enum.d.ts.map +1 -1
  329. package/dist/enums/error-codes.enum.js +332 -0
  330. package/dist/enums/error-codes.enum.js.map +1 -1
  331. package/dist/enums/mfa-method.enum.d.ts +74 -0
  332. package/dist/enums/mfa-method.enum.d.ts.map +1 -1
  333. package/dist/enums/mfa-method.enum.js +64 -0
  334. package/dist/enums/mfa-method.enum.js.map +1 -1
  335. package/dist/enums/risk-factor.enum.d.ts +91 -0
  336. package/dist/enums/risk-factor.enum.d.ts.map +1 -1
  337. package/dist/enums/risk-factor.enum.js +97 -0
  338. package/dist/enums/risk-factor.enum.js.map +1 -1
  339. package/dist/exceptions/nauth.exception.d.ts +149 -0
  340. package/dist/exceptions/nauth.exception.d.ts.map +1 -1
  341. package/dist/exceptions/nauth.exception.js +159 -0
  342. package/dist/exceptions/nauth.exception.js.map +1 -1
  343. package/dist/handlers/auth.handler.d.ts +32 -0
  344. package/dist/handlers/auth.handler.d.ts.map +1 -1
  345. package/dist/handlers/auth.handler.js +47 -1
  346. package/dist/handlers/auth.handler.js.map +1 -1
  347. package/dist/handlers/client-info.handler.d.ts +25 -0
  348. package/dist/handlers/client-info.handler.d.ts.map +1 -1
  349. package/dist/handlers/client-info.handler.js +36 -2
  350. package/dist/handlers/client-info.handler.js.map +1 -1
  351. package/dist/handlers/csrf.handler.d.ts +32 -0
  352. package/dist/handlers/csrf.handler.d.ts.map +1 -1
  353. package/dist/handlers/csrf.handler.js +49 -1
  354. package/dist/handlers/csrf.handler.js.map +1 -1
  355. package/dist/handlers/token-delivery.handler.d.ts +16 -0
  356. package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
  357. package/dist/handlers/token-delivery.handler.js +22 -1
  358. package/dist/handlers/token-delivery.handler.js.map +1 -1
  359. package/dist/index.d.ts +34 -0
  360. package/dist/index.d.ts.map +1 -1
  361. package/dist/index.js +67 -0
  362. package/dist/index.js.map +1 -1
  363. package/dist/interfaces/client-info.interface.d.ts +58 -0
  364. package/dist/interfaces/client-info.interface.d.ts.map +1 -1
  365. package/dist/interfaces/config.interface.d.ts +1780 -0
  366. package/dist/interfaces/config.interface.d.ts.map +1 -1
  367. package/dist/interfaces/config.interface.js +16 -0
  368. package/dist/interfaces/config.interface.js.map +1 -1
  369. package/dist/interfaces/entities.interface.d.ts +48 -0
  370. package/dist/interfaces/entities.interface.d.ts.map +1 -1
  371. package/dist/interfaces/entities.interface.js +8 -0
  372. package/dist/interfaces/entities.interface.js.map +1 -1
  373. package/dist/interfaces/index.js +5 -0
  374. package/dist/interfaces/index.js.map +1 -1
  375. package/dist/interfaces/logger.interface.d.ts +213 -0
  376. package/dist/interfaces/logger.interface.d.ts.map +1 -1
  377. package/dist/interfaces/logger.interface.js +35 -0
  378. package/dist/interfaces/logger.interface.js.map +1 -1
  379. package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
  380. package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
  381. package/dist/interfaces/oauth.interface.d.ts +110 -0
  382. package/dist/interfaces/oauth.interface.d.ts.map +1 -1
  383. package/dist/interfaces/provider.interface.d.ts +83 -0
  384. package/dist/interfaces/provider.interface.d.ts.map +1 -1
  385. package/dist/interfaces/sms-template.interface.d.ts +246 -0
  386. package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
  387. package/dist/interfaces/sms-template.interface.js +26 -0
  388. package/dist/interfaces/sms-template.interface.js.map +1 -1
  389. package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
  390. package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
  391. package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
  392. package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
  393. package/dist/interfaces/template.interface.d.ts +351 -0
  394. package/dist/interfaces/template.interface.d.ts.map +1 -1
  395. package/dist/interfaces/template.interface.js +13 -0
  396. package/dist/interfaces/template.interface.js.map +1 -1
  397. package/dist/interfaces/token-verifier.interface.d.ts +101 -0
  398. package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
  399. package/dist/interfaces.d.ts +8 -0
  400. package/dist/interfaces.d.ts.map +1 -1
  401. package/dist/interfaces.js +8 -0
  402. package/dist/interfaces.js.map +1 -1
  403. package/dist/internal.d.ts +120 -0
  404. package/dist/internal.d.ts.map +1 -1
  405. package/dist/internal.js +138 -0
  406. package/dist/internal.js.map +1 -1
  407. package/dist/platform/interfaces.d.ts +187 -0
  408. package/dist/platform/interfaces.d.ts.map +1 -1
  409. package/dist/platform/interfaces.js +11 -0
  410. package/dist/platform/interfaces.js.map +1 -1
  411. package/dist/schemas/auth-config.schema.d.ts +62 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +189 -9
  414. package/dist/schemas/auth-config.schema.js.map +1 -1
  415. package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
  416. package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
  417. package/dist/services/adaptive-mfa-decision.service.js +151 -5
  418. package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
  419. package/dist/services/auth-audit.service.d.ts +195 -0
  420. package/dist/services/auth-audit.service.d.ts.map +1 -1
  421. package/dist/services/auth-audit.service.js +228 -1
  422. package/dist/services/auth-audit.service.js.map +1 -1
  423. package/dist/services/auth-challenge-helper.service.d.ts +144 -1
  424. package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
  425. package/dist/services/auth-challenge-helper.service.js +295 -16
  426. package/dist/services/auth-challenge-helper.service.js.map +1 -1
  427. package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
  428. package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
  429. package/dist/services/auth-flow-context-builder.service.js +184 -5
  430. package/dist/services/auth-flow-context-builder.service.js.map +1 -1
  431. package/dist/services/auth-flow-rules.d.ts +136 -0
  432. package/dist/services/auth-flow-rules.d.ts.map +1 -1
  433. package/dist/services/auth-flow-rules.js +137 -0
  434. package/dist/services/auth-flow-rules.js.map +1 -1
  435. package/dist/services/auth-flow-state-definitions.d.ts +40 -0
  436. package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
  437. package/dist/services/auth-flow-state-definitions.js +98 -0
  438. package/dist/services/auth-flow-state-definitions.js.map +1 -1
  439. package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
  440. package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
  441. package/dist/services/auth-flow-state-machine.service.js +102 -0
  442. package/dist/services/auth-flow-state-machine.service.js.map +1 -1
  443. package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
  444. package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
  445. package/dist/services/auth-flow-state-machine.types.js +47 -0
  446. package/dist/services/auth-flow-state-machine.types.js.map +1 -1
  447. package/dist/services/auth.service.d.ts +397 -1
  448. package/dist/services/auth.service.d.ts.map +1 -1
  449. package/dist/services/auth.service.js +943 -27
  450. package/dist/services/auth.service.js.map +1 -1
  451. package/dist/services/challenge.service.d.ts +255 -1
  452. package/dist/services/challenge.service.d.ts.map +1 -1
  453. package/dist/services/challenge.service.js +327 -3
  454. package/dist/services/challenge.service.js.map +1 -1
  455. package/dist/services/client-info.service.d.ts +143 -0
  456. package/dist/services/client-info.service.d.ts.map +1 -1
  457. package/dist/services/client-info.service.js +161 -0
  458. package/dist/services/client-info.service.js.map +1 -1
  459. package/dist/services/csrf.service.d.ts +15 -0
  460. package/dist/services/csrf.service.d.ts.map +1 -1
  461. package/dist/services/csrf.service.js +16 -0
  462. package/dist/services/csrf.service.js.map +1 -1
  463. package/dist/services/email-verification.service.d.ts +52 -0
  464. package/dist/services/email-verification.service.d.ts.map +1 -1
  465. package/dist/services/email-verification.service.js +152 -12
  466. package/dist/services/email-verification.service.js.map +1 -1
  467. package/dist/services/geo-location.service.d.ts +105 -0
  468. package/dist/services/geo-location.service.d.ts.map +1 -1
  469. package/dist/services/geo-location.service.js +188 -2
  470. package/dist/services/geo-location.service.js.map +1 -1
  471. package/dist/services/jwt.service.d.ts +257 -0
  472. package/dist/services/jwt.service.d.ts.map +1 -1
  473. package/dist/services/jwt.service.js +284 -1
  474. package/dist/services/jwt.service.js.map +1 -1
  475. package/dist/services/mfa-base.service.d.ts +179 -1
  476. package/dist/services/mfa-base.service.d.ts.map +1 -1
  477. package/dist/services/mfa-base.service.js +256 -2
  478. package/dist/services/mfa-base.service.js.map +1 -1
  479. package/dist/services/mfa.service.d.ts +304 -0
  480. package/dist/services/mfa.service.d.ts.map +1 -1
  481. package/dist/services/mfa.service.js +380 -0
  482. package/dist/services/mfa.service.js.map +1 -1
  483. package/dist/services/password-reset.service.d.ts +46 -0
  484. package/dist/services/password-reset.service.d.ts.map +1 -1
  485. package/dist/services/password-reset.service.js +79 -0
  486. package/dist/services/password-reset.service.js.map +1 -1
  487. package/dist/services/password.service.d.ts +139 -0
  488. package/dist/services/password.service.d.ts.map +1 -1
  489. package/dist/services/password.service.js +167 -9
  490. package/dist/services/password.service.js.map +1 -1
  491. package/dist/services/phone-verification.service.d.ts +75 -0
  492. package/dist/services/phone-verification.service.d.ts.map +1 -1
  493. package/dist/services/phone-verification.service.js +188 -6
  494. package/dist/services/phone-verification.service.js.map +1 -1
  495. package/dist/services/risk-detection.service.d.ts +198 -0
  496. package/dist/services/risk-detection.service.d.ts.map +1 -1
  497. package/dist/services/risk-detection.service.js +358 -11
  498. package/dist/services/risk-detection.service.js.map +1 -1
  499. package/dist/services/risk-scoring.service.d.ts +84 -0
  500. package/dist/services/risk-scoring.service.d.ts.map +1 -1
  501. package/dist/services/risk-scoring.service.js +87 -0
  502. package/dist/services/risk-scoring.service.js.map +1 -1
  503. package/dist/services/session.service.d.ts +204 -0
  504. package/dist/services/session.service.d.ts.map +1 -1
  505. package/dist/services/session.service.js +289 -4
  506. package/dist/services/session.service.js.map +1 -1
  507. package/dist/services/social-auth-base.service.d.ts +123 -1
  508. package/dist/services/social-auth-base.service.d.ts.map +1 -1
  509. package/dist/services/social-auth-base.service.js +155 -2
  510. package/dist/services/social-auth-base.service.js.map +1 -1
  511. package/dist/services/social-auth.service.d.ts +191 -0
  512. package/dist/services/social-auth.service.d.ts.map +1 -1
  513. package/dist/services/social-auth.service.js +215 -2
  514. package/dist/services/social-auth.service.js.map +1 -1
  515. package/dist/services/social-provider-registry.service.d.ts +86 -0
  516. package/dist/services/social-provider-registry.service.d.ts.map +1 -1
  517. package/dist/services/social-provider-registry.service.js +86 -0
  518. package/dist/services/social-provider-registry.service.js.map +1 -1
  519. package/dist/services/trusted-device.service.d.ts +105 -0
  520. package/dist/services/trusted-device.service.d.ts.map +1 -1
  521. package/dist/services/trusted-device.service.js +133 -4
  522. package/dist/services/trusted-device.service.js.map +1 -1
  523. package/dist/storage/account-lockout-storage.service.d.ts +35 -0
  524. package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
  525. package/dist/storage/account-lockout-storage.service.js +35 -0
  526. package/dist/storage/account-lockout-storage.service.js.map +1 -1
  527. package/dist/storage/memory-storage.adapter.d.ts +148 -0
  528. package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
  529. package/dist/storage/memory-storage.adapter.js +201 -6
  530. package/dist/storage/memory-storage.adapter.js.map +1 -1
  531. package/dist/storage/rate-limit-storage.service.d.ts +3 -0
  532. package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
  533. package/dist/storage/rate-limit-storage.service.js +4 -0
  534. package/dist/storage/rate-limit-storage.service.js.map +1 -1
  535. package/dist/storage.d.ts +8 -0
  536. package/dist/storage.d.ts.map +1 -1
  537. package/dist/storage.js +8 -0
  538. package/dist/storage.js.map +1 -1
  539. package/dist/templates/html-template.engine.d.ts +110 -0
  540. package/dist/templates/html-template.engine.d.ts.map +1 -1
  541. package/dist/templates/html-template.engine.js +147 -0
  542. package/dist/templates/html-template.engine.js.map +1 -1
  543. package/dist/templates/index.d.ts +5 -0
  544. package/dist/templates/index.d.ts.map +1 -1
  545. package/dist/templates/index.js +5 -0
  546. package/dist/templates/index.js.map +1 -1
  547. package/dist/templates/sms-template.engine.d.ts +151 -0
  548. package/dist/templates/sms-template.engine.d.ts.map +1 -1
  549. package/dist/templates/sms-template.engine.js +171 -0
  550. package/dist/templates/sms-template.engine.js.map +1 -1
  551. package/dist/templates.d.ts +8 -0
  552. package/dist/templates.d.ts.map +1 -1
  553. package/dist/templates.js +8 -0
  554. package/dist/templates.js.map +1 -1
  555. package/dist/utils/common-passwords.d.ts +42 -0
  556. package/dist/utils/common-passwords.d.ts.map +1 -1
  557. package/dist/utils/common-passwords.js +88 -0
  558. package/dist/utils/common-passwords.js.map +1 -1
  559. package/dist/utils/context-storage.d.ts +129 -0
  560. package/dist/utils/context-storage.d.ts.map +1 -1
  561. package/dist/utils/context-storage.js +129 -0
  562. package/dist/utils/context-storage.js.map +1 -1
  563. package/dist/utils/cookie-names.util.d.ts +35 -0
  564. package/dist/utils/cookie-names.util.d.ts.map +1 -1
  565. package/dist/utils/cookie-names.util.js +37 -0
  566. package/dist/utils/cookie-names.util.js.map +1 -1
  567. package/dist/utils/cookies.util.d.ts +19 -0
  568. package/dist/utils/cookies.util.d.ts.map +1 -1
  569. package/dist/utils/cookies.util.js +30 -3
  570. package/dist/utils/cookies.util.js.map +1 -1
  571. package/dist/utils/index.d.ts +3 -0
  572. package/dist/utils/index.d.ts.map +1 -1
  573. package/dist/utils/index.js +4 -0
  574. package/dist/utils/index.js.map +1 -1
  575. package/dist/utils/ip-extractor.d.ts +88 -0
  576. package/dist/utils/ip-extractor.d.ts.map +1 -1
  577. package/dist/utils/ip-extractor.js +109 -16
  578. package/dist/utils/ip-extractor.js.map +1 -1
  579. package/dist/utils/nauth-logger.d.ts +70 -0
  580. package/dist/utils/nauth-logger.d.ts.map +1 -1
  581. package/dist/utils/nauth-logger.js +82 -4
  582. package/dist/utils/nauth-logger.js.map +1 -1
  583. package/dist/utils/pii-redactor.d.ts +70 -0
  584. package/dist/utils/pii-redactor.d.ts.map +1 -1
  585. package/dist/utils/pii-redactor.js +102 -0
  586. package/dist/utils/pii-redactor.js.map +1 -1
  587. package/dist/utils/setup/get-repositories.d.ts +16 -0
  588. package/dist/utils/setup/get-repositories.d.ts.map +1 -1
  589. package/dist/utils/setup/get-repositories.js +21 -0
  590. package/dist/utils/setup/get-repositories.js.map +1 -1
  591. package/dist/utils/setup/init-services.d.ts +40 -1
  592. package/dist/utils/setup/init-services.d.ts.map +1 -1
  593. package/dist/utils/setup/init-services.js +98 -0
  594. package/dist/utils/setup/init-services.js.map +1 -1
  595. package/dist/utils/setup/init-social.d.ts +27 -0
  596. package/dist/utils/setup/init-social.d.ts.map +1 -1
  597. package/dist/utils/setup/init-social.js +49 -0
  598. package/dist/utils/setup/init-social.js.map +1 -1
  599. package/dist/utils/setup/init-storage.d.ts +22 -0
  600. package/dist/utils/setup/init-storage.d.ts.map +1 -1
  601. package/dist/utils/setup/init-storage.js +36 -0
  602. package/dist/utils/setup/init-storage.js.map +1 -1
  603. package/dist/utils/setup/register-mfa.d.ts +22 -0
  604. package/dist/utils/setup/register-mfa.d.ts.map +1 -1
  605. package/dist/utils/setup/register-mfa.js +41 -0
  606. package/dist/utils/setup/register-mfa.js.map +1 -1
  607. package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
  608. package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
  609. package/dist/utils/setup/run-nauth-migrations.js +8 -0
  610. package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
  611. package/dist/utils/token-delivery-policy.d.ts +17 -0
  612. package/dist/utils/token-delivery-policy.d.ts.map +1 -1
  613. package/dist/utils/token-delivery-policy.js +17 -0
  614. package/dist/utils/token-delivery-policy.js.map +1 -1
  615. package/dist/utils.d.ts +8 -0
  616. package/dist/utils.d.ts.map +1 -1
  617. package/dist/utils.js +8 -0
  618. package/dist/utils.js.map +1 -1
  619. package/dist/validators/template.validator.d.ts +80 -0
  620. package/dist/validators/template.validator.d.ts.map +1 -1
  621. package/dist/validators/template.validator.js +94 -0
  622. package/dist/validators/template.validator.js.map +1 -1
  623. package/package.json +7 -2
@@ -1,22 +1,134 @@
1
1
  import { MFADeviceMethod } from '../enums/mfa-method.enum';
2
+ /**
3
+ * Base MFA Device Entity
4
+ *
5
+ * Stores multi-factor authentication device registrations.
6
+ * Supports multiple MFA methods: TOTP (authenticator apps), SMS, Email, and Passkeys (WebAuthn).
7
+ * Database adapters extend this class and add ORM-specific decorators.
8
+ *
9
+ * @remarks
10
+ * Each user can register multiple MFA devices of different types for redundancy.
11
+ * Devices can be enabled/disabled without deletion for security audit purposes.
12
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
13
+ * extend this class in their respective packages.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Create TOTP device
18
+ * const totpDevice = new MFADevice();
19
+ * totpDevice.userId = user.id;
20
+ * totpDevice.type = 'totp';
21
+ * totpDevice.name = 'Google Authenticator';
22
+ * totpDevice.secret = encryptedSecret;
23
+ * totpDevice.isActive = true;
24
+ *
25
+ * // Create Passkey device
26
+ * const passkeyDevice = new MFADevice();
27
+ * passkeyDevice.userId = user.id;
28
+ * passkeyDevice.type = 'passkey';
29
+ * passkeyDevice.name = 'iPhone 15 Pro';
30
+ * passkeyDevice.credentialId = 'credential-id-here';
31
+ * passkeyDevice.publicKey = 'public-key-here';
32
+ * passkeyDevice.counter = 0;
33
+ * passkeyDevice.isActive = true;
34
+ * ```
35
+ */
2
36
  export declare class BaseMFADevice {
37
+ /**
38
+ * Internal device ID (auto-increment integer)
39
+ */
3
40
  id: number;
41
+ /**
42
+ * Internal user ID (foreign key to users table)
43
+ * References the user who owns this MFA device
44
+ */
4
45
  userId: number;
46
+ /**
47
+ * MFA method type
48
+ *
49
+ * - 'totp': Time-based One-Time Password (Google Authenticator, Authy, etc.)
50
+ * - 'sms': SMS-based verification codes
51
+ * - 'email': Email-based verification codes
52
+ * - 'passkey': WebAuthn/FIDO2 passkeys (biometric, security keys)
53
+ */
5
54
  type: MFADeviceMethod;
55
+ /**
56
+ * User-friendly device name
57
+ * Helps users identify their devices (e.g., "iPhone 15 Pro", "Google Authenticator")
58
+ */
6
59
  name: string;
60
+ /**
61
+ * TOTP secret (encrypted)
62
+ * Used only for TOTP devices
63
+ * SECURITY: Must be encrypted at rest
64
+ */
7
65
  secret?: string | null;
66
+ /**
67
+ * Phone number for SMS MFA
68
+ * Used only for SMS devices
69
+ * Must be in E.164 format (e.g., +1234567890)
70
+ */
8
71
  phoneNumber?: string | null;
72
+ /**
73
+ * Email address for Email MFA
74
+ * Used only for Email devices
75
+ * Must be a valid email address format
76
+ */
9
77
  email?: string | null;
78
+ /**
79
+ * WebAuthn credential ID (base64url encoded)
80
+ * Unique identifier for this passkey
81
+ * Used only for passkey devices
82
+ */
10
83
  credentialId?: string | null;
84
+ /**
85
+ * WebAuthn public key (base64url encoded)
86
+ * Used to verify passkey signatures
87
+ * Used only for passkey devices
88
+ */
11
89
  publicKey?: string | null;
90
+ /**
91
+ * WebAuthn signature counter
92
+ * Incremented with each authentication to prevent replay attacks
93
+ * Used only for passkey devices
94
+ */
12
95
  counter?: number | null;
96
+ /**
97
+ * WebAuthn transports (USB, NFC, BLE, internal)
98
+ * Helps browser suggest the right authentication method
99
+ * Used only for passkey devices
100
+ */
13
101
  transports?: string[] | null;
102
+ /**
103
+ * Whether this device is currently active
104
+ * Inactive devices cannot be used for authentication but remain in database for audit
105
+ */
14
106
  isActive: boolean;
107
+ /**
108
+ * Whether this is the user's preferred/primary MFA method
109
+ * Used to pre-select MFA method during authentication
110
+ */
15
111
  isPrimary: boolean;
112
+ /**
113
+ * Last time this device was used for authentication
114
+ */
16
115
  lastUsedAt?: Date | null;
116
+ /**
117
+ * Number of times this device has been used
118
+ * Useful for analytics and detecting suspicious patterns
119
+ */
17
120
  usageCount: number;
121
+ /**
122
+ * Additional device metadata (browser, OS, IP on registration, etc.)
123
+ */
18
124
  metadata?: Record<string, unknown> | null;
125
+ /**
126
+ * Device registration timestamp
127
+ */
19
128
  createdAt: Date;
129
+ /**
130
+ * Last update timestamp
131
+ */
20
132
  updatedAt: Date;
21
133
  }
22
134
  //# sourceMappingURL=mfa-device.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfa-device.entity.d.ts","sourceRoot":"","sources":["../../src/entities/mfa-device.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAoC3D,qBAAa,aAAa;IAIxB,EAAE,EAAG,MAAM,CAAC;IAMZ,MAAM,EAAG,MAAM,CAAC;IAUhB,IAAI,EAAG,eAAe,CAAC;IAMvB,IAAI,EAAG,MAAM,CAAC;IAOd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOxB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAM7B,QAAQ,EAAG,OAAO,CAAC;IAMnB,SAAS,EAAG,OAAO,CAAC;IAKpB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAMzB,UAAU,EAAG,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAK1C,SAAS,EAAG,IAAI,CAAC;IAKjB,SAAS,EAAG,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"mfa-device.entity.d.ts","sourceRoot":"","sources":["../../src/entities/mfa-device.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAG,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,IAAI,EAAG,eAAe,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B;;;OAGG;IACH,QAAQ,EAAG,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,EAAG,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -1,24 +1,136 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMFADevice = void 0;
4
+ /**
5
+ * Base MFA Device Entity
6
+ *
7
+ * Stores multi-factor authentication device registrations.
8
+ * Supports multiple MFA methods: TOTP (authenticator apps), SMS, Email, and Passkeys (WebAuthn).
9
+ * Database adapters extend this class and add ORM-specific decorators.
10
+ *
11
+ * @remarks
12
+ * Each user can register multiple MFA devices of different types for redundancy.
13
+ * Devices can be enabled/disabled without deletion for security audit purposes.
14
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
15
+ * extend this class in their respective packages.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Create TOTP device
20
+ * const totpDevice = new MFADevice();
21
+ * totpDevice.userId = user.id;
22
+ * totpDevice.type = 'totp';
23
+ * totpDevice.name = 'Google Authenticator';
24
+ * totpDevice.secret = encryptedSecret;
25
+ * totpDevice.isActive = true;
26
+ *
27
+ * // Create Passkey device
28
+ * const passkeyDevice = new MFADevice();
29
+ * passkeyDevice.userId = user.id;
30
+ * passkeyDevice.type = 'passkey';
31
+ * passkeyDevice.name = 'iPhone 15 Pro';
32
+ * passkeyDevice.credentialId = 'credential-id-here';
33
+ * passkeyDevice.publicKey = 'public-key-here';
34
+ * passkeyDevice.counter = 0;
35
+ * passkeyDevice.isActive = true;
36
+ * ```
37
+ */
4
38
  class BaseMFADevice {
39
+ /**
40
+ * Internal device ID (auto-increment integer)
41
+ */
5
42
  id;
43
+ /**
44
+ * Internal user ID (foreign key to users table)
45
+ * References the user who owns this MFA device
46
+ */
6
47
  userId;
48
+ /**
49
+ * MFA method type
50
+ *
51
+ * - 'totp': Time-based One-Time Password (Google Authenticator, Authy, etc.)
52
+ * - 'sms': SMS-based verification codes
53
+ * - 'email': Email-based verification codes
54
+ * - 'passkey': WebAuthn/FIDO2 passkeys (biometric, security keys)
55
+ */
7
56
  type;
57
+ /**
58
+ * User-friendly device name
59
+ * Helps users identify their devices (e.g., "iPhone 15 Pro", "Google Authenticator")
60
+ */
8
61
  name;
62
+ /**
63
+ * TOTP secret (encrypted)
64
+ * Used only for TOTP devices
65
+ * SECURITY: Must be encrypted at rest
66
+ */
9
67
  secret;
68
+ /**
69
+ * Phone number for SMS MFA
70
+ * Used only for SMS devices
71
+ * Must be in E.164 format (e.g., +1234567890)
72
+ */
10
73
  phoneNumber;
74
+ /**
75
+ * Email address for Email MFA
76
+ * Used only for Email devices
77
+ * Must be a valid email address format
78
+ */
11
79
  email;
80
+ /**
81
+ * WebAuthn credential ID (base64url encoded)
82
+ * Unique identifier for this passkey
83
+ * Used only for passkey devices
84
+ */
12
85
  credentialId;
86
+ /**
87
+ * WebAuthn public key (base64url encoded)
88
+ * Used to verify passkey signatures
89
+ * Used only for passkey devices
90
+ */
13
91
  publicKey;
92
+ /**
93
+ * WebAuthn signature counter
94
+ * Incremented with each authentication to prevent replay attacks
95
+ * Used only for passkey devices
96
+ */
14
97
  counter;
98
+ /**
99
+ * WebAuthn transports (USB, NFC, BLE, internal)
100
+ * Helps browser suggest the right authentication method
101
+ * Used only for passkey devices
102
+ */
15
103
  transports;
104
+ /**
105
+ * Whether this device is currently active
106
+ * Inactive devices cannot be used for authentication but remain in database for audit
107
+ */
16
108
  isActive;
109
+ /**
110
+ * Whether this is the user's preferred/primary MFA method
111
+ * Used to pre-select MFA method during authentication
112
+ */
17
113
  isPrimary;
114
+ /**
115
+ * Last time this device was used for authentication
116
+ */
18
117
  lastUsedAt;
118
+ /**
119
+ * Number of times this device has been used
120
+ * Useful for analytics and detecting suspicious patterns
121
+ */
19
122
  usageCount;
123
+ /**
124
+ * Additional device metadata (browser, OS, IP on registration, etc.)
125
+ */
20
126
  metadata;
127
+ /**
128
+ * Device registration timestamp
129
+ */
21
130
  createdAt;
131
+ /**
132
+ * Last update timestamp
133
+ */
22
134
  updatedAt;
23
135
  }
24
136
  exports.BaseMFADevice = BaseMFADevice;
@@ -1 +1 @@
1
- {"version":3,"file":"mfa-device.entity.js","sourceRoot":"","sources":["../../src/entities/mfa-device.entity.ts"],"names":[],"mappings":";;;AAoCA,MAAa,aAAa;IAIxB,EAAE,CAAU;IAMZ,MAAM,CAAU;IAUhB,IAAI,CAAmB;IAMvB,IAAI,CAAU;IAOd,MAAM,CAAiB;IAOvB,WAAW,CAAiB;IAO5B,KAAK,CAAiB;IAOtB,YAAY,CAAiB;IAO7B,SAAS,CAAiB;IAO1B,OAAO,CAAiB;IAOxB,UAAU,CAAmB;IAM7B,QAAQ,CAAW;IAMnB,SAAS,CAAW;IAKpB,UAAU,CAAe;IAMzB,UAAU,CAAU;IAKpB,QAAQ,CAAkC;IAK1C,SAAS,CAAQ;IAKjB,SAAS,CAAQ;CAClB;AAlHD,sCAkHC"}
1
+ {"version":3,"file":"mfa-device.entity.js","sourceRoot":"","sources":["../../src/entities/mfa-device.entity.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAa,aAAa;IACxB;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,MAAM,CAAU;IAEhB;;;;;;;OAOG;IACH,IAAI,CAAmB;IAEvB;;;OAGG;IACH,IAAI,CAAU;IAEd;;;;OAIG;IACH,MAAM,CAAiB;IAEvB;;;;OAIG;IACH,WAAW,CAAiB;IAE5B;;;;OAIG;IACH,KAAK,CAAiB;IAEtB;;;;OAIG;IACH,YAAY,CAAiB;IAE7B;;;;OAIG;IACH,SAAS,CAAiB;IAE1B;;;;OAIG;IACH,OAAO,CAAiB;IAExB;;;;OAIG;IACH,UAAU,CAAmB;IAE7B;;;OAGG;IACH,QAAQ,CAAW;IAEnB;;;OAGG;IACH,SAAS,CAAW;IAEpB;;OAEG;IACH,UAAU,CAAe;IAEzB;;;OAGG;IACH,UAAU,CAAU;IAEpB;;OAEG;IACH,QAAQ,CAAkC;IAE1C;;OAEG;IACH,SAAS,CAAQ;IAEjB;;OAEG;IACH,SAAS,CAAQ;CAClB;AAlHD,sCAkHC"}
@@ -1,9 +1,40 @@
1
+ /**
2
+ * Base Rate Limit Entity
3
+ *
4
+ * Stores rate limiting counters for transient state management.
5
+ * Used by DatabaseStorageAdapter to track rate limits across multiple servers.
6
+ *
7
+ * @remarks
8
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
9
+ * extend this class in their respective packages.
10
+ */
1
11
  export declare class BaseRateLimit {
12
+ /**
13
+ * Internal rate limit record ID (auto-increment integer)
14
+ */
2
15
  id: number;
16
+ /**
17
+ * Unique key identifier for the rate limit counter
18
+ * Format: <endpoint>:<identifier> (e.g., "email-verification:user:123")
19
+ */
3
20
  key: string;
21
+ /**
22
+ * Counter value (stored as string, parsed as integer)
23
+ */
4
24
  value: string;
25
+ /**
26
+ * Expiration timestamp
27
+ * Used for TTL-based cleanup via scheduled jobs
28
+ * Can be null for records that don't expire immediately
29
+ */
5
30
  expiresAt: Date | null;
31
+ /**
32
+ * Record creation timestamp
33
+ */
6
34
  createdAt: Date;
35
+ /**
36
+ * Record last update timestamp
37
+ */
7
38
  updatedAt: Date;
8
39
  }
9
40
  //# sourceMappingURL=rate-limit.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.entity.d.ts","sourceRoot":"","sources":["../../src/entities/rate-limit.entity.ts"],"names":[],"mappings":"AAUA,qBAAa,aAAa;IAIxB,EAAE,EAAG,MAAM,CAAC;IAMZ,GAAG,EAAG,MAAM,CAAC;IAKb,KAAK,EAAG,MAAM,CAAC;IAOf,SAAS,EAAG,IAAI,GAAG,IAAI,CAAC;IAKxB,SAAS,EAAG,IAAI,CAAC;IAKjB,SAAS,EAAG,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"rate-limit.entity.d.ts","sourceRoot":"","sources":["../../src/entities/rate-limit.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAG,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAG,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAG,IAAI,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -1,12 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseRateLimit = void 0;
4
+ /**
5
+ * Base Rate Limit Entity
6
+ *
7
+ * Stores rate limiting counters for transient state management.
8
+ * Used by DatabaseStorageAdapter to track rate limits across multiple servers.
9
+ *
10
+ * @remarks
11
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
12
+ * extend this class in their respective packages.
13
+ */
4
14
  class BaseRateLimit {
15
+ /**
16
+ * Internal rate limit record ID (auto-increment integer)
17
+ */
5
18
  id;
19
+ /**
20
+ * Unique key identifier for the rate limit counter
21
+ * Format: <endpoint>:<identifier> (e.g., "email-verification:user:123")
22
+ */
6
23
  key;
24
+ /**
25
+ * Counter value (stored as string, parsed as integer)
26
+ */
7
27
  value;
28
+ /**
29
+ * Expiration timestamp
30
+ * Used for TTL-based cleanup via scheduled jobs
31
+ * Can be null for records that don't expire immediately
32
+ */
8
33
  expiresAt;
34
+ /**
35
+ * Record creation timestamp
36
+ */
9
37
  createdAt;
38
+ /**
39
+ * Record last update timestamp
40
+ */
10
41
  updatedAt;
11
42
  }
12
43
  exports.BaseRateLimit = BaseRateLimit;
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.entity.js","sourceRoot":"","sources":["../../src/entities/rate-limit.entity.ts"],"names":[],"mappings":";;;AAUA,MAAa,aAAa;IAIxB,EAAE,CAAU;IAMZ,GAAG,CAAU;IAKb,KAAK,CAAU;IAOf,SAAS,CAAe;IAKxB,SAAS,CAAQ;IAKjB,SAAS,CAAQ;CAClB;AAjCD,sCAiCC"}
1
+ {"version":3,"file":"rate-limit.entity.js","sourceRoot":"","sources":["../../src/entities/rate-limit.entity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,aAAa;IACxB;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,GAAG,CAAU;IAEb;;OAEG;IACH,KAAK,CAAU;IAEf;;;;OAIG;IACH,SAAS,CAAe;IAExB;;OAEG;IACH,SAAS,CAAQ;IAEjB;;OAEG;IACH,SAAS,CAAQ;CAClB;AAjCD,sCAiCC"}
@@ -1,32 +1,153 @@
1
+ /**
2
+ * Base Session Entity
3
+ *
4
+ * JWT session tracking with device information and security features.
5
+ * Database adapters extend this class and add ORM-specific decorators.
6
+ *
7
+ * @remarks
8
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
9
+ * extend this class in their respective packages.
10
+ */
1
11
  export declare class BaseSession {
12
+ /**
13
+ * Internal session ID (auto-increment integer)
14
+ */
2
15
  id: number;
16
+ /**
17
+ * Version for optimistic locking
18
+ * Automatically incremented on each update by the ORM
19
+ * Used to detect race conditions and concurrent modifications
20
+ *
21
+ * SECURITY CRITICAL: Prevents TOCTOU vulnerabilities
22
+ */
3
23
  version: number;
24
+ /**
25
+ * Internal user ID (foreign key to users table)
26
+ * Uses integer for optimal performance in joins and lookups
27
+ */
4
28
  userId: number;
29
+ /**
30
+ * Access token hash (SHA-256)
31
+ * Used for token revocation and session tracking
32
+ */
5
33
  accessTokenHash: string;
34
+ /**
35
+ * Refresh token hash (SHA-256)
36
+ * Used for token rotation and reuse detection
37
+ */
6
38
  refreshTokenHash: string;
39
+ /**
40
+ * Token family identifier
41
+ * Used for refresh token rotation and reuse detection
42
+ */
7
43
  tokenFamily?: string | null;
44
+ /**
45
+ * Device identifier (UUID)
46
+ * Unique identifier for the device/browser
47
+ */
8
48
  deviceId?: string | null;
49
+ /**
50
+ * User-friendly device name
51
+ * Examples: "iPhone 15 Pro", "Chrome on MacBook"
52
+ */
9
53
  deviceName?: string | null;
54
+ /**
55
+ * Device type
56
+ * Examples: "mobile", "desktop", "tablet"
57
+ */
10
58
  deviceType?: string | null;
59
+ /**
60
+ * Device fingerprint hash
61
+ * Combination of device characteristics for additional security
62
+ */
11
63
  deviceFingerprint?: string | null;
64
+ /**
65
+ * IP address when session was created
66
+ */
12
67
  ipAddress?: string | null;
68
+ /**
69
+ * Country from IP geolocation (optional)
70
+ */
13
71
  ipCountry?: string | null;
72
+ /**
73
+ * City from IP geolocation (optional)
74
+ */
14
75
  ipCity?: string | null;
76
+ /**
77
+ * Latitude from IP geolocation (optional)
78
+ * Used for impossible travel detection
79
+ */
15
80
  ipLatitude?: number | null;
81
+ /**
82
+ * Longitude from IP geolocation (optional)
83
+ * Used for impossible travel detection
84
+ */
16
85
  ipLongitude?: number | null;
86
+ /**
87
+ * ISP from IP geolocation (optional)
88
+ */
17
89
  ipIsp?: string | null;
90
+ /**
91
+ * User agent string
92
+ */
18
93
  userAgent?: string | null;
94
+ /**
95
+ * Platform extracted from user agent
96
+ * Examples: "iOS", "Android", "Windows", "macOS"
97
+ */
19
98
  platform?: string | null;
99
+ /**
100
+ * Browser extracted from user agent
101
+ * Examples: "Chrome", "Safari", "Firefox"
102
+ */
20
103
  browser?: string | null;
104
+ /**
105
+ * Authentication method used to create this session
106
+ * Examples: "password", "google", "facebook", "github", "apple"
107
+ * null for legacy sessions
108
+ */
21
109
  authMethod?: string | null;
110
+ /**
111
+ * "Remember me" flag
112
+ * Longer expiration for remembered sessions
113
+ */
22
114
  isRemembered: boolean;
115
+ /**
116
+ * Trusted device flag
117
+ * Trusted devices may skip MFA
118
+ */
23
119
  isTrustedDevice: boolean;
120
+ /**
121
+ * Session expiration timestamp
122
+ * After this time, session is invalid
123
+ */
24
124
  expiresAt: Date;
125
+ /**
126
+ * Last activity timestamp
127
+ * Updated on each API request
128
+ */
25
129
  lastActivityAt?: Date | null;
130
+ /**
131
+ * Session revocation status
132
+ * Revoked sessions cannot be used
133
+ */
26
134
  isRevoked: boolean;
135
+ /**
136
+ * When session was revoked
137
+ */
27
138
  revokedAt?: Date | null;
139
+ /**
140
+ * Reason for session revocation
141
+ * Examples: "user_logout", "token_reuse_detected", "admin_revoked"
142
+ */
28
143
  revokeReason?: string | null;
144
+ /**
145
+ * Additional session metadata (JSON)
146
+ */
29
147
  metadata?: Record<string, unknown> | null;
148
+ /**
149
+ * Session creation timestamp
150
+ */
30
151
  createdAt: Date;
31
152
  }
32
153
  //# sourceMappingURL=session.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/session.entity.ts"],"names":[],"mappings":"AAUA,qBAAa,WAAW;IAItB,EAAE,EAAG,MAAM,CAAC;IASZ,OAAO,EAAG,MAAM,CAAC;IAMjB,MAAM,EAAG,MAAM,CAAC;IAMhB,eAAe,EAAG,MAAM,CAAC;IAMzB,gBAAgB,EAAG,MAAM,CAAC;IAM1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKlC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,YAAY,EAAG,OAAO,CAAC;IAMvB,eAAe,EAAG,OAAO,CAAC;IAM1B,SAAS,EAAG,IAAI,CAAC;IAMjB,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAM7B,SAAS,EAAG,OAAO,CAAC;IAKpB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAMxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAK1C,SAAS,EAAG,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/session.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;;;;OAMG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAG,MAAM,CAAC;IAEhB;;;OAGG;IACH,eAAe,EAAG,MAAM,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,EAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,YAAY,EAAG,OAAO,CAAC;IAEvB;;;OAGG;IACH,eAAe,EAAG,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B;;;OAGG;IACH,SAAS,EAAG,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}