@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,24 +1,58 @@
1
1
  "use strict";
2
+ /**
3
+ * Fastify Framework Adapter
4
+ *
5
+ * Adapts NAuth to work with Fastify with proper AsyncLocalStorage support.
6
+ *
7
+ * **Context Management:**
8
+ * - First hook (clientInfo) initializes AsyncLocalStorage context
9
+ * - Context is stored on request object for subsequent hooks
10
+ * - Each hook restores context using ContextStorage.enterStore()
11
+ * - Route handlers MUST use wrapRouteHandler() for context access
12
+ *
13
+ * **Why Context Restoration is Needed:**
14
+ * Unlike Express where middleware runs in a continuous call stack,
15
+ * Fastify hooks run independently. Each hook invocation loses the
16
+ * AsyncLocalStorage context, so we store it on the request and restore it.
17
+ */
2
18
  Object.defineProperty(exports, "__esModule", { value: true });
3
19
  exports.FastifyAdapter = void 0;
4
20
  const context_storage_1 = require("../utils/context-storage");
21
+ // Symbol for storing context on request (avoids property name collisions)
5
22
  const NAUTH_CONTEXT_STORE = Symbol.for('nauth.contextStore');
6
23
  const NAUTH_ATTRIBUTES = Symbol.for('nauth.attributes');
24
+ // ============================================================================
25
+ // Fastify Adapter
26
+ // ============================================================================
27
+ /**
28
+ * Fastify Adapter Implementation
29
+ *
30
+ * Provides NAuth integration for Fastify applications.
31
+ */
7
32
  class FastifyAdapter {
8
33
  name = 'FastifyAdapter';
34
+ /**
35
+ * Register a middleware handler as Fastify hook
36
+ *
37
+ * Handles context initialization for first hook and restoration for subsequent hooks.
38
+ */
9
39
  registerMiddleware(name, handler, options) {
10
40
  const initializesContext = options?.initializesContext || name === 'clientInfo';
11
41
  return async (request, reply) => {
42
+ // Ensure we have attribute storage
12
43
  this.ensureAttributes(request);
13
44
  const nauthReq = new FastifyRequestWrapper(request);
14
45
  const nauthRes = new FastifyResponseWrapper(reply);
15
46
  if (initializesContext) {
47
+ // First hook - initialize context
16
48
  await context_storage_1.ContextStorage.run(async () => {
49
+ // Store context on request for subsequent hooks
17
50
  request[NAUTH_CONTEXT_STORE] = context_storage_1.ContextStorage.getStore();
18
51
  await this.executeHandler(handler, nauthReq, nauthRes);
19
52
  });
20
53
  }
21
54
  else {
55
+ // Subsequent hook - restore context
22
56
  const store = request[NAUTH_CONTEXT_STORE];
23
57
  if (store) {
24
58
  await context_storage_1.ContextStorage.enterStore(store, async () => {
@@ -26,11 +60,16 @@ class FastifyAdapter {
26
60
  });
27
61
  }
28
62
  else {
63
+ // No context available - execute without context
64
+ // This shouldn't happen if clientInfo runs first
29
65
  await this.executeHandler(handler, nauthReq, nauthRes);
30
66
  }
31
67
  }
32
68
  };
33
69
  }
70
+ /**
71
+ * Execute handler with proper async flow control
72
+ */
34
73
  async executeHandler(handler, req, res) {
35
74
  await new Promise((resolve, reject) => {
36
75
  const result = handler(req, res, () => {
@@ -41,18 +80,26 @@ class FastifyAdapter {
41
80
  }
42
81
  });
43
82
  }
83
+ /**
84
+ * Register a response interceptor using Fastify onSend hook
85
+ *
86
+ * The onSend hook receives the serialized payload before sending.
87
+ */
44
88
  registerResponseInterceptor(handler) {
45
89
  return async (request, reply, payload) => {
46
90
  this.ensureAttributes(request);
47
91
  const nauthReq = new FastifyRequestWrapper(request);
48
92
  const nauthRes = new FastifyResponseWrapper(reply);
93
+ // Restore context for interceptor
49
94
  const store = request[NAUTH_CONTEXT_STORE];
50
95
  if (!store) {
96
+ // No context - pass through unchanged
51
97
  return payload;
52
98
  }
53
99
  return context_storage_1.ContextStorage.enterStore(store, async () => {
54
100
  try {
55
101
  let parsedPayload = payload;
102
+ // Parse JSON payload if needed (Fastify serializes before onSend)
56
103
  const contentType = reply.getHeader('content-type');
57
104
  const isJson = contentType?.includes('application/json');
58
105
  if (isJson && typeof payload === 'string') {
@@ -60,34 +107,47 @@ class FastifyAdapter {
60
107
  parsedPayload = JSON.parse(payload);
61
108
  }
62
109
  catch {
110
+ // Not valid JSON, use as-is
63
111
  }
64
112
  }
65
113
  const modifiedBody = await handler(nauthReq, nauthRes, parsedPayload);
114
+ // Re-serialize if we parsed it
66
115
  if (modifiedBody !== parsedPayload && isJson && typeof modifiedBody === 'object') {
67
116
  return JSON.stringify(modifiedBody);
68
117
  }
69
118
  return modifiedBody !== parsedPayload ? modifiedBody : payload;
70
119
  }
71
120
  catch {
121
+ // On error, return original payload
72
122
  return payload;
73
123
  }
74
124
  });
75
125
  };
76
126
  }
127
+ /**
128
+ * Wrap a route handler to ensure context is available
129
+ *
130
+ * For Fastify, this is REQUIRED for route handlers to access ContextStorage.
131
+ */
77
132
  wrapRouteHandler(handler) {
78
133
  return async (request, reply) => {
79
134
  this.ensureAttributes(request);
80
135
  const nauthReq = new FastifyRequestWrapper(request);
81
136
  const nauthRes = new FastifyResponseWrapper(reply);
137
+ // Restore context
82
138
  const store = request[NAUTH_CONTEXT_STORE];
83
139
  if (store) {
84
140
  return context_storage_1.ContextStorage.enterStore(store, async () => {
85
141
  return handler(nauthReq, nauthRes);
86
142
  });
87
143
  }
144
+ // No context - execute without (shouldn't happen with proper setup)
88
145
  return handler(nauthReq, nauthRes);
89
146
  };
90
147
  }
148
+ /**
149
+ * Ensure attribute storage exists on request
150
+ */
91
151
  ensureAttributes(request) {
92
152
  if (!request[NAUTH_ATTRIBUTES]) {
93
153
  request[NAUTH_ATTRIBUTES] = {};
@@ -95,6 +155,12 @@ class FastifyAdapter {
95
155
  }
96
156
  }
97
157
  exports.FastifyAdapter = FastifyAdapter;
158
+ // ============================================================================
159
+ // Fastify Request Wrapper
160
+ // ============================================================================
161
+ /**
162
+ * Wraps Fastify request into NAuthRequest interface
163
+ */
98
164
  class FastifyRequestWrapper {
99
165
  request;
100
166
  constructor(request) {
@@ -107,6 +173,7 @@ class FastifyRequestWrapper {
107
173
  return this.request.method.toUpperCase();
108
174
  }
109
175
  get path() {
176
+ // Fastify provides routeOptions.url for path, or extract from url
110
177
  return this.request.url.split('?')[0];
111
178
  }
112
179
  get url() {
@@ -125,12 +192,14 @@ class FastifyRequestWrapper {
125
192
  return this.request.headers;
126
193
  }
127
194
  get cookies() {
195
+ // Fastify with @fastify/cookie
128
196
  return this.request.cookies || {};
129
197
  }
130
198
  get ip() {
131
199
  return this.request.ip || '0.0.0.0';
132
200
  }
133
201
  get attributes() {
202
+ // Return isolated storage
134
203
  return this.request[NAUTH_ATTRIBUTES] || {};
135
204
  }
136
205
  getHeader(name) {
@@ -140,6 +209,12 @@ class FastifyRequestWrapper {
140
209
  return val;
141
210
  }
142
211
  }
212
+ // ============================================================================
213
+ // Fastify Response Wrapper
214
+ // ============================================================================
215
+ /**
216
+ * Wraps Fastify reply into NAuthResponse interface
217
+ */
143
218
  class FastifyResponseWrapper {
144
219
  reply;
145
220
  constructor(reply) {
@@ -157,6 +232,7 @@ class FastifyResponseWrapper {
157
232
  return this;
158
233
  }
159
234
  setCookie(name, value, options) {
235
+ // Fastify with @fastify/cookie
160
236
  const replyWithCookies = this.reply;
161
237
  if (typeof replyWithCookies.setCookie === 'function') {
162
238
  replyWithCookies.setCookie(name, value, this.convertCookieOptions(options));
@@ -169,6 +245,7 @@ class FastifyResponseWrapper {
169
245
  replyWithCookies.clearCookie(name, this.convertCookieOptions(options));
170
246
  }
171
247
  else if (typeof replyWithCookies.setCookie === 'function') {
248
+ // Fallback: set empty cookie with immediate expiry
172
249
  replyWithCookies.setCookie(name, '', {
173
250
  ...this.convertCookieOptions(options),
174
251
  maxAge: 0,
@@ -181,6 +258,7 @@ class FastifyResponseWrapper {
181
258
  this.reply.send(body);
182
259
  }
183
260
  json(body) {
261
+ // Fastify auto-serializes objects
184
262
  this.reply.send(body);
185
263
  }
186
264
  redirect(url, status) {
@@ -194,6 +272,9 @@ class FastifyResponseWrapper {
194
272
  isSent() {
195
273
  return this.reply.sent;
196
274
  }
275
+ /**
276
+ * Convert NAuth cookie options to Fastify cookie options
277
+ */
197
278
  convertCookieOptions(options) {
198
279
  if (!options)
199
280
  return {};
@@ -208,4 +289,9 @@ class FastifyResponseWrapper {
208
289
  };
209
290
  }
210
291
  }
292
+ // ============================================================================
293
+ // NOTE
294
+ // ============================================================================
295
+ // For route handlers, use `nauth.adapter.wrapRouteHandler(...)` to ensure AsyncLocalStorage
296
+ // context is available when calling `nauth.helpers.*` and context-dependent services.
211
297
  //# sourceMappingURL=fastify.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.adapter.js","sourceRoot":"","sources":["../../src/adapters/fastify.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastify.adapter.js","sourceRoot":"","sources":["../../src/adapters/fastify.adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Platform Adapters
3
+ *
4
+ * Framework-specific adapters that implement NAuthAdapter interface.
5
+ */
1
6
  export * from '../platform/interfaces';
2
7
  export { ExpressAdapter, ExpressMiddlewareType } from './express.adapter';
3
8
  export { FastifyAdapter } from './fastify.adapter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAOA,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ /**
3
+ * Platform Adapters
4
+ *
5
+ * Framework-specific adapters that implement NAuthAdapter interface.
6
+ */
2
7
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
8
  if (k2 === undefined) k2 = k;
4
9
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -15,9 +20,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
20
  };
16
21
  Object.defineProperty(exports, "__esModule", { value: true });
17
22
  exports.FastifyAdapter = exports.ExpressAdapter = void 0;
23
+ // Platform interfaces (for custom adapter development)
18
24
  __exportStar(require("../platform/interfaces"), exports);
25
+ // Built-in adapters
19
26
  var express_adapter_1 = require("./express.adapter");
20
27
  Object.defineProperty(exports, "ExpressAdapter", { enumerable: true, get: function () { return express_adapter_1.ExpressAdapter; } });
21
28
  var fastify_adapter_1 = require("./fastify.adapter");
22
29
  Object.defineProperty(exports, "FastifyAdapter", { enumerable: true, get: function () { return fastify_adapter_1.FastifyAdapter; } });
30
+ // Legacy export for backward compatibility (deprecated)
31
+ // TODO: Remove in next major version
23
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,yDAAuC;AAGvC,qDAA0E;AAAjE,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,uDAAuD;AACvD,yDAAuC;AAEvC,oBAAoB;AACpB,qDAA0E;AAAjE,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,wDAAwD;AACxD,qCAAqC"}
@@ -1,6 +1,113 @@
1
+ /**
2
+ * Storage Adapter Factory Functions
3
+ *
4
+ * Provides clean factory functions for creating storage adapters.
5
+ * These factories handle proper initialization and simplify configuration.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createDatabaseStorageAdapter, createRedisStorageAdapter } from '@nauth-toolkit/express';
10
+ *
11
+ * export const authConfig = {
12
+ * // Database adapter (uses existing TypeORM connection)
13
+ * storageAdapter: createDatabaseStorageAdapter(),
14
+ *
15
+ * // Or Redis adapter
16
+ * storageAdapter: createRedisStorageAdapter(process.env.REDIS_URL),
17
+ * };
18
+ * ```
19
+ */
1
20
  import { StorageAdapter } from '../interfaces/storage-adapter.interface';
21
+ /**
22
+ * Create a database storage adapter
23
+ *
24
+ * Uses the existing TypeORM connection. Make sure storage entities are included
25
+ * in your DataSource configuration:
26
+ *
27
+ * ```typescript
28
+ * import { getNAuthTransientStorageEntities } from '@nauth-toolkit/database-typeorm-postgres';
29
+ * const dataSource = new DataSource({
30
+ * entities: [...getNAuthEntities(), ...getNAuthTransientStorageEntities()],
31
+ * });
32
+ * ```
33
+ *
34
+ * @returns DatabaseStorageAdapter instance
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import { createDatabaseStorageAdapter } from '@nauth-toolkit/express';
39
+ *
40
+ * export const authConfig = {
41
+ * storageAdapter: createDatabaseStorageAdapter(),
42
+ * // ... other config
43
+ * };
44
+ * ```
45
+ */
2
46
  export declare function createDatabaseStorageAdapter(): StorageAdapter;
47
+ /**
48
+ * Create a Redis storage adapter
49
+ *
50
+ * Creates and connects a Redis client automatically using the `redis` package (node-redis).
51
+ * The client connection is managed internally by the adapter.
52
+ *
53
+ * Supports both single-instance Redis and Redis Cluster configurations.
54
+ *
55
+ * @param url - Redis connection URL (default: 'redis://localhost:6379')
56
+ * Supports authentication in URL format:
57
+ * - redis://localhost:6379 (no auth)
58
+ * - redis://:password@localhost:6379 (password only)
59
+ * - redis://username:password@localhost:6379 (username + password)
60
+ * - rediss://localhost:6379 (TLS/SSL, with optional auth)
61
+ * @returns RedisStorageAdapter instance
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * import { createRedisStorageAdapter, createRedisClusterAdapter } from '@nauth-toolkit/express';
66
+ *
67
+ * export const authConfig = {
68
+ * // Single-instance Redis
69
+ * storageAdapter: createRedisStorageAdapter(process.env.REDIS_URL),
70
+ *
71
+ * // Or Redis Cluster (for production high-availability)
72
+ * storageAdapter: createRedisClusterAdapter([
73
+ * { url: 'redis://redis-node-1:6379' },
74
+ * { url: 'redis://redis-node-2:6379' },
75
+ * { url: 'redis://redis-node-3:6379' },
76
+ * ]),
77
+ * };
78
+ * ```
79
+ */
3
80
  export declare function createRedisStorageAdapter(url?: string): StorageAdapter;
81
+ /**
82
+ * Create a Redis Cluster storage adapter
83
+ *
84
+ * Creates and connects a Redis Cluster client automatically using the `redis` package (node-redis).
85
+ * The cluster client handles automatic topology discovery, command routing, and failover.
86
+ *
87
+ * **Production Use:**
88
+ * Use Redis Cluster for high-availability production deployments. The cluster automatically:
89
+ * - Discovers cluster topology
90
+ * - Routes commands to correct nodes based on key hash slots
91
+ * - Handles node failures and redirects (MOVED/ASK errors)
92
+ * - Provides high availability and horizontal scaling
93
+ *
94
+ * @param nodes - Array of cluster node URLs
95
+ * @returns RedisStorageAdapter instance
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { createRedisClusterAdapter } from '@nauth-toolkit/express';
100
+ *
101
+ * export const authConfig = {
102
+ * // Redis Cluster with 3 nodes
103
+ * storageAdapter: createRedisClusterAdapter([
104
+ * { url: 'redis://redis-node-1:6379' },
105
+ * { url: 'redis://redis-node-2:6379' },
106
+ * { url: 'redis://redis-node-3:6379' },
107
+ * ]),
108
+ * };
109
+ * ```
110
+ */
4
111
  export declare function createRedisClusterAdapter(nodes: Array<{
5
112
  url: string;
6
113
  }>): StorageAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.factory.d.ts","sourceRoot":"","sources":["../../src/adapters/storage.factory.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,4BAA4B,IAAI,cAAc,CAI7D;AAmCD,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAiC,GAAG,cAAc,CAWhG;AAgCD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,cAAc,CAavF"}
1
+ {"version":3,"file":"storage.factory.d.ts","sourceRoot":"","sources":["../../src/adapters/storage.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,IAAI,cAAc,CAI7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAiC,GAAG,cAAc,CAWhG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,cAAc,CAavF"}
@@ -1,24 +1,138 @@
1
1
  "use strict";
2
+ /**
3
+ * Storage Adapter Factory Functions
4
+ *
5
+ * Provides clean factory functions for creating storage adapters.
6
+ * These factories handle proper initialization and simplify configuration.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createDatabaseStorageAdapter, createRedisStorageAdapter } from '@nauth-toolkit/express';
11
+ *
12
+ * export const authConfig = {
13
+ * // Database adapter (uses existing TypeORM connection)
14
+ * storageAdapter: createDatabaseStorageAdapter(),
15
+ *
16
+ * // Or Redis adapter
17
+ * storageAdapter: createRedisStorageAdapter(process.env.REDIS_URL),
18
+ * };
19
+ * ```
20
+ */
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.createDatabaseStorageAdapter = createDatabaseStorageAdapter;
4
23
  exports.createRedisStorageAdapter = createRedisStorageAdapter;
5
24
  exports.createRedisClusterAdapter = createRedisClusterAdapter;
25
+ /**
26
+ * Create a database storage adapter
27
+ *
28
+ * Uses the existing TypeORM connection. Make sure storage entities are included
29
+ * in your DataSource configuration:
30
+ *
31
+ * ```typescript
32
+ * import { getNAuthTransientStorageEntities } from '@nauth-toolkit/database-typeorm-postgres';
33
+ * const dataSource = new DataSource({
34
+ * entities: [...getNAuthEntities(), ...getNAuthTransientStorageEntities()],
35
+ * });
36
+ * ```
37
+ *
38
+ * @returns DatabaseStorageAdapter instance
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * import { createDatabaseStorageAdapter } from '@nauth-toolkit/express';
43
+ *
44
+ * export const authConfig = {
45
+ * storageAdapter: createDatabaseStorageAdapter(),
46
+ * // ... other config
47
+ * };
48
+ * ```
49
+ */
6
50
  function createDatabaseStorageAdapter() {
51
+ // Lazy import to avoid bundling if not used
7
52
  const { DatabaseStorageAdapter } = require('@nauth-toolkit/storage-database');
8
53
  return new DatabaseStorageAdapter(null, null, null);
9
54
  }
55
+ /**
56
+ * Create a Redis storage adapter
57
+ *
58
+ * Creates and connects a Redis client automatically using the `redis` package (node-redis).
59
+ * The client connection is managed internally by the adapter.
60
+ *
61
+ * Supports both single-instance Redis and Redis Cluster configurations.
62
+ *
63
+ * @param url - Redis connection URL (default: 'redis://localhost:6379')
64
+ * Supports authentication in URL format:
65
+ * - redis://localhost:6379 (no auth)
66
+ * - redis://:password@localhost:6379 (password only)
67
+ * - redis://username:password@localhost:6379 (username + password)
68
+ * - rediss://localhost:6379 (TLS/SSL, with optional auth)
69
+ * @returns RedisStorageAdapter instance
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * import { createRedisStorageAdapter, createRedisClusterAdapter } from '@nauth-toolkit/express';
74
+ *
75
+ * export const authConfig = {
76
+ * // Single-instance Redis
77
+ * storageAdapter: createRedisStorageAdapter(process.env.REDIS_URL),
78
+ *
79
+ * // Or Redis Cluster (for production high-availability)
80
+ * storageAdapter: createRedisClusterAdapter([
81
+ * { url: 'redis://redis-node-1:6379' },
82
+ * { url: 'redis://redis-node-2:6379' },
83
+ * { url: 'redis://redis-node-3:6379' },
84
+ * ]),
85
+ * };
86
+ * ```
87
+ */
10
88
  function createRedisStorageAdapter(url = 'redis://localhost:6379') {
89
+ // Lazy import to avoid bundling if not used
11
90
  const { RedisStorageAdapter } = require('@nauth-toolkit/storage-redis');
12
91
  const { createClient } = require('redis');
13
92
  const redisClient = createClient({ url });
93
+ // Don't connect here - let adapter.initialize() handle connection
94
+ // This ensures proper error handling and allows initialize() to wait for connection
14
95
  return new RedisStorageAdapter(redisClient);
15
96
  }
97
+ /**
98
+ * Create a Redis Cluster storage adapter
99
+ *
100
+ * Creates and connects a Redis Cluster client automatically using the `redis` package (node-redis).
101
+ * The cluster client handles automatic topology discovery, command routing, and failover.
102
+ *
103
+ * **Production Use:**
104
+ * Use Redis Cluster for high-availability production deployments. The cluster automatically:
105
+ * - Discovers cluster topology
106
+ * - Routes commands to correct nodes based on key hash slots
107
+ * - Handles node failures and redirects (MOVED/ASK errors)
108
+ * - Provides high availability and horizontal scaling
109
+ *
110
+ * @param nodes - Array of cluster node URLs
111
+ * @returns RedisStorageAdapter instance
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * import { createRedisClusterAdapter } from '@nauth-toolkit/express';
116
+ *
117
+ * export const authConfig = {
118
+ * // Redis Cluster with 3 nodes
119
+ * storageAdapter: createRedisClusterAdapter([
120
+ * { url: 'redis://redis-node-1:6379' },
121
+ * { url: 'redis://redis-node-2:6379' },
122
+ * { url: 'redis://redis-node-3:6379' },
123
+ * ]),
124
+ * };
125
+ * ```
126
+ */
16
127
  function createRedisClusterAdapter(nodes) {
128
+ // Lazy import to avoid bundling if not used
17
129
  const { RedisStorageAdapter } = require('@nauth-toolkit/storage-redis');
18
130
  const { createCluster } = require('redis');
19
131
  const clusterClient = createCluster({
20
132
  rootNodes: nodes,
21
133
  });
134
+ // Don't connect here - let adapter.initialize() handle connection
135
+ // This ensures proper error handling and allows initialize() to wait for connection
22
136
  return new RedisStorageAdapter(clusterClient);
23
137
  }
24
138
  //# sourceMappingURL=storage.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.factory.js","sourceRoot":"","sources":["../../src/adapters/storage.factory.ts"],"names":[],"mappings":";;AA+CA,oEAIC;AAmCD,8DAWC;AAgCD,8DAaC;AA/FD,SAAgB,4BAA4B;IAE1C,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9E,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAmCD,SAAgB,yBAAyB,CAAC,MAAc,wBAAwB;IAE9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAK1C,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAgCD,SAAgB,yBAAyB,CAAC,KAA6B;IAErE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,aAAa,CAAC;QAClC,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAKH,OAAO,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"storage.factory.js","sourceRoot":"","sources":["../../src/adapters/storage.factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;AA6BH,oEAIC;AAmCD,8DAWC;AAgCD,8DAaC;AAxHD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,4BAA4B;IAC1C,4CAA4C;IAC5C,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9E,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,yBAAyB,CAAC,MAAc,wBAAwB;IAC9E,4CAA4C;IAC5C,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE1C,kEAAkE;IAClE,oFAAoF;IAEpF,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,yBAAyB,CAAC,KAA6B;IACrE,4CAA4C;IAC5C,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,aAAa,CAAC;QAClC,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,kEAAkE;IAClE,oFAAoF;IAEpF,OAAO,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC"}
@@ -1,2 +1,10 @@
1
+ /**
2
+ * Adapters barrel export (shim)
3
+ *
4
+ * This file exists to ensure TypeScript's emitted declaration paths (e.g. `./adapters.js`)
5
+ * resolve correctly for consumers.
6
+ *
7
+ * See `packages/core/src/dto.ts` for background.
8
+ */
1
9
  export * from './adapters/index';
2
10
  //# sourceMappingURL=adapters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAQA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,kBAAkB,CAAC"}
package/dist/adapters.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
+ * Adapters barrel export (shim)
19
+ *
20
+ * This file exists to ensure TypeScript's emitted declaration paths (e.g. `./adapters.js`)
21
+ * resolve correctly for consumers.
22
+ *
23
+ * See `packages/core/src/dto.ts` for background.
24
+ */
17
25
  __exportStar(require("./adapters/index"), exports);
18
26
  //# sourceMappingURL=adapters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,mDAAiC"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,mDAAiC"}