@rovela-ai/sdk 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/dist/admin/api/auth.d.ts +32 -0
  2. package/dist/admin/api/auth.d.ts.map +1 -0
  3. package/dist/admin/api/auth.js +43 -0
  4. package/dist/admin/api/auth.js.map +1 -0
  5. package/dist/admin/api/categories.d.ts +68 -0
  6. package/dist/admin/api/categories.d.ts.map +1 -0
  7. package/dist/admin/api/categories.js +247 -0
  8. package/dist/admin/api/categories.js.map +1 -0
  9. package/dist/admin/api/customers.d.ts +41 -0
  10. package/dist/admin/api/customers.d.ts.map +1 -0
  11. package/dist/admin/api/customers.js +113 -0
  12. package/dist/admin/api/customers.js.map +1 -0
  13. package/dist/admin/api/index.d.ts +56 -0
  14. package/dist/admin/api/index.d.ts.map +1 -0
  15. package/dist/admin/api/index.js +87 -0
  16. package/dist/admin/api/index.js.map +1 -0
  17. package/dist/admin/api/orders.d.ts +59 -0
  18. package/dist/admin/api/orders.d.ts.map +1 -0
  19. package/dist/admin/api/orders.js +209 -0
  20. package/dist/admin/api/orders.js.map +1 -0
  21. package/dist/admin/api/products.d.ts +103 -0
  22. package/dist/admin/api/products.d.ts.map +1 -0
  23. package/dist/admin/api/products.js +329 -0
  24. package/dist/admin/api/products.js.map +1 -0
  25. package/dist/admin/api/refund.d.ts +29 -0
  26. package/dist/admin/api/refund.d.ts.map +1 -0
  27. package/dist/admin/api/refund.js +136 -0
  28. package/dist/admin/api/refund.js.map +1 -0
  29. package/dist/admin/api/stats.d.ts +40 -0
  30. package/dist/admin/api/stats.d.ts.map +1 -0
  31. package/dist/admin/api/stats.js +74 -0
  32. package/dist/admin/api/stats.js.map +1 -0
  33. package/dist/admin/components/AdminGuard.d.ts +40 -0
  34. package/dist/admin/components/AdminGuard.d.ts.map +1 -0
  35. package/dist/admin/components/AdminGuard.js +97 -0
  36. package/dist/admin/components/AdminGuard.js.map +1 -0
  37. package/dist/admin/components/AdminHeader.d.ts +18 -0
  38. package/dist/admin/components/AdminHeader.d.ts.map +1 -0
  39. package/dist/admin/components/AdminHeader.js +33 -0
  40. package/dist/admin/components/AdminHeader.js.map +1 -0
  41. package/dist/admin/components/AdminLayout.d.ts +50 -0
  42. package/dist/admin/components/AdminLayout.d.ts.map +1 -0
  43. package/dist/admin/components/AdminLayout.js +46 -0
  44. package/dist/admin/components/AdminLayout.js.map +1 -0
  45. package/dist/admin/components/AdminLoginForm.d.ts +18 -0
  46. package/dist/admin/components/AdminLoginForm.d.ts.map +1 -0
  47. package/dist/admin/components/AdminLoginForm.js +58 -0
  48. package/dist/admin/components/AdminLoginForm.js.map +1 -0
  49. package/dist/admin/components/AdminNav.d.ts +34 -0
  50. package/dist/admin/components/AdminNav.d.ts.map +1 -0
  51. package/dist/admin/components/AdminNav.js +61 -0
  52. package/dist/admin/components/AdminNav.js.map +1 -0
  53. package/dist/admin/components/InventoryEditor.d.ts +15 -0
  54. package/dist/admin/components/InventoryEditor.d.ts.map +1 -0
  55. package/dist/admin/components/InventoryEditor.js +83 -0
  56. package/dist/admin/components/InventoryEditor.js.map +1 -0
  57. package/dist/admin/components/LowStockAlert.d.ts +11 -0
  58. package/dist/admin/components/LowStockAlert.d.ts.map +1 -0
  59. package/dist/admin/components/LowStockAlert.js +35 -0
  60. package/dist/admin/components/LowStockAlert.js.map +1 -0
  61. package/dist/admin/components/OrderDetails.d.ts +14 -0
  62. package/dist/admin/components/OrderDetails.d.ts.map +1 -0
  63. package/dist/admin/components/OrderDetails.js +94 -0
  64. package/dist/admin/components/OrderDetails.js.map +1 -0
  65. package/dist/admin/components/OrderTable.d.ts +13 -0
  66. package/dist/admin/components/OrderTable.d.ts.map +1 -0
  67. package/dist/admin/components/OrderTable.js +89 -0
  68. package/dist/admin/components/OrderTable.js.map +1 -0
  69. package/dist/admin/components/ProductForm.d.ts +18 -0
  70. package/dist/admin/components/ProductForm.d.ts.map +1 -0
  71. package/dist/admin/components/ProductForm.js +127 -0
  72. package/dist/admin/components/ProductForm.js.map +1 -0
  73. package/dist/admin/components/ProductTable.d.ts +13 -0
  74. package/dist/admin/components/ProductTable.d.ts.map +1 -0
  75. package/dist/admin/components/ProductTable.js +81 -0
  76. package/dist/admin/components/ProductTable.js.map +1 -0
  77. package/dist/admin/components/RecentOrders.d.ts +11 -0
  78. package/dist/admin/components/RecentOrders.d.ts.map +1 -0
  79. package/dist/admin/components/RecentOrders.js +58 -0
  80. package/dist/admin/components/RecentOrders.js.map +1 -0
  81. package/dist/admin/components/RefundDialog.d.ts +17 -0
  82. package/dist/admin/components/RefundDialog.d.ts.map +1 -0
  83. package/dist/admin/components/RefundDialog.js +86 -0
  84. package/dist/admin/components/RefundDialog.js.map +1 -0
  85. package/dist/admin/components/StatsCards.d.ts +23 -0
  86. package/dist/admin/components/StatsCards.d.ts.map +1 -0
  87. package/dist/admin/components/StatsCards.js +82 -0
  88. package/dist/admin/components/StatsCards.js.map +1 -0
  89. package/dist/admin/components/StoreSettings.d.ts +14 -0
  90. package/dist/admin/components/StoreSettings.d.ts.map +1 -0
  91. package/dist/admin/components/StoreSettings.js +88 -0
  92. package/dist/admin/components/StoreSettings.js.map +1 -0
  93. package/dist/admin/components/index.d.ts +21 -0
  94. package/dist/admin/components/index.d.ts.map +1 -0
  95. package/dist/admin/components/index.js +57 -0
  96. package/dist/admin/components/index.js.map +1 -0
  97. package/dist/admin/config.d.ts +74 -0
  98. package/dist/admin/config.d.ts.map +1 -0
  99. package/dist/admin/config.js +229 -0
  100. package/dist/admin/config.js.map +1 -0
  101. package/dist/admin/hooks/index.d.ts +10 -0
  102. package/dist/admin/hooks/index.d.ts.map +1 -0
  103. package/dist/admin/hooks/index.js +17 -0
  104. package/dist/admin/hooks/index.js.map +1 -0
  105. package/dist/admin/hooks/useAdminOrders.d.ts +41 -0
  106. package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
  107. package/dist/admin/hooks/useAdminOrders.js +191 -0
  108. package/dist/admin/hooks/useAdminOrders.js.map +1 -0
  109. package/dist/admin/hooks/useAdminProducts.d.ts +39 -0
  110. package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
  111. package/dist/admin/hooks/useAdminProducts.js +235 -0
  112. package/dist/admin/hooks/useAdminProducts.js.map +1 -0
  113. package/dist/admin/hooks/useAdminStats.d.ts +50 -0
  114. package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
  115. package/dist/admin/hooks/useAdminStats.js +111 -0
  116. package/dist/admin/hooks/useAdminStats.js.map +1 -0
  117. package/dist/admin/index.d.ts +63 -0
  118. package/dist/admin/index.d.ts.map +1 -0
  119. package/dist/admin/index.js +148 -0
  120. package/dist/admin/index.js.map +1 -0
  121. package/dist/admin/server/admin-service.d.ts +130 -0
  122. package/dist/admin/server/admin-service.d.ts.map +1 -0
  123. package/dist/admin/server/admin-service.js +298 -0
  124. package/dist/admin/server/admin-service.js.map +1 -0
  125. package/dist/admin/server/index.d.ts +8 -0
  126. package/dist/admin/server/index.d.ts.map +1 -0
  127. package/dist/admin/server/index.js +25 -0
  128. package/dist/admin/server/index.js.map +1 -0
  129. package/dist/admin/types.d.ts +549 -0
  130. package/dist/admin/types.d.ts.map +1 -0
  131. package/dist/admin/types.js +11 -0
  132. package/dist/admin/types.js.map +1 -0
  133. package/dist/auth/api/auth.d.ts +54 -0
  134. package/dist/auth/api/auth.d.ts.map +1 -0
  135. package/dist/auth/api/auth.js +67 -0
  136. package/dist/auth/api/auth.js.map +1 -0
  137. package/dist/auth/api/forgot-password.d.ts +41 -0
  138. package/dist/auth/api/forgot-password.d.ts.map +1 -0
  139. package/dist/auth/api/forgot-password.js +68 -0
  140. package/dist/auth/api/forgot-password.js.map +1 -0
  141. package/dist/auth/api/index.d.ts +34 -0
  142. package/dist/auth/api/index.d.ts.map +1 -0
  143. package/dist/auth/api/index.js +52 -0
  144. package/dist/auth/api/index.js.map +1 -0
  145. package/dist/auth/api/register.d.ts +41 -0
  146. package/dist/auth/api/register.d.ts.map +1 -0
  147. package/dist/auth/api/register.js +93 -0
  148. package/dist/auth/api/register.js.map +1 -0
  149. package/dist/auth/api/resend-verification.d.ts +41 -0
  150. package/dist/auth/api/resend-verification.d.ts.map +1 -0
  151. package/dist/auth/api/resend-verification.js +71 -0
  152. package/dist/auth/api/resend-verification.js.map +1 -0
  153. package/dist/auth/api/reset-password.d.ts +67 -0
  154. package/dist/auth/api/reset-password.d.ts.map +1 -0
  155. package/dist/auth/api/reset-password.js +110 -0
  156. package/dist/auth/api/reset-password.js.map +1 -0
  157. package/dist/auth/api/verify-email.d.ts +47 -0
  158. package/dist/auth/api/verify-email.d.ts.map +1 -0
  159. package/dist/auth/api/verify-email.js +94 -0
  160. package/dist/auth/api/verify-email.js.map +1 -0
  161. package/dist/auth/components/AuthGuard.d.ts +52 -0
  162. package/dist/auth/components/AuthGuard.d.ts.map +1 -0
  163. package/dist/auth/components/AuthGuard.js +113 -0
  164. package/dist/auth/components/AuthGuard.js.map +1 -0
  165. package/dist/auth/components/ForgotPasswordForm.d.ts +15 -0
  166. package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -0
  167. package/dist/auth/components/ForgotPasswordForm.js +44 -0
  168. package/dist/auth/components/ForgotPasswordForm.js.map +1 -0
  169. package/dist/auth/components/ResetPasswordForm.d.ts +18 -0
  170. package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -0
  171. package/dist/auth/components/ResetPasswordForm.js +88 -0
  172. package/dist/auth/components/ResetPasswordForm.js.map +1 -0
  173. package/dist/auth/components/SignInForm.d.ts +21 -0
  174. package/dist/auth/components/SignInForm.d.ts.map +1 -0
  175. package/dist/auth/components/SignInForm.js +63 -0
  176. package/dist/auth/components/SignInForm.js.map +1 -0
  177. package/dist/auth/components/SignUpForm.d.ts +18 -0
  178. package/dist/auth/components/SignUpForm.d.ts.map +1 -0
  179. package/dist/auth/components/SignUpForm.js +79 -0
  180. package/dist/auth/components/SignUpForm.js.map +1 -0
  181. package/dist/auth/components/UserMenu.d.ts +18 -0
  182. package/dist/auth/components/UserMenu.d.ts.map +1 -0
  183. package/dist/auth/components/UserMenu.js +75 -0
  184. package/dist/auth/components/UserMenu.js.map +1 -0
  185. package/dist/auth/components/VerifyEmailNotice.d.ts +20 -0
  186. package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -0
  187. package/dist/auth/components/VerifyEmailNotice.js +59 -0
  188. package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
  189. package/dist/auth/components/index.d.ts +13 -0
  190. package/dist/auth/components/index.d.ts.map +1 -0
  191. package/dist/auth/components/index.js +24 -0
  192. package/dist/auth/components/index.js.map +1 -0
  193. package/dist/auth/config.d.ts +42 -0
  194. package/dist/auth/config.d.ts.map +1 -0
  195. package/dist/auth/config.js +174 -0
  196. package/dist/auth/config.js.map +1 -0
  197. package/dist/auth/hooks/index.d.ts +7 -0
  198. package/dist/auth/hooks/index.d.ts.map +1 -0
  199. package/dist/auth/hooks/index.js +11 -0
  200. package/dist/auth/hooks/index.js.map +1 -0
  201. package/dist/auth/index.d.ts +54 -0
  202. package/dist/auth/index.d.ts.map +1 -0
  203. package/dist/auth/index.js +88 -0
  204. package/dist/auth/index.js.map +1 -0
  205. package/dist/auth/server/customer-service.d.ts +138 -0
  206. package/dist/auth/server/customer-service.d.ts.map +1 -0
  207. package/dist/auth/server/customer-service.js +309 -0
  208. package/dist/auth/server/customer-service.js.map +1 -0
  209. package/dist/auth/server/email-sender.d.ts +64 -0
  210. package/dist/auth/server/email-sender.d.ts.map +1 -0
  211. package/dist/auth/server/email-sender.js +112 -0
  212. package/dist/auth/server/email-sender.js.map +1 -0
  213. package/dist/auth/server/index.d.ts +13 -0
  214. package/dist/auth/server/index.d.ts.map +1 -0
  215. package/dist/auth/server/index.js +48 -0
  216. package/dist/auth/server/index.js.map +1 -0
  217. package/dist/auth/server/password-reset-service.d.ts +86 -0
  218. package/dist/auth/server/password-reset-service.d.ts.map +1 -0
  219. package/dist/auth/server/password-reset-service.js +236 -0
  220. package/dist/auth/server/password-reset-service.js.map +1 -0
  221. package/dist/auth/server/password.d.ts +58 -0
  222. package/dist/auth/server/password.d.ts.map +1 -0
  223. package/dist/auth/server/password.js +94 -0
  224. package/dist/auth/server/password.js.map +1 -0
  225. package/dist/auth/server/verification-service.d.ts +87 -0
  226. package/dist/auth/server/verification-service.d.ts.map +1 -0
  227. package/dist/auth/server/verification-service.js +268 -0
  228. package/dist/auth/server/verification-service.js.map +1 -0
  229. package/dist/auth/types.d.ts +305 -0
  230. package/dist/auth/types.d.ts.map +1 -0
  231. package/dist/auth/types.js +8 -0
  232. package/dist/auth/types.js.map +1 -0
  233. package/dist/cart/CartProvider.d.ts +65 -0
  234. package/dist/cart/CartProvider.d.ts.map +1 -0
  235. package/dist/cart/CartProvider.js +101 -0
  236. package/dist/cart/CartProvider.js.map +1 -0
  237. package/dist/cart/components/AddToCartButton.d.ts +77 -0
  238. package/dist/cart/components/AddToCartButton.d.ts.map +1 -0
  239. package/dist/cart/components/AddToCartButton.js +124 -0
  240. package/dist/cart/components/AddToCartButton.js.map +1 -0
  241. package/dist/cart/components/CartDrawer.d.ts +71 -0
  242. package/dist/cart/components/CartDrawer.d.ts.map +1 -0
  243. package/dist/cart/components/CartDrawer.js +108 -0
  244. package/dist/cart/components/CartDrawer.js.map +1 -0
  245. package/dist/cart/components/CartIcon.d.ts +36 -0
  246. package/dist/cart/components/CartIcon.d.ts.map +1 -0
  247. package/dist/cart/components/CartIcon.js +70 -0
  248. package/dist/cart/components/CartIcon.js.map +1 -0
  249. package/dist/cart/components/CartItem.d.ts +52 -0
  250. package/dist/cart/components/CartItem.d.ts.map +1 -0
  251. package/dist/cart/components/CartItem.js +55 -0
  252. package/dist/cart/components/CartItem.js.map +1 -0
  253. package/dist/cart/components/CartSummary.d.ts +43 -0
  254. package/dist/cart/components/CartSummary.d.ts.map +1 -0
  255. package/dist/cart/components/CartSummary.js +58 -0
  256. package/dist/cart/components/CartSummary.js.map +1 -0
  257. package/dist/cart/components/QuantitySelector.d.ts +39 -0
  258. package/dist/cart/components/QuantitySelector.d.ts.map +1 -0
  259. package/dist/cart/components/QuantitySelector.js +87 -0
  260. package/dist/cart/components/QuantitySelector.js.map +1 -0
  261. package/dist/cart/components/index.d.ts +18 -0
  262. package/dist/cart/components/index.d.ts.map +1 -0
  263. package/dist/cart/components/index.js +21 -0
  264. package/dist/cart/components/index.js.map +1 -0
  265. package/dist/cart/index.d.ts +109 -0
  266. package/dist/cart/index.d.ts.map +1 -0
  267. package/dist/cart/index.js +129 -0
  268. package/dist/cart/index.js.map +1 -0
  269. package/dist/cart/store.d.ts +101 -0
  270. package/dist/cart/store.d.ts.map +1 -0
  271. package/dist/cart/store.js +207 -0
  272. package/dist/cart/store.js.map +1 -0
  273. package/dist/checkout/api/checkout.d.ts +31 -0
  274. package/dist/checkout/api/checkout.d.ts.map +1 -0
  275. package/dist/checkout/api/checkout.js +103 -0
  276. package/dist/checkout/api/checkout.js.map +1 -0
  277. package/dist/checkout/api/index.d.ts +8 -0
  278. package/dist/checkout/api/index.d.ts.map +1 -0
  279. package/dist/checkout/api/index.js +13 -0
  280. package/dist/checkout/api/index.js.map +1 -0
  281. package/dist/checkout/api/webhook.d.ts +30 -0
  282. package/dist/checkout/api/webhook.d.ts.map +1 -0
  283. package/dist/checkout/api/webhook.js +58 -0
  284. package/dist/checkout/api/webhook.js.map +1 -0
  285. package/dist/checkout/components/CheckoutButton.d.ts +44 -0
  286. package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
  287. package/dist/checkout/components/CheckoutButton.js +97 -0
  288. package/dist/checkout/components/CheckoutButton.js.map +1 -0
  289. package/dist/checkout/components/CheckoutSuccess.d.ts +29 -0
  290. package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -0
  291. package/dist/checkout/components/CheckoutSuccess.js +60 -0
  292. package/dist/checkout/components/CheckoutSuccess.js.map +1 -0
  293. package/dist/checkout/components/OrderSummary.d.ts +37 -0
  294. package/dist/checkout/components/OrderSummary.d.ts.map +1 -0
  295. package/dist/checkout/components/OrderSummary.js +70 -0
  296. package/dist/checkout/components/OrderSummary.js.map +1 -0
  297. package/dist/checkout/components/ShippingForm.d.ts +30 -0
  298. package/dist/checkout/components/ShippingForm.d.ts.map +1 -0
  299. package/dist/checkout/components/ShippingForm.js +125 -0
  300. package/dist/checkout/components/ShippingForm.js.map +1 -0
  301. package/dist/checkout/components/index.d.ts +10 -0
  302. package/dist/checkout/components/index.d.ts.map +1 -0
  303. package/dist/checkout/components/index.js +17 -0
  304. package/dist/checkout/components/index.js.map +1 -0
  305. package/dist/checkout/hooks/index.d.ts +7 -0
  306. package/dist/checkout/hooks/index.d.ts.map +1 -0
  307. package/dist/checkout/hooks/index.js +12 -0
  308. package/dist/checkout/hooks/index.js.map +1 -0
  309. package/dist/checkout/hooks/useCheckout.d.ts +61 -0
  310. package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
  311. package/dist/checkout/hooks/useCheckout.js +174 -0
  312. package/dist/checkout/hooks/useCheckout.js.map +1 -0
  313. package/dist/checkout/index.d.ts +111 -0
  314. package/dist/checkout/index.d.ts.map +1 -0
  315. package/dist/checkout/index.js +148 -0
  316. package/dist/checkout/index.js.map +1 -0
  317. package/dist/checkout/server/create-checkout-session.d.ts +69 -0
  318. package/dist/checkout/server/create-checkout-session.d.ts.map +1 -0
  319. package/dist/checkout/server/create-checkout-session.js +190 -0
  320. package/dist/checkout/server/create-checkout-session.js.map +1 -0
  321. package/dist/checkout/server/handle-webhook.d.ts +35 -0
  322. package/dist/checkout/server/handle-webhook.d.ts.map +1 -0
  323. package/dist/checkout/server/handle-webhook.js +279 -0
  324. package/dist/checkout/server/handle-webhook.js.map +1 -0
  325. package/dist/checkout/server/index.d.ts +10 -0
  326. package/dist/checkout/server/index.d.ts.map +1 -0
  327. package/dist/checkout/server/index.js +19 -0
  328. package/dist/checkout/server/index.js.map +1 -0
  329. package/dist/checkout/server/order-service.d.ts +43 -0
  330. package/dist/checkout/server/order-service.d.ts.map +1 -0
  331. package/dist/checkout/server/order-service.js +196 -0
  332. package/dist/checkout/server/order-service.js.map +1 -0
  333. package/dist/checkout/stripe/client.d.ts +72 -0
  334. package/dist/checkout/stripe/client.d.ts.map +1 -0
  335. package/dist/checkout/stripe/client.js +189 -0
  336. package/dist/checkout/stripe/client.js.map +1 -0
  337. package/dist/checkout/stripe/index.d.ts +7 -0
  338. package/dist/checkout/stripe/index.d.ts.map +1 -0
  339. package/dist/checkout/stripe/index.js +21 -0
  340. package/dist/checkout/stripe/index.js.map +1 -0
  341. package/dist/checkout/types.d.ts +263 -0
  342. package/dist/checkout/types.d.ts.map +1 -0
  343. package/dist/checkout/types.js +9 -0
  344. package/dist/checkout/types.js.map +1 -0
  345. package/dist/core/config.d.ts +296 -0
  346. package/dist/core/config.d.ts.map +1 -0
  347. package/dist/core/config.js +162 -0
  348. package/dist/core/config.js.map +1 -0
  349. package/dist/core/db/client.d.ts +69 -0
  350. package/dist/core/db/client.d.ts.map +1 -0
  351. package/dist/core/db/client.js +202 -0
  352. package/dist/core/db/client.js.map +1 -0
  353. package/dist/core/db/index.d.ts +11 -0
  354. package/dist/core/db/index.d.ts.map +1 -0
  355. package/dist/core/db/index.js +87 -0
  356. package/dist/core/db/index.js.map +1 -0
  357. package/dist/core/db/queries.d.ts +658 -0
  358. package/dist/core/db/queries.d.ts.map +1 -0
  359. package/dist/core/db/queries.js +735 -0
  360. package/dist/core/db/queries.js.map +1 -0
  361. package/dist/core/db/schema.d.ts +1628 -0
  362. package/dist/core/db/schema.d.ts.map +1 -0
  363. package/dist/core/db/schema.js +262 -0
  364. package/dist/core/db/schema.js.map +1 -0
  365. package/dist/core/index.d.ts +20 -0
  366. package/dist/core/index.d.ts.map +1 -0
  367. package/dist/core/index.js +71 -0
  368. package/dist/core/index.js.map +1 -0
  369. package/dist/core/server/index.d.ts +17 -0
  370. package/dist/core/server/index.d.ts.map +1 -0
  371. package/dist/core/server/index.js +68 -0
  372. package/dist/core/server/index.js.map +1 -0
  373. package/dist/core/types.d.ts +230 -0
  374. package/dist/core/types.d.ts.map +1 -0
  375. package/dist/core/types.js +9 -0
  376. package/dist/core/types.js.map +1 -0
  377. package/dist/core/utils.d.ts +153 -0
  378. package/dist/core/utils.d.ts.map +1 -0
  379. package/dist/core/utils.js +356 -0
  380. package/dist/core/utils.js.map +1 -0
  381. package/dist/emails/config.d.ts +42 -0
  382. package/dist/emails/config.d.ts.map +1 -0
  383. package/dist/emails/config.js +89 -0
  384. package/dist/emails/config.js.map +1 -0
  385. package/dist/emails/index.d.ts +85 -0
  386. package/dist/emails/index.d.ts.map +1 -0
  387. package/dist/emails/index.js +170 -0
  388. package/dist/emails/index.js.map +1 -0
  389. package/dist/emails/send/auth.d.ts +91 -0
  390. package/dist/emails/send/auth.d.ts.map +1 -0
  391. package/dist/emails/send/auth.js +132 -0
  392. package/dist/emails/send/auth.js.map +1 -0
  393. package/dist/emails/send/index.d.ts +10 -0
  394. package/dist/emails/send/index.d.ts.map +1 -0
  395. package/dist/emails/send/index.js +33 -0
  396. package/dist/emails/send/index.js.map +1 -0
  397. package/dist/emails/send/orders.d.ts +180 -0
  398. package/dist/emails/send/orders.d.ts.map +1 -0
  399. package/dist/emails/send/orders.js +259 -0
  400. package/dist/emails/send/orders.js.map +1 -0
  401. package/dist/emails/sender.d.ts +72 -0
  402. package/dist/emails/sender.d.ts.map +1 -0
  403. package/dist/emails/sender.js +118 -0
  404. package/dist/emails/sender.js.map +1 -0
  405. package/dist/emails/templates/base.d.ts +105 -0
  406. package/dist/emails/templates/base.d.ts.map +1 -0
  407. package/dist/emails/templates/base.js +291 -0
  408. package/dist/emails/templates/base.js.map +1 -0
  409. package/dist/emails/templates/email-verification.d.ts +28 -0
  410. package/dist/emails/templates/email-verification.d.ts.map +1 -0
  411. package/dist/emails/templates/email-verification.js +56 -0
  412. package/dist/emails/templates/email-verification.js.map +1 -0
  413. package/dist/emails/templates/index.d.ts +15 -0
  414. package/dist/emails/templates/index.d.ts.map +1 -0
  415. package/dist/emails/templates/index.js +58 -0
  416. package/dist/emails/templates/index.js.map +1 -0
  417. package/dist/emails/templates/order-cancelled.d.ts +30 -0
  418. package/dist/emails/templates/order-cancelled.d.ts.map +1 -0
  419. package/dist/emails/templates/order-cancelled.js +87 -0
  420. package/dist/emails/templates/order-cancelled.js.map +1 -0
  421. package/dist/emails/templates/order-confirmation.d.ts +36 -0
  422. package/dist/emails/templates/order-confirmation.d.ts.map +1 -0
  423. package/dist/emails/templates/order-confirmation.js +161 -0
  424. package/dist/emails/templates/order-confirmation.js.map +1 -0
  425. package/dist/emails/templates/order-delivered.d.ts +31 -0
  426. package/dist/emails/templates/order-delivered.d.ts.map +1 -0
  427. package/dist/emails/templates/order-delivered.js +95 -0
  428. package/dist/emails/templates/order-delivered.js.map +1 -0
  429. package/dist/emails/templates/order-shipped.d.ts +32 -0
  430. package/dist/emails/templates/order-shipped.d.ts.map +1 -0
  431. package/dist/emails/templates/order-shipped.js +87 -0
  432. package/dist/emails/templates/order-shipped.js.map +1 -0
  433. package/dist/emails/templates/password-reset.d.ts +27 -0
  434. package/dist/emails/templates/password-reset.d.ts.map +1 -0
  435. package/dist/emails/templates/password-reset.js +55 -0
  436. package/dist/emails/templates/password-reset.js.map +1 -0
  437. package/dist/emails/templates/refund-processed.d.ts +32 -0
  438. package/dist/emails/templates/refund-processed.d.ts.map +1 -0
  439. package/dist/emails/templates/refund-processed.js +96 -0
  440. package/dist/emails/templates/refund-processed.js.map +1 -0
  441. package/dist/emails/templates/welcome.d.ts +27 -0
  442. package/dist/emails/templates/welcome.d.ts.map +1 -0
  443. package/dist/emails/templates/welcome.js +56 -0
  444. package/dist/emails/templates/welcome.js.map +1 -0
  445. package/dist/emails/types.d.ts +202 -0
  446. package/dist/emails/types.d.ts.map +1 -0
  447. package/dist/emails/types.js +8 -0
  448. package/dist/emails/types.js.map +1 -0
  449. package/dist/emails/utils.d.ts +94 -0
  450. package/dist/emails/utils.d.ts.map +1 -0
  451. package/dist/emails/utils.js +229 -0
  452. package/dist/emails/utils.js.map +1 -0
  453. package/dist/index.d.ts +40 -0
  454. package/dist/index.d.ts.map +1 -0
  455. package/dist/index.js +225 -0
  456. package/dist/index.js.map +1 -0
  457. package/dist/products/api/categories.d.ts +29 -0
  458. package/dist/products/api/categories.d.ts.map +1 -0
  459. package/dist/products/api/categories.js +49 -0
  460. package/dist/products/api/categories.js.map +1 -0
  461. package/dist/products/api/index.d.ts +24 -0
  462. package/dist/products/api/index.d.ts.map +1 -0
  463. package/dist/products/api/index.js +30 -0
  464. package/dist/products/api/index.js.map +1 -0
  465. package/dist/products/api/product.d.ts +36 -0
  466. package/dist/products/api/product.d.ts.map +1 -0
  467. package/dist/products/api/product.js +70 -0
  468. package/dist/products/api/product.js.map +1 -0
  469. package/dist/products/api/products.d.ts +41 -0
  470. package/dist/products/api/products.d.ts.map +1 -0
  471. package/dist/products/api/products.js +102 -0
  472. package/dist/products/api/products.js.map +1 -0
  473. package/dist/products/components/CategoryNav.d.ts +51 -0
  474. package/dist/products/components/CategoryNav.d.ts.map +1 -0
  475. package/dist/products/components/CategoryNav.js +115 -0
  476. package/dist/products/components/CategoryNav.js.map +1 -0
  477. package/dist/products/components/ProductBreadcrumb.d.ts +52 -0
  478. package/dist/products/components/ProductBreadcrumb.d.ts.map +1 -0
  479. package/dist/products/components/ProductBreadcrumb.js +78 -0
  480. package/dist/products/components/ProductBreadcrumb.js.map +1 -0
  481. package/dist/products/components/ProductCard.d.ts +54 -0
  482. package/dist/products/components/ProductCard.d.ts.map +1 -0
  483. package/dist/products/components/ProductCard.js +65 -0
  484. package/dist/products/components/ProductCard.js.map +1 -0
  485. package/dist/products/components/ProductDetails.d.ts +63 -0
  486. package/dist/products/components/ProductDetails.d.ts.map +1 -0
  487. package/dist/products/components/ProductDetails.js +105 -0
  488. package/dist/products/components/ProductDetails.js.map +1 -0
  489. package/dist/products/components/ProductFilters.d.ts +70 -0
  490. package/dist/products/components/ProductFilters.d.ts.map +1 -0
  491. package/dist/products/components/ProductFilters.js +127 -0
  492. package/dist/products/components/ProductFilters.js.map +1 -0
  493. package/dist/products/components/ProductGallery.d.ts +37 -0
  494. package/dist/products/components/ProductGallery.d.ts.map +1 -0
  495. package/dist/products/components/ProductGallery.js +80 -0
  496. package/dist/products/components/ProductGallery.js.map +1 -0
  497. package/dist/products/components/ProductGrid.d.ts +50 -0
  498. package/dist/products/components/ProductGrid.d.ts.map +1 -0
  499. package/dist/products/components/ProductGrid.js +83 -0
  500. package/dist/products/components/ProductGrid.js.map +1 -0
  501. package/dist/products/components/ProductSearch.d.ts +43 -0
  502. package/dist/products/components/ProductSearch.d.ts.map +1 -0
  503. package/dist/products/components/ProductSearch.js +99 -0
  504. package/dist/products/components/ProductSearch.js.map +1 -0
  505. package/dist/products/components/ProductSort.d.ts +43 -0
  506. package/dist/products/components/ProductSort.d.ts.map +1 -0
  507. package/dist/products/components/ProductSort.js +61 -0
  508. package/dist/products/components/ProductSort.js.map +1 -0
  509. package/dist/products/components/VariantSelector.d.ts +43 -0
  510. package/dist/products/components/VariantSelector.d.ts.map +1 -0
  511. package/dist/products/components/VariantSelector.js +147 -0
  512. package/dist/products/components/VariantSelector.js.map +1 -0
  513. package/dist/products/components/index.d.ts +26 -0
  514. package/dist/products/components/index.d.ts.map +1 -0
  515. package/dist/products/components/index.js +32 -0
  516. package/dist/products/components/index.js.map +1 -0
  517. package/dist/products/hooks/index.d.ts +14 -0
  518. package/dist/products/hooks/index.d.ts.map +1 -0
  519. package/dist/products/hooks/index.js +17 -0
  520. package/dist/products/hooks/index.js.map +1 -0
  521. package/dist/products/hooks/useCategories.d.ts +56 -0
  522. package/dist/products/hooks/useCategories.d.ts.map +1 -0
  523. package/dist/products/hooks/useCategories.js +126 -0
  524. package/dist/products/hooks/useCategories.js.map +1 -0
  525. package/dist/products/hooks/useProduct.d.ts +44 -0
  526. package/dist/products/hooks/useProduct.d.ts.map +1 -0
  527. package/dist/products/hooks/useProduct.js +86 -0
  528. package/dist/products/hooks/useProduct.js.map +1 -0
  529. package/dist/products/hooks/useProductAttributes.d.ts +59 -0
  530. package/dist/products/hooks/useProductAttributes.d.ts.map +1 -0
  531. package/dist/products/hooks/useProductAttributes.js +148 -0
  532. package/dist/products/hooks/useProductAttributes.js.map +1 -0
  533. package/dist/products/hooks/useProducts.d.ts +67 -0
  534. package/dist/products/hooks/useProducts.d.ts.map +1 -0
  535. package/dist/products/hooks/useProducts.js +132 -0
  536. package/dist/products/hooks/useProducts.js.map +1 -0
  537. package/dist/products/index.d.ts +94 -0
  538. package/dist/products/index.d.ts.map +1 -0
  539. package/dist/products/index.js +123 -0
  540. package/dist/products/index.js.map +1 -0
  541. package/dist/theme/ThemeProvider.d.ts +70 -0
  542. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  543. package/dist/theme/ThemeProvider.js +77 -0
  544. package/dist/theme/ThemeProvider.js.map +1 -0
  545. package/dist/theme/colors.d.ts +148 -0
  546. package/dist/theme/colors.d.ts.map +1 -0
  547. package/dist/theme/colors.js +219 -0
  548. package/dist/theme/colors.js.map +1 -0
  549. package/dist/theme/defaults.d.ts +212 -0
  550. package/dist/theme/defaults.d.ts.map +1 -0
  551. package/dist/theme/defaults.js +278 -0
  552. package/dist/theme/defaults.js.map +1 -0
  553. package/dist/theme/fonts.d.ts +59 -0
  554. package/dist/theme/fonts.d.ts.map +1 -0
  555. package/dist/theme/fonts.js +202 -0
  556. package/dist/theme/fonts.js.map +1 -0
  557. package/dist/theme/generator.d.ts +50 -0
  558. package/dist/theme/generator.d.ts.map +1 -0
  559. package/dist/theme/generator.js +322 -0
  560. package/dist/theme/generator.js.map +1 -0
  561. package/dist/theme/hooks.d.ts +110 -0
  562. package/dist/theme/hooks.d.ts.map +1 -0
  563. package/dist/theme/hooks.js +106 -0
  564. package/dist/theme/hooks.js.map +1 -0
  565. package/dist/theme/index.d.ts +37 -0
  566. package/dist/theme/index.d.ts.map +1 -0
  567. package/dist/theme/index.js +85 -0
  568. package/dist/theme/index.js.map +1 -0
  569. package/package.json +1 -1
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/auth/server/password-reset-service
4
+ *
5
+ * Password reset token management.
6
+ * Handles creating, validating, and using reset tokens.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.requestPasswordReset = requestPasswordReset;
43
+ exports.validateResetToken = validateResetToken;
44
+ exports.resetPassword = resetPassword;
45
+ exports.deletePasswordResetTokens = deletePasswordResetTokens;
46
+ exports.cleanupExpiredResetTokens = cleanupExpiredResetTokens;
47
+ const drizzle_orm_1 = require("drizzle-orm");
48
+ const nanoid_1 = require("nanoid");
49
+ const client_1 = require("../../core/db/client");
50
+ const schema = __importStar(require("../../core/db/schema"));
51
+ const customer_service_1 = require("./customer-service");
52
+ const email_sender_1 = require("./email-sender");
53
+ // =============================================================================
54
+ // Constants
55
+ // =============================================================================
56
+ /**
57
+ * Password reset token expiry time in milliseconds (1 hour).
58
+ * Shorter than verification tokens for security.
59
+ */
60
+ const TOKEN_EXPIRY_MS = 60 * 60 * 1000;
61
+ /**
62
+ * Token length (URL-safe).
63
+ */
64
+ const TOKEN_LENGTH = 32;
65
+ // =============================================================================
66
+ // Token Management
67
+ // =============================================================================
68
+ /**
69
+ * Request a password reset for a customer.
70
+ * Creates a token and sends reset email.
71
+ *
72
+ * Note: Always returns success to prevent email enumeration attacks.
73
+ *
74
+ * @param email - Customer email address
75
+ * @returns Always returns success (security best practice)
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const result = await requestPasswordReset('customer@example.com')
80
+ * // Always show "If an account exists, we've sent a reset email"
81
+ * ```
82
+ */
83
+ async function requestPasswordReset(email) {
84
+ // Find customer by email
85
+ const customer = await (0, customer_service_1.findCustomerByEmail)(email);
86
+ if (!customer) {
87
+ // Don't reveal if email exists - return success anyway
88
+ return { success: true };
89
+ }
90
+ // Delete any existing reset tokens for this customer
91
+ await deletePasswordResetTokens(customer.id);
92
+ // Generate new token
93
+ const db = (0, client_1.getDb)();
94
+ const tenantId = (0, client_1.getTenantId)();
95
+ const token = (0, nanoid_1.nanoid)(TOKEN_LENGTH);
96
+ const expires = new Date(Date.now() + TOKEN_EXPIRY_MS);
97
+ await db.insert(schema.customerPasswordResetTokens).values({
98
+ tenantId,
99
+ customerId: customer.id,
100
+ token,
101
+ expires,
102
+ });
103
+ // Send reset email (don't wait, but log errors)
104
+ const storeName = (0, email_sender_1.getStoreName)();
105
+ (0, email_sender_1.sendPasswordResetEmail)(email, token, storeName).catch((error) => {
106
+ console.error('[Auth Reset] Failed to send password reset email:', error);
107
+ });
108
+ return { success: true };
109
+ }
110
+ /**
111
+ * Validate a password reset token.
112
+ * Does NOT consume the token - use resetPassword() for that.
113
+ *
114
+ * @param token - Reset token from email link
115
+ * @returns Validation result
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * const result = await validateResetToken(token)
120
+ * if (result.valid) {
121
+ * // Show password reset form
122
+ * } else {
123
+ * // Show error message
124
+ * }
125
+ * ```
126
+ */
127
+ async function validateResetToken(token) {
128
+ const db = (0, client_1.getDb)();
129
+ // Find the token (not tenant-scoped since we only have the token)
130
+ const [tokenRecord] = await db
131
+ .select()
132
+ .from(schema.customerPasswordResetTokens)
133
+ .where((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.token, token))
134
+ .limit(1);
135
+ if (!tokenRecord) {
136
+ return {
137
+ valid: false,
138
+ error: 'Invalid or expired reset link. Please request a new one.',
139
+ };
140
+ }
141
+ // Check if token has expired
142
+ if (new Date() > tokenRecord.expires) {
143
+ // Clean up expired token
144
+ await db
145
+ .delete(schema.customerPasswordResetTokens)
146
+ .where((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.id, tokenRecord.id));
147
+ return {
148
+ valid: false,
149
+ error: 'Reset link has expired. Please request a new one.',
150
+ };
151
+ }
152
+ return { valid: true };
153
+ }
154
+ /**
155
+ * Reset password using a token.
156
+ * Validates the token, updates the password, and deletes the token.
157
+ *
158
+ * @param token - Reset token from email link
159
+ * @param newPassword - New password (plain text, will be hashed)
160
+ * @returns Reset result
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const result = await resetPassword(token, 'newSecurePassword123')
165
+ * if (result.success) {
166
+ * // Redirect to login
167
+ * } else {
168
+ * // Show error
169
+ * }
170
+ * ```
171
+ */
172
+ async function resetPassword(token, newPassword) {
173
+ const db = (0, client_1.getDb)();
174
+ // Find the token
175
+ const [tokenRecord] = await db
176
+ .select()
177
+ .from(schema.customerPasswordResetTokens)
178
+ .where((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.token, token))
179
+ .limit(1);
180
+ if (!tokenRecord) {
181
+ return {
182
+ success: false,
183
+ error: 'Invalid or expired reset link. Please request a new one.',
184
+ };
185
+ }
186
+ // Check if token has expired
187
+ if (new Date() > tokenRecord.expires) {
188
+ // Clean up expired token
189
+ await db
190
+ .delete(schema.customerPasswordResetTokens)
191
+ .where((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.id, tokenRecord.id));
192
+ return {
193
+ success: false,
194
+ error: 'Reset link has expired. Please request a new one.',
195
+ };
196
+ }
197
+ // Update the customer's password
198
+ await (0, customer_service_1.updateCustomerPassword)(tokenRecord.customerId, newPassword);
199
+ // Delete all reset tokens for this customer
200
+ await db
201
+ .delete(schema.customerPasswordResetTokens)
202
+ .where((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.customerId, tokenRecord.customerId));
203
+ return { success: true };
204
+ }
205
+ /**
206
+ * Delete all password reset tokens for a customer.
207
+ *
208
+ * @param customerId - Customer UUID
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * await deletePasswordResetTokens(customerId)
213
+ * ```
214
+ */
215
+ async function deletePasswordResetTokens(customerId) {
216
+ const db = (0, client_1.getDb)();
217
+ const tenantId = (0, client_1.getTenantId)();
218
+ await db
219
+ .delete(schema.customerPasswordResetTokens)
220
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.tenantId, tenantId), (0, drizzle_orm_1.eq)(schema.customerPasswordResetTokens.customerId, customerId)));
221
+ }
222
+ /**
223
+ * Clean up expired password reset tokens.
224
+ * Should be called periodically (e.g., via cron job).
225
+ *
226
+ * @returns Number of tokens deleted
227
+ */
228
+ async function cleanupExpiredResetTokens() {
229
+ const db = (0, client_1.getDb)();
230
+ const result = await db
231
+ .delete(schema.customerPasswordResetTokens)
232
+ .where((0, drizzle_orm_1.lt)(schema.customerPasswordResetTokens.expires, new Date()))
233
+ .returning({ id: schema.customerPasswordResetTokens.id });
234
+ return result.length;
235
+ }
236
+ //# sourceMappingURL=password-reset-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-reset-service.js","sourceRoot":"","sources":["../../../src/auth/server/password-reset-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @rovela/sdk/auth/server/password
3
+ *
4
+ * Password hashing and verification utilities.
5
+ * Uses bcryptjs with 12 salt rounds for security.
6
+ */
7
+ /**
8
+ * Minimum password length required.
9
+ */
10
+ export declare const MIN_PASSWORD_LENGTH = 8;
11
+ /**
12
+ * Hash a password using bcrypt.
13
+ *
14
+ * @param password - Plain text password to hash
15
+ * @returns Hashed password string
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const hash = await hashPassword('mySecurePassword123')
20
+ * // Store hash in database
21
+ * ```
22
+ */
23
+ export declare function hashPassword(password: string): Promise<string>;
24
+ /**
25
+ * Verify a password against a hash.
26
+ *
27
+ * @param password - Plain text password to verify
28
+ * @param hashedPassword - Hashed password from database
29
+ * @returns True if password matches, false otherwise
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const isValid = await verifyPassword('mySecurePassword123', storedHash)
34
+ * if (!isValid) {
35
+ * throw new Error('Invalid password')
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function verifyPassword(password: string, hashedPassword: string): Promise<boolean>;
40
+ /**
41
+ * Validate password strength.
42
+ *
43
+ * @param password - Password to validate
44
+ * @returns Object with valid flag and optional error message
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const result = validatePassword('short')
49
+ * if (!result.valid) {
50
+ * console.error(result.error) // "Password must be at least 8 characters"
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function validatePassword(password: string): {
55
+ valid: boolean;
56
+ error?: string;
57
+ };
58
+ //# sourceMappingURL=password.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/auth/server/password.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAMpC;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAElB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAaA"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/auth/server/password
4
+ *
5
+ * Password hashing and verification utilities.
6
+ * Uses bcryptjs with 12 salt rounds for security.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MIN_PASSWORD_LENGTH = void 0;
13
+ exports.hashPassword = hashPassword;
14
+ exports.verifyPassword = verifyPassword;
15
+ exports.validatePassword = validatePassword;
16
+ const bcryptjs_1 = __importDefault(require("bcryptjs"));
17
+ // =============================================================================
18
+ // Constants
19
+ // =============================================================================
20
+ /**
21
+ * Number of salt rounds for bcrypt.
22
+ * 12 rounds provides a good balance of security and performance.
23
+ */
24
+ const SALT_ROUNDS = 12;
25
+ /**
26
+ * Minimum password length required.
27
+ */
28
+ exports.MIN_PASSWORD_LENGTH = 8;
29
+ // =============================================================================
30
+ // Password Hashing
31
+ // =============================================================================
32
+ /**
33
+ * Hash a password using bcrypt.
34
+ *
35
+ * @param password - Plain text password to hash
36
+ * @returns Hashed password string
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const hash = await hashPassword('mySecurePassword123')
41
+ * // Store hash in database
42
+ * ```
43
+ */
44
+ async function hashPassword(password) {
45
+ return bcryptjs_1.default.hash(password, SALT_ROUNDS);
46
+ }
47
+ /**
48
+ * Verify a password against a hash.
49
+ *
50
+ * @param password - Plain text password to verify
51
+ * @param hashedPassword - Hashed password from database
52
+ * @returns True if password matches, false otherwise
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const isValid = await verifyPassword('mySecurePassword123', storedHash)
57
+ * if (!isValid) {
58
+ * throw new Error('Invalid password')
59
+ * }
60
+ * ```
61
+ */
62
+ async function verifyPassword(password, hashedPassword) {
63
+ return bcryptjs_1.default.compare(password, hashedPassword);
64
+ }
65
+ // =============================================================================
66
+ // Password Validation
67
+ // =============================================================================
68
+ /**
69
+ * Validate password strength.
70
+ *
71
+ * @param password - Password to validate
72
+ * @returns Object with valid flag and optional error message
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const result = validatePassword('short')
77
+ * if (!result.valid) {
78
+ * console.error(result.error) // "Password must be at least 8 characters"
79
+ * }
80
+ * ```
81
+ */
82
+ function validatePassword(password) {
83
+ if (!password) {
84
+ return { valid: false, error: 'Password is required' };
85
+ }
86
+ if (password.length < exports.MIN_PASSWORD_LENGTH) {
87
+ return {
88
+ valid: false,
89
+ error: `Password must be at least ${exports.MIN_PASSWORD_LENGTH} characters`,
90
+ };
91
+ }
92
+ return { valid: true };
93
+ }
94
+ //# sourceMappingURL=password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.js","sourceRoot":"","sources":["../../../src/auth/server/password.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAmCH,oCAEC;AAiBD,wCAKC;AAoBD,4CAgBC;AA7FD,wDAA6B;AAE7B,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,WAAW,GAAG,EAAE,CAAA;AAEtB;;GAEG;AACU,QAAA,mBAAmB,GAAG,CAAC,CAAA;AAEpC,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,OAAO,kBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,cAAsB;IAEtB,OAAO,kBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACjD,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAI/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,2BAAmB,EAAE,CAAC;QAC1C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,6BAA6B,2BAAmB,aAAa;SACrE,CAAA;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @rovela/sdk/auth/server/verification-service
3
+ *
4
+ * Email verification token management.
5
+ * Handles creating, validating, and cleaning up verification tokens.
6
+ */
7
+ /**
8
+ * Create a verification token for a customer.
9
+ * Deletes any existing tokens for the customer first.
10
+ *
11
+ * @param customerId - Customer UUID
12
+ * @returns The verification token
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const token = await createVerificationToken(customerId)
17
+ * // Use token in verification email link
18
+ * ```
19
+ */
20
+ export declare function createVerificationToken(customerId: string): Promise<string>;
21
+ /**
22
+ * Verify email using a token.
23
+ * Marks the customer's email as verified if token is valid.
24
+ *
25
+ * @param token - Verification token from email link
26
+ * @returns Verification result
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const result = await verifyEmail(token)
31
+ * if (result.success) {
32
+ * console.log('Email verified for customer:', result.customerId)
33
+ * } else {
34
+ * console.error('Verification failed:', result.error)
35
+ * }
36
+ * ```
37
+ */
38
+ export declare function verifyEmail(token: string): Promise<{
39
+ success: boolean;
40
+ customerId?: string;
41
+ error?: string;
42
+ }>;
43
+ /**
44
+ * Delete all verification tokens for a customer.
45
+ *
46
+ * @param customerId - Customer UUID
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * await deleteVerificationTokens(customerId)
51
+ * ```
52
+ */
53
+ export declare function deleteVerificationTokens(customerId: string): Promise<void>;
54
+ /**
55
+ * Resend verification email to a customer.
56
+ * Creates a new token and sends the email.
57
+ *
58
+ * @param email - Customer email address
59
+ * @returns Result with success status
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const result = await resendVerificationEmail('customer@example.com')
64
+ * if (result.success) {
65
+ * console.log('Verification email sent')
66
+ * }
67
+ * ```
68
+ */
69
+ export declare function resendVerificationEmail(email: string): Promise<{
70
+ success: boolean;
71
+ error?: string;
72
+ }>;
73
+ /**
74
+ * Check if a customer's email is verified.
75
+ *
76
+ * @param customerId - Customer UUID
77
+ * @returns True if email is verified
78
+ */
79
+ export declare function isEmailVerified(customerId: string): Promise<boolean>;
80
+ /**
81
+ * Clean up expired verification tokens.
82
+ * Should be called periodically (e.g., via cron job).
83
+ *
84
+ * @returns Number of tokens deleted
85
+ */
86
+ export declare function cleanupExpiredTokens(): Promise<number>;
87
+ //# sourceMappingURL=verification-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-service.d.ts","sourceRoot":"","sources":["../../../src/auth/server/verification-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CA6CD;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CA+BD;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1E;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAS5D"}