@nauth-toolkit/core 0.1.13 → 0.1.17

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 +1774 -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 +48 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +188 -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 +149 -10
  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
@@ -9,32 +9,142 @@ const path_1 = require("path");
9
9
  const util_1 = require("util");
10
10
  const fs_2 = require("fs");
11
11
  const accessAsync = (0, util_1.promisify)(fs_2.access);
12
+ /**
13
+ * SMS Template Engine
14
+ *
15
+ * Simple yet powerful template engine for SMS templates using text with placeholder tokens.
16
+ * Supports {{variable}} syntax for variable injection using Handlebars-like syntax.
17
+ *
18
+ * Features:
19
+ * - Simple {{variable}} placeholder syntax
20
+ * - Built-in default templates for all SMS types
21
+ * - Custom template registration (inline and file-based)
22
+ * - Template validation (ensures required variables are present)
23
+ * - Handlebars-like conditionals support
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const engine = new SMSTemplateEngine();
28
+ * const result = await engine.render(
29
+ * SMSTemplateType.VERIFICATION,
30
+ * { appName: 'My App', code: '123456', expiryMinutes: 5 }
31
+ * );
32
+ * // result.content: "My App: Your verification code is 123456. Valid for 5 minutes."
33
+ * ```
34
+ */
12
35
  class SMSTemplateEngineImpl {
36
+ /**
37
+ * Storage for registered templates
38
+ * Maps template type to template content string
39
+ */
13
40
  templates = new Map();
41
+ /**
42
+ * Base directory for resolving relative template file paths
43
+ */
14
44
  baseDir;
45
+ /**
46
+ * Logger instance for error reporting
47
+ */
15
48
  logger;
49
+ /**
50
+ * Constructor
51
+ *
52
+ * Initializes the engine with default templates.
53
+ *
54
+ * @param baseDir - Base directory for resolving template file paths (default: process.cwd())
55
+ * @param logger - Optional logger instance for error reporting
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Use default templates
60
+ * const engine = new SMSTemplateEngineImpl();
61
+ *
62
+ * // Use custom base directory for file-based templates
63
+ * const engine = new SMSTemplateEngineImpl('./sms-templates');
64
+ * ```
65
+ */
16
66
  constructor(baseDir = process.cwd(), logger) {
17
67
  this.baseDir = baseDir;
18
68
  this.logger = logger;
19
69
  this.registerDefaultTemplates();
20
70
  }
71
+ /**
72
+ * Render a template with variables
73
+ *
74
+ * Replaces all {{variable}} placeholders with actual values.
75
+ * Handles missing variables gracefully (replaces with empty string).
76
+ * Supports simple conditionals like {{#if variable}}...{{/if}}.
77
+ *
78
+ * @param type - Template type to render
79
+ * @param variables - Variables to inject
80
+ * @returns Rendered SMS template with content
81
+ * @throws {NAuthException} If template type not found
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const result = await engine.render(
86
+ * SMSTemplateType.VERIFICATION,
87
+ * { appName: 'My App', code: '123456', expiryMinutes: 5 }
88
+ * );
89
+ * ```
90
+ */
21
91
  async render(type, variables) {
22
92
  const templateContent = this.templates.get(type);
23
93
  if (!templateContent) {
24
94
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.INTERNAL_ERROR, `SMS template "${type}" not found. Available templates: ${Array.from(this.templates.keys()).join(', ')}`);
25
95
  }
96
+ // Merge with default variables
26
97
  const allVariables = {
27
98
  ...variables,
28
99
  };
100
+ // Render template content
29
101
  const content = this.replaceVariables(templateContent, allVariables);
30
102
  return { content };
31
103
  }
104
+ /**
105
+ * Register a custom template from inline string
106
+ *
107
+ * Allows overriding default templates or adding new ones.
108
+ *
109
+ * @param type - Template type identifier
110
+ * @param template - Template definition with inline content
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * engine.registerTemplate(SMSTemplateType.VERIFICATION, {
115
+ * content: '{{appName}}: Your verification code is {{code}}. Expires in {{expiryMinutes}} min.',
116
+ * });
117
+ * ```
118
+ */
32
119
  registerTemplate(type, template) {
33
120
  if (!template.content) {
34
121
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, `SMS template must have content property. Template type: ${type}`);
35
122
  }
36
123
  this.templates.set(type, template.content);
37
124
  }
125
+ /**
126
+ * Register a custom template from mixed sources (strings or files)
127
+ *
128
+ * Flexible registration that supports both inline content and file paths.
129
+ *
130
+ * @param type - Template type identifier
131
+ * @param templateSource - Template source (content or file path)
132
+ *
133
+ * @throws {NAuthException} If file not found or invalid source
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * // Inline content
138
+ * await engine.registerTemplateFromSources(SMSTemplateType.VERIFICATION, {
139
+ * content: { content: '{{appName}}: Your code is {{code}}.' },
140
+ * });
141
+ *
142
+ * // File-based
143
+ * await engine.registerTemplateFromSources(SMSTemplateType.MFA, {
144
+ * content: { filePath: './sms-templates/mfa.txt.hbs' },
145
+ * });
146
+ * ```
147
+ */
38
148
  async registerTemplateFromSources(type, templateSource) {
39
149
  const source = templateSource.content;
40
150
  if (!source) {
@@ -42,11 +152,14 @@ class SMSTemplateEngineImpl {
42
152
  }
43
153
  let content;
44
154
  if (source.content) {
155
+ // Inline content
45
156
  content = source.content;
46
157
  }
47
158
  else if (source.filePath) {
159
+ // File-based content
48
160
  const filePath = (0, path_1.resolve)(this.baseDir, source.filePath);
49
161
  try {
162
+ // Check if file exists
50
163
  await accessAsync(filePath);
51
164
  content = (0, fs_1.readFileSync)(filePath, 'utf-8');
52
165
  }
@@ -60,45 +173,103 @@ class SMSTemplateEngineImpl {
60
173
  }
61
174
  this.templates.set(type, content);
62
175
  }
176
+ /**
177
+ * Get all available template types
178
+ *
179
+ * @returns Array of registered template type identifiers
180
+ */
63
181
  getAvailableTemplates() {
64
182
  return Array.from(this.templates.keys());
65
183
  }
184
+ /**
185
+ * Check if a template exists
186
+ *
187
+ * @param type - Template type to check
188
+ * @returns True if template is registered
189
+ */
66
190
  hasTemplate(type) {
67
191
  return this.templates.has(type);
68
192
  }
193
+ /**
194
+ * Validate that a template includes required variables
195
+ *
196
+ * Checks if the template content includes all required placeholders.
197
+ *
198
+ * @param type - Template type to validate
199
+ * @param requiredVars - Array of required variable names (without {{}})
200
+ * @returns True if all required variables are present
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * const isValid = engine.validateTemplate(SMSTemplateType.VERIFICATION, ['code', 'expiryMinutes']);
205
+ * ```
206
+ */
69
207
  validateTemplate(type, requiredVars) {
70
208
  const templateContent = this.templates.get(type);
71
209
  if (!templateContent) {
72
210
  return false;
73
211
  }
212
+ // Check if all required variables are present in template
74
213
  return requiredVars.every((varName) => {
214
+ // Check for {{varName}} or {{ varName }} (with optional spaces)
75
215
  const regex = new RegExp(`\\{\\{\\s*${varName}\\s*\\}\\}`, 'g');
76
216
  return regex.test(templateContent);
77
217
  });
78
218
  }
219
+ // ============================================================================
220
+ // Private Helper Methods
221
+ // ============================================================================
222
+ /**
223
+ * Register default templates for all SMS types
224
+ *
225
+ * Provides sensible defaults that can be overridden by custom templates.
226
+ *
227
+ * @private
228
+ */
79
229
  registerDefaultTemplates() {
230
+ // Verification template
80
231
  this.templates.set(sms_template_interface_1.SMSTemplateType.VERIFICATION, '{{#if appName}}{{appName}}: {{/if}}Your verification code is: {{code}}. Valid for {{expiryMinutes}} minutes.');
232
+ // MFA template
81
233
  this.templates.set(sms_template_interface_1.SMSTemplateType.MFA, '{{#if appName}}{{appName}}: {{/if}}Your MFA code is: {{code}}. Valid for {{expiryMinutes}} minutes.');
234
+ // Password reset template
82
235
  this.templates.set(sms_template_interface_1.SMSTemplateType.PASSWORD_RESET, '{{#if appName}}{{appName}}: {{/if}}Your password reset code is: {{code}}. Valid for {{expiryMinutes}} minutes.');
83
236
  }
237
+ /**
238
+ * Replace {{variable}} placeholders with values
239
+ *
240
+ * Handles missing variables gracefully (replaces with empty string).
241
+ * Supports simple conditionals like {{#if variable}}...{{/if}}.
242
+ *
243
+ * @param template - Template string with {{placeholders}}
244
+ * @param variables - Variables to inject
245
+ * @returns Template with variables replaced
246
+ * @private
247
+ */
84
248
  replaceVariables(template, variables) {
85
249
  let result = template;
250
+ // Handle simple conditionals like {{#if appName}}...{{/if}}
86
251
  result = result.replace(/\{\{#if (\w+)\}\}(.*?)\{\{\/if\}\}/g, (_match, key, ifContent) => {
87
252
  const value = variables[key];
253
+ // Return content if variable exists and is truthy, otherwise empty string
88
254
  if (value !== undefined && value !== null && value !== '') {
89
255
  return ifContent;
90
256
  }
91
257
  return '';
92
258
  });
259
+ // Replace regular variables {{variable}}
93
260
  result = result.replace(/\{\{(\w+)\}\}/g, (_match, key) => {
94
261
  const value = variables[key];
262
+ // Return empty string if variable is undefined or null
95
263
  if (value === undefined || value === null) {
96
264
  return '';
97
265
  }
266
+ // Convert to string
98
267
  return String(value);
99
268
  });
100
269
  return result;
101
270
  }
102
271
  }
103
272
  exports.SMSTemplateEngineImpl = SMSTemplateEngineImpl;
273
+ // Export the implementation class
274
+ // Note: SMSTemplateEngine interface is exported from interfaces/sms-template.interface.ts
104
275
  //# sourceMappingURL=sms-template.engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sms-template.engine.js","sourceRoot":"","sources":["../../src/templates/sms-template.engine.ts"],"names":[],"mappings":";;;AAAA,iFAM8C;AAC9C,mEAA+D;AAC/D,gEAA0D;AAE1D,2BAAkC;AAClC,+BAA+B;AAC/B,+BAAiC;AACjC,2BAA4B;AAE5B,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,WAAM,CAAC,CAAC;AAyBtC,MAAa,qBAAqB;IAKxB,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IAKlC,OAAO,CAAS;IAKhB,MAAM,CAAe;IAmBtC,YAAY,UAAkB,OAAO,CAAC,GAAG,EAAE,EAAE,MAAoB;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAsBD,KAAK,CAAC,MAAM,CAAC,IAA8B,EAAE,SAA+B;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gCAAc,CACtB,gCAAa,CAAC,cAAc,EAC5B,iBAAiB,IAAI,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzG,CAAC;QACJ,CAAC;QAGD,MAAM,YAAY,GAAyB;YACzC,GAAG,SAAS;SACb,CAAC;QAGF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAErE,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAiBD,gBAAgB,CAAC,IAA8B,EAAE,QAAqB;QACpE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,gCAAc,CACtB,gCAAa,CAAC,iBAAiB,EAC/B,2DAA2D,IAAI,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAyBD,KAAK,CAAC,2BAA2B,CAC/B,IAA8B,EAC9B,cAA8C;QAE9C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gCAAc,CACtB,gCAAa,CAAC,iBAAiB,EAC/B,kEAAkE,IAAI,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,OAAe,CAAC;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAEnB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAExD,IAAI,CAAC;gBAEH,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC9E,MAAM,IAAI,gCAAc,CACtB,gCAAa,CAAC,cAAc,EAC5B,qCAAqC,QAAQ,YAAY,YAAY,EAAE,CACxE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,gCAAc,CACtB,gCAAa,CAAC,iBAAiB,EAC/B,4EAA4E,IAAI,EAAE,CACnF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAOD,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAQD,WAAW,CAAC,IAA8B;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAgBD,gBAAgB,CAAC,IAA8B,EAAE,YAAsB;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;YAEpC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,aAAa,OAAO,YAAY,EAAE,GAAG,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAaO,wBAAwB;QAE9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,wCAAe,CAAC,YAAY,EAC5B,8GAA8G,CAC/G,CAAC;QAGF,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,wCAAe,CAAC,GAAG,EACnB,qGAAqG,CACtG,CAAC;QAGF,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,wCAAe,CAAC,cAAc,EAC9B,gHAAgH,CACjH,CAAC;IACJ,CAAC;IAaO,gBAAgB,CAAC,QAAgB,EAAE,SAA+B;QACxE,IAAI,MAAM,GAAG,QAAQ,CAAC;QAGtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;YACxF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAGH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACxD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAG7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;YAGD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnSD,sDAmSC"}
1
+ {"version":3,"file":"sms-template.engine.js","sourceRoot":"","sources":["../../src/templates/sms-template.engine.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,10 @@
1
+ /**
2
+ * Templates barrel export (shim)
3
+ *
4
+ * This file exists to ensure TypeScript's emitted declaration paths (e.g. `./templates.js`)
5
+ * resolve correctly for consumers.
6
+ *
7
+ * See `packages/core/src/dto.ts` for background.
8
+ */
1
9
  export * from './templates/index';
2
10
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAQA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,mBAAmB,CAAC"}
package/dist/templates.js CHANGED
@@ -14,5 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * Templates barrel export (shim)
19
+ *
20
+ * This file exists to ensure TypeScript's emitted declaration paths (e.g. `./templates.js`)
21
+ * resolve correctly for consumers.
22
+ *
23
+ * See `packages/core/src/dto.ts` for background.
24
+ */
17
25
  __exportStar(require("./templates/index"), exports);
18
26
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,oDAAkC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,oDAAkC"}
@@ -1,4 +1,46 @@
1
+ /**
2
+ * Load common passwords from bundled file
3
+ *
4
+ * This function loads once on first call and caches the result.
5
+ * Subsequent calls return the cached Set immediately.
6
+ *
7
+ * File location: packages/core/src/data/common-passwords-10000.txt
8
+ * Format: One password per line, lowercase
9
+ *
10
+ * @returns Set of common passwords (lowercase)
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Load passwords (cached after first call)
15
+ * const passwords = loadCommonPasswords();
16
+ *
17
+ * // Check if password is common
18
+ * if (passwords.has('mypassword'.toLowerCase())) {
19
+ * console.log('Password is too common');
20
+ * }
21
+ * ```
22
+ */
1
23
  export declare function loadCommonPasswords(): Set<string>;
24
+ /**
25
+ * Check if a password is in the common password list
26
+ *
27
+ * Case-insensitive comparison.
28
+ *
29
+ * @param password - Password to check
30
+ * @returns True if password is common, false otherwise
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * if (isCommonPassword('Password123')) {
35
+ * throw new Error('Password is too common');
36
+ * }
37
+ * ```
38
+ */
2
39
  export declare function isCommonPassword(password: string): boolean;
40
+ /**
41
+ * Get the size of the common password list
42
+ *
43
+ * @returns Number of passwords in the list
44
+ */
3
45
  export declare function getCommonPasswordCount(): number;
4
46
  //# sourceMappingURL=common-passwords.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-passwords.d.ts","sourceRoot":"","sources":["../../src/utils/common-passwords.ts"],"names":[],"mappings":"AAoGA,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,CAAC,CAoCjD;AAiBD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C"}
1
+ {"version":3,"file":"common-passwords.d.ts","sourceRoot":"","sources":["../../src/utils/common-passwords.ts"],"names":[],"mappings":"AA8EA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,CAAC,CAoCjD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C"}
@@ -38,13 +38,55 @@ exports.isCommonPassword = isCommonPassword;
38
38
  exports.getCommonPasswordCount = getCommonPasswordCount;
39
39
  const fs = __importStar(require("fs"));
40
40
  const path = __importStar(require("path"));
41
+ /**
42
+ * Common Passwords Loader
43
+ *
44
+ * Loads a curated list of common passwords from bundled file at startup.
45
+ * Platform-agnostic - works on Mac, Linux, Windows, Docker, serverless, etc.
46
+ *
47
+ * Security Features:
48
+ * - One-time load on module initialization (memory cached)
49
+ * - 10,000 most common passwords from SecLists
50
+ * - O(1) lookup performance with Set
51
+ * - Graceful fallback if file not found
52
+ * - No runtime file I/O or network calls
53
+ * - Silent by default (won't interfere with JSON logging)
54
+ *
55
+ * Memory footprint: ~200KB for 10K passwords in Set
56
+ *
57
+ * Environment Variables:
58
+ * - NAUTH_DEBUG=true - Enable debug logging to stderr
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * const passwords = loadCommonPasswords();
63
+ * if (passwords.has('password123')) {
64
+ * throw new Error('Password too common');
65
+ * }
66
+ * ```
67
+ */
41
68
  let COMMON_PASSWORDS = null;
69
+ /**
70
+ * Internal logging helper
71
+ *
72
+ * Writes to stderr (not stdout) to avoid interfering with JSON logging.
73
+ * Only logs if NAUTH_DEBUG environment variable is set.
74
+ *
75
+ * @param message - Message to log
76
+ * @param isError - Whether this is an error/warning
77
+ */
42
78
  function debugLog(message, isError = false) {
43
79
  if (process.env.NAUTH_DEBUG === 'true') {
44
80
  const prefix = isError ? '[nauth-toolkit:WARN]' : '[nauth-toolkit:INFO]';
45
81
  process.stderr.write(`${prefix} ${message}\n`);
46
82
  }
47
83
  }
84
+ /**
85
+ * Minimal fallback password list
86
+ *
87
+ * Used if the main password file cannot be loaded.
88
+ * Contains only the most common passwords.
89
+ */
48
90
  const FALLBACK_PASSWORDS = [
49
91
  'password',
50
92
  'password123',
@@ -67,11 +109,35 @@ const FALLBACK_PASSWORDS = [
67
109
  'admin123',
68
110
  'root',
69
111
  ];
112
+ /**
113
+ * Load common passwords from bundled file
114
+ *
115
+ * This function loads once on first call and caches the result.
116
+ * Subsequent calls return the cached Set immediately.
117
+ *
118
+ * File location: packages/core/src/data/common-passwords-10000.txt
119
+ * Format: One password per line, lowercase
120
+ *
121
+ * @returns Set of common passwords (lowercase)
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Load passwords (cached after first call)
126
+ * const passwords = loadCommonPasswords();
127
+ *
128
+ * // Check if password is common
129
+ * if (passwords.has('mypassword'.toLowerCase())) {
130
+ * console.log('Password is too common');
131
+ * }
132
+ * ```
133
+ */
70
134
  function loadCommonPasswords() {
135
+ // Return cached version if already loaded
71
136
  if (COMMON_PASSWORDS) {
72
137
  return COMMON_PASSWORDS;
73
138
  }
74
139
  try {
140
+ // Try to load from bundled file
75
141
  const filePath = path.join(__dirname, '../data/common-passwords-10000.txt');
76
142
  if (fs.existsSync(filePath)) {
77
143
  const content = fs.readFileSync(filePath, 'utf-8');
@@ -92,17 +158,39 @@ function loadCommonPasswords() {
92
158
  debugLog(`Error details: ${error.message}`, true);
93
159
  }
94
160
  }
161
+ // Fallback to minimal list (silent by default)
95
162
  COMMON_PASSWORDS = new Set(FALLBACK_PASSWORDS.map((p) => p.toLowerCase()));
96
163
  debugLog(`Using fallback password list with ${COMMON_PASSWORDS.size} entries`, true);
97
164
  return COMMON_PASSWORDS;
98
165
  }
166
+ /**
167
+ * Check if a password is in the common password list
168
+ *
169
+ * Case-insensitive comparison.
170
+ *
171
+ * @param password - Password to check
172
+ * @returns True if password is common, false otherwise
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * if (isCommonPassword('Password123')) {
177
+ * throw new Error('Password is too common');
178
+ * }
179
+ * ```
180
+ */
99
181
  function isCommonPassword(password) {
100
182
  const passwords = loadCommonPasswords();
101
183
  return passwords.has(password.toLowerCase());
102
184
  }
185
+ /**
186
+ * Get the size of the common password list
187
+ *
188
+ * @returns Number of passwords in the list
189
+ */
103
190
  function getCommonPasswordCount() {
104
191
  const passwords = loadCommonPasswords();
105
192
  return passwords.size;
106
193
  }
194
+ // Load passwords on module import (cached for subsequent use)
107
195
  loadCommonPasswords();
108
196
  //# sourceMappingURL=common-passwords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-passwords.js","sourceRoot":"","sources":["../../src/utils/common-passwords.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoGA,kDAoCC;AAiBD,4CAGC;AAOD,wDAGC;AAtKD,uCAAyB;AACzB,2CAA6B;AA8B7B,IAAI,gBAAgB,GAAuB,IAAI,CAAC;AAWhD,SAAS,QAAQ,CAAC,OAAe,EAAE,UAAmB,KAAK;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAQD,MAAM,kBAAkB,GAAG;IACzB,UAAU;IACV,aAAa;IACb,QAAQ;IACR,WAAW;IACX,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,MAAM;CACP,CAAC;AAwBF,SAAgB,mBAAmB;IAEjC,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;QAE5E,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,gBAAgB,GAAG,IAAI,GAAG,CACxB,OAAO;iBACJ,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B,CAAC;YAEF,QAAQ,CAAC,UAAU,gBAAgB,CAAC,IAAI,6BAA6B,CAAC,CAAC;YACvE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,sCAAsC,QAAQ,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,2DAA2D,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACjE,QAAQ,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAGD,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,qCAAqC,gBAAgB,CAAC,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC;IAErF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAiBD,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/C,CAAC;AAOD,SAAgB,sBAAsB;IACpC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC;AAGD,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"common-passwords.js","sourceRoot":"","sources":["../../src/utils/common-passwords.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,142 @@
1
+ /**
2
+ * Context Storage - Platform-Agnostic Async Local Storage
3
+ *
4
+ * Provides request-scoped storage using Node.js AsyncLocalStorage.
5
+ * Replaces nestjs-cls for platform-agnostic context management.
6
+ *
7
+ * **Features:**
8
+ * - Request-scoped data storage
9
+ * - Works across async boundaries
10
+ * - No framework dependencies
11
+ * - Type-safe storage and retrieval
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // Store data in context
16
+ * ContextStorage.run(() => {
17
+ * ContextStorage.set('userId', '123');
18
+ * ContextStorage.set('clientInfo', { ip: '1.2.3.4' });
19
+ *
20
+ * // Access from any nested function
21
+ * const userId = ContextStorage.get<string>('userId');
22
+ * });
23
+ * ```
24
+ */
1
25
  export declare class ContextStorage {
2
26
  private static als;
27
+ /**
28
+ * Run a callback within a new context
29
+ *
30
+ * Creates a new async local storage context for the callback.
31
+ * All ContextStorage operations within the callback will use this context.
32
+ *
33
+ * @param callback - Function to execute with context
34
+ * @returns Result of the callback
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const result = ContextStorage.run(() => {
39
+ * ContextStorage.set('key', 'value');
40
+ * return processRequest();
41
+ * });
42
+ * ```
43
+ */
3
44
  static run<T>(callback: () => T): T;
45
+ /**
46
+ * Store a value in the current context
47
+ *
48
+ * @param key - Storage key
49
+ * @param value - Value to store
50
+ * @throws Error if called outside of a context (ContextStorage.run not called)
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * ContextStorage.set('userId', '123');
55
+ * ContextStorage.set('clientInfo', { ip: '1.2.3.4', userAgent: 'Mozilla...' });
56
+ * ```
57
+ */
4
58
  static set<T>(key: string, value: T): void;
59
+ /**
60
+ * Retrieve a value from the current context
61
+ *
62
+ * @param key - Storage key
63
+ * @returns Stored value or undefined if not found
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const userId = ContextStorage.get<string>('userId');
68
+ * const clientInfo = ContextStorage.get<ClientInfo>('CLIENT_INFO');
69
+ * ```
70
+ */
5
71
  static get<T>(key: string): T | undefined;
72
+ /**
73
+ * Check if a key exists in the current context
74
+ *
75
+ * @param key - Storage key
76
+ * @returns True if key exists, false otherwise
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * if (ContextStorage.has('userId')) {
81
+ * const userId = ContextStorage.get<string>('userId');
82
+ * }
83
+ * ```
84
+ */
6
85
  static has(key: string): boolean;
86
+ /**
87
+ * Delete a value from the current context
88
+ *
89
+ * @param key - Storage key
90
+ * @returns True if key was deleted, false if it didn't exist
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * ContextStorage.delete('temporaryData');
95
+ * ```
96
+ */
7
97
  static delete(key: string): boolean;
98
+ /**
99
+ * Clear all values from the current context
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * ContextStorage.clear();
104
+ * ```
105
+ */
8
106
  static clear(): void;
107
+ /**
108
+ * Get all keys in the current context
109
+ *
110
+ * @returns Array of storage keys
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const keys = ContextStorage.keys();
115
+ * console.log('Stored keys:', keys);
116
+ * ```
117
+ */
9
118
  static keys(): string[];
119
+ /**
120
+ * Get the current store instance
121
+ *
122
+ * This is useful for frameworks like Fastify where hooks run independently
123
+ * and you need to preserve the store across hook boundaries.
124
+ *
125
+ * @returns The current Map store or undefined
126
+ * @internal
127
+ */
10
128
  static getStore(): Map<string, unknown> | undefined;
129
+ /**
130
+ * Enter an existing context store
131
+ *
132
+ * This allows re-entering a context that was created elsewhere,
133
+ * useful for frameworks where handlers run in separate scopes.
134
+ *
135
+ * @param store - The store to enter
136
+ * @param callback - Function to execute with the store
137
+ * @returns Result of the callback
138
+ * @internal
139
+ */
11
140
  static enterStore<T>(store: Map<string, unknown>, callback: () => T): T;
12
141
  }
13
142
  //# sourceMappingURL=context-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-storage.d.ts","sourceRoot":"","sources":["../../src/utils/context-storage.ts"],"names":[],"mappings":"AA0BA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAiD;IAmBnE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAkBnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAoB1C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAkBzC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgBhC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgBnC,MAAM,CAAC,KAAK,IAAI,IAAI;IAkBpB,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE;IAiBvB,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAenD,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAGxE"}
1
+ {"version":3,"file":"context-storage.d.ts","sourceRoot":"","sources":["../../src/utils/context-storage.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAiD;IAEnE;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAKnC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAQ1C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKzC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQnC;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAOpB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE;IAQvB;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAInD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAGxE"}