@baseplate-dev/plugin-auth 0.6.18 → 0.6.19

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 (209) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +62 -0
  3. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +62 -0
  4. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +31 -0
  5. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +31 -0
  6. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js +1 -2
  7. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.tsx +1 -1
  8. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +62 -0
  9. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +62 -0
  10. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +31 -0
  11. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +62 -0
  12. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js +1 -2
  13. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.tsx +1 -1
  14. package/dist/better-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +31 -0
  15. package/dist/better-auth/core/node.js +7 -8
  16. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/index.d.ts +1 -0
  17. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/ts-import-providers.d.ts +1 -0
  18. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/ts-import-providers.js +1 -0
  19. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.d.ts +20 -3
  20. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js +5 -24
  21. package/dist/better-auth/generators/fastify/better-auth-module/generated/index.d.ts +40 -2
  22. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.d.ts +19 -1
  23. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.js +6 -2
  24. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts +1 -0
  25. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js +1 -0
  26. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.d.ts +20 -1
  27. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.js +4 -1
  28. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/auth.ts +16 -8
  29. package/dist/better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.d.ts +1 -1
  30. package/dist/better-auth/generators/react/better-auth-hooks/generated/index.d.ts +5 -4
  31. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.d.ts +1 -1
  32. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.js +1 -1
  33. package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.d.ts +2 -1
  34. package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.js +2 -1
  35. package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.d.ts +6 -6
  36. package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.js +13 -13
  37. package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/{use-required-user-id.ts → use-user-id-or-throw.ts} +1 -1
  38. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts +31 -0
  39. package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts +186 -0
  40. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts +31 -0
  41. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +310 -0
  42. package/dist/better-auth/generators/react/better-auth-pages/templates/routes/forgot-password.tsx +1 -4
  43. package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts +65 -2
  44. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts +32 -1
  45. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.d.ts +1 -0
  46. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.js +1 -0
  47. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts +32 -1
  48. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts +32 -1
  49. package/dist/better-auth/generators/react/react-better-auth/templates/src/app/auth-loaded-gate.tsx +12 -3
  50. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/admin-crud-invite-user-action.generator.d.ts +62 -0
  51. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/generated/index.d.ts +62 -0
  52. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/generated/template-renderers.d.ts +31 -0
  53. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/generated/typed-templates.d.ts +31 -0
  54. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/templates/routes/-components/invite-user-dialog.js +1 -2
  55. package/dist/local-auth/admin/generators/admin-crud-invite-user-action/templates/routes/-components/invite-user-dialog.tsx +1 -1
  56. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +62 -0
  57. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +62 -0
  58. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +31 -0
  59. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +31 -0
  60. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js +1 -2
  61. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.tsx +1 -1
  62. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +62 -0
  63. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +62 -0
  64. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +31 -0
  65. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +62 -0
  66. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js +1 -2
  67. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.tsx +1 -1
  68. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +31 -0
  69. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +10 -7
  70. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js +8 -11
  71. package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts +40 -13
  72. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts +9 -0
  73. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js +6 -5
  74. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.d.ts +1 -3
  75. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.js +1 -2
  76. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts +40 -16
  77. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js +11 -8
  78. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.js +2 -3
  79. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.ts +5 -3
  80. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/invite.service.js +17 -13
  81. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/invite.service.ts +25 -13
  82. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +2 -3
  83. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +5 -3
  84. package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts +272 -1
  85. package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts +547 -4
  86. package/dist/local-auth/core/generators/auth-hooks/generated/template-paths.d.ts +1 -1
  87. package/dist/local-auth/core/generators/auth-hooks/generated/template-paths.js +1 -1
  88. package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts +271 -0
  89. package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.js +4 -2
  90. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.d.ts +2 -1
  91. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.js +2 -1
  92. package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts +548 -6
  93. package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.js +15 -14
  94. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-log-out.js +1 -1
  95. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-log-out.ts +1 -1
  96. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.d.ts +7 -0
  97. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.ts +7 -0
  98. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +19 -7
  99. package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +3 -26
  100. package/dist/local-auth/core/generators/auth-module/generated/index.d.ts +48 -7
  101. package/dist/local-auth/core/generators/auth-module/generated/template-paths.d.ts +0 -1
  102. package/dist/local-auth/core/generators/auth-module/generated/template-paths.js +0 -1
  103. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts +19 -1
  104. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.js +7 -3
  105. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.d.ts +1 -0
  106. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.js +1 -0
  107. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts +28 -7
  108. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.js +5 -14
  109. package/dist/local-auth/core/generators/auth-module/templates/module/services/code-verification.service.d.ts +7 -6
  110. package/dist/local-auth/core/generators/auth-module/templates/module/services/code-verification.service.js +23 -17
  111. package/dist/local-auth/core/generators/auth-module/templates/module/services/code-verification.service.ts +25 -18
  112. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.js +8 -9
  113. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.ts +10 -11
  114. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts +31 -0
  115. package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +249 -0
  116. package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +31 -0
  117. package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.d.ts +1 -0
  118. package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.js +1 -0
  119. package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +310 -0
  120. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/accept-invite.js +12 -5
  121. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/accept-invite.tsx +14 -4
  122. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.js +1 -2
  123. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.tsx +1 -1
  124. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login-otp.js +4 -4
  125. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login-otp.tsx +4 -3
  126. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +4 -4
  127. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +4 -3
  128. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +4 -4
  129. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +4 -3
  130. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +1 -2
  131. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +1 -1
  132. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.js +1 -2
  133. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.tsx +1 -1
  134. package/dist/local-auth/core/generators/react-session/generated/index.d.ts +78 -7
  135. package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts +32 -1
  136. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.d.ts +1 -0
  137. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.js +1 -0
  138. package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts +90 -12
  139. package/dist/local-auth/core/generators/react-session/generated/typed-templates.js +5 -2
  140. package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts +48 -1
  141. package/dist/local-auth/core/generators/react-session/react-session.generator.js +35 -1
  142. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.js +17 -44
  143. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.tsx +21 -49
  144. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.d.ts +43 -34
  145. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.js +96 -80
  146. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.ts +148 -82
  147. package/dist/local-auth/core/generators/seed-initial-user/generated/index.d.ts +0 -2
  148. package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.d.ts +0 -1
  149. package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.d.ts +0 -1
  150. package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.d.ts +0 -1
  151. package/dist/local-auth/core/node.js +7 -7
  152. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/index.d.ts +4 -3
  153. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/template-paths.d.ts +1 -1
  154. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/template-paths.js +1 -1
  155. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/ts-import-providers.d.ts +2 -1
  156. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/ts-import-providers.js +2 -1
  157. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/typed-templates.d.ts +4 -4
  158. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/generated/typed-templates.js +13 -13
  159. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/placeholder-auth-hooks.generator.d.ts +1 -1
  160. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/templates/src/hooks/use-session.d.ts +1 -0
  161. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/templates/src/hooks/use-session.ts +2 -0
  162. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/index.d.ts +1 -2
  163. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/template-renderers.d.ts +0 -1
  164. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/ts-import-providers.d.ts +1 -0
  165. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/ts-import-providers.js +1 -0
  166. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/typed-templates.d.ts +0 -1
  167. package/dist/placeholder-auth/core/generators/placeholder-auth-module/placeholder-auth-module.generator.d.ts +0 -1
  168. package/dist/web/assets/{_virtual_mf-localSharedImportMap___mfe_internal__plugin_mf_2_auth__mf_owner__1-CKKmnLep.js → _virtual_mf-localSharedImportMap___mfe_internal__plugin_mf_2_auth__mf_owner__1-DUupKqD4.js} +14 -14
  169. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib__loadShare__.js-Cx7TvZ_H.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib__loadShare__.js-DE4rTqEA.js} +198 -66
  170. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib_mf_1_web__loadShare__.js-D3Nvasea.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib_mf_1_web__loadShare__.js-mszeXpf-.js} +1 -1
  171. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_ui_mf_2_components__loadShare__.js-C2GDE8Py.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_baseplate_mf_2_dev_mf_1_ui_mf_2_components__loadShare__.js-CtIleM_e.js} +2517 -1545
  172. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_tanstack_mf_1_react_mf_2_router__loadShare__.js-CiccpWjh.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__mf_owner__1__loadShare___mf_0_tanstack_mf_1_react_mf_2_router__loadShare__.js-BckLhSjF.js} +2 -2
  173. package/dist/web/assets/auth-DR6QxrAW.js +1 -0
  174. package/dist/web/assets/{common-CoLuMS7U.js → common-BsyRiQi3.js} +6 -6
  175. package/dist/web/assets/{common-N3skPbzk.js → common-CRwNlCMn.js} +10 -10
  176. package/dist/web/assets/{common-Co5lW_TK.js → common-CvqlRZC9.js} +12 -12
  177. package/dist/web/assets/{common-C8_sC5pp.js → common-D3atSs7O.js} +15 -15
  178. package/dist/web/assets/common-DuFyXa6l.js +36 -0
  179. package/dist/web/assets/common-islduJTj.js +43 -0
  180. package/dist/web/assets/{get-auth-plugin-definition-DyokUVjX.js → get-auth-plugin-definition-BgWWHl_Y.js} +3 -3
  181. package/dist/web/assets/{hostInit-BCYmw0H5.js → hostInit-DNA4kLRY.js} +1 -1
  182. package/dist/web/assets/{mf-entry-bootstrap-0-3ede9334.js → mf-entry-bootstrap-0-ea77c09b.js} +1 -1
  183. package/dist/web/assets/{mf-entry-bootstrap-1-3da85eea.js → mf-entry-bootstrap-1-9dee3d8d.js} +2 -2
  184. package/dist/web/assets/{mf-entry-bootstrap-2-32e24e11.js → mf-entry-bootstrap-2-3179040b.js} +1 -1
  185. package/dist/web/assets/{mf-entry-bootstrap-3-a3cfea9d.js → mf-entry-bootstrap-3-370d200d.js} +2 -2
  186. package/dist/web/assets/{models-BcPOQC5p.js → models-BOeSYfRn.js} +4 -4
  187. package/dist/web/assets/{models-BcUgOGGn.js → models-DF6DoXt6.js} +4 -4
  188. package/dist/web/assets/{plugin-definition-D1EImXIf.js → plugin-definition--k0VAeK3.js} +9 -9
  189. package/dist/web/assets/{plugin-definition-lw-gB4hU.js → plugin-definition-CMwSlxsJ.js} +3 -3
  190. package/dist/web/assets/{styles-EOyEbGA4.js → styles-BQEcQHoR.js} +8 -8
  191. package/dist/web/assets/{virtualExposes-DWORnjyA.js → virtualExposes-C7fDiAmS.js} +1 -1
  192. package/dist/web/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__plugin-auth__remoteEntry_js-t-KnBiUh.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__plugin-auth__remoteEntry_js-BZBRyml2.js} +3 -3
  193. package/dist/web/assets/{virtual_mf-exposes___mfe_internal__plugin-auth__remoteEntry_js-DZfE3QCR.js → virtual_mf-exposes___mfe_internal__plugin-auth__remoteEntry_js-6SjVUCs8.js} +13 -13
  194. package/dist/web/assets/{web-kaD9AzNS.js → web-8wz0ad-V.js} +8 -8
  195. package/dist/web/assets/{web-EDeSquSP.js → web-BGixH_gT.js} +19 -19
  196. package/dist/web/assets/{web-PqAcfBSy.js → web-BxIwkN3O.js} +7 -7
  197. package/dist/web/assets/{web-CBVepebK.js → web-CQMfABjr.js} +19 -19
  198. package/dist/web/assets/{web-RhChfBw_.js → web-CcNpItSu.js} +17 -17
  199. package/dist/web/assets/{web-xJ-GnSkC.js → web-CypPeiVv.js} +25 -25
  200. package/dist/web/assets/{web-Dgb85jhs.js → web-CzK_la2_.js} +41 -41
  201. package/dist/web/index.html +4 -4
  202. package/dist/web/remoteEntry.js +1 -1
  203. package/package.json +12 -12
  204. package/dist/local-auth/core/generators/auth-module/templates/module/utils/cookie-signer.d.ts +0 -38
  205. package/dist/local-auth/core/generators/auth-module/templates/module/utils/cookie-signer.js +0 -71
  206. package/dist/local-auth/core/generators/auth-module/templates/module/utils/cookie-signer.ts +0 -77
  207. package/dist/web/assets/auth-CsHp2bQi.js +0 -1
  208. package/dist/web/assets/common-BGTuTgx7.js +0 -43
  209. package/dist/web/assets/common-Dueu_1NG.js +0 -36
@@ -38,6 +38,25 @@ export declare const BETTER_AUTH_BETTER_AUTH_MODULE_RENDERERS: {
38
38
  isTypeOnly: true;
39
39
  };
40
40
  }>>;
41
+ appSecretImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
42
+ createSigner: {};
43
+ deriveKey: {};
44
+ SecretPolicy: {
45
+ isTypeOnly: true;
46
+ };
47
+ Signer: {
48
+ isTypeOnly: true;
49
+ };
50
+ }>>;
51
+ appUrlsImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
52
+ getApiUrl: {};
53
+ getWebAppForUrl: {};
54
+ getWebOrigins: {};
55
+ getWebUrl: {};
56
+ WebAppName: {
57
+ isTypeOnly: true;
58
+ };
59
+ }>>;
41
60
  authContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
42
61
  AuthContext: {
43
62
  isTypeOnly: true;
@@ -48,7 +67,6 @@ export declare const BETTER_AUTH_BETTER_AUTH_MODULE_RENDERERS: {
48
67
  AuthUserSessionInfo: {
49
68
  isTypeOnly: true;
50
69
  };
51
- createAnonymousAuthContext: {};
52
70
  createAuthContextFromSessionInfo: {};
53
71
  createSystemAuthContext: {};
54
72
  InvalidSessionError: {};
@@ -1,5 +1,5 @@
1
1
  import { typescriptFileProvider } from '@baseplate-dev/core-generators';
2
- import { appRuntimeImportsProvider, authContextImportsProvider, authRolesImportsProvider, configServiceImportsProvider, pothosImportsProvider, prismaImportsProvider, userSessionTypesImportsProvider, } from '@baseplate-dev/fastify-generators';
2
+ import { appRuntimeImportsProvider, appSecretImportsProvider, appUrlsImportsProvider, authContextImportsProvider, authRolesImportsProvider, configServiceImportsProvider, pothosImportsProvider, prismaImportsProvider, userSessionTypesImportsProvider, } from '@baseplate-dev/fastify-generators';
3
3
  import { emailModuleImportsProvider } from '@baseplate-dev/plugin-email';
4
4
  import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
5
5
  import { BETTER_AUTH_BETTER_AUTH_MODULE_PATHS } from './template-paths.js';
@@ -8,6 +8,8 @@ const betterAuthBetterAuthModuleRenderers = createProviderType('better-auth-bett
8
8
  const betterAuthBetterAuthModuleRenderersTask = createGeneratorTask({
9
9
  dependencies: {
10
10
  appRuntimeImports: appRuntimeImportsProvider,
11
+ appSecretImports: appSecretImportsProvider,
12
+ appUrlsImports: appUrlsImportsProvider,
11
13
  authContextImports: authContextImportsProvider,
12
14
  authRolesImports: authRolesImportsProvider,
13
15
  configServiceImports: configServiceImportsProvider,
@@ -21,7 +23,7 @@ const betterAuthBetterAuthModuleRenderersTask = createGeneratorTask({
21
23
  exports: {
22
24
  betterAuthBetterAuthModuleRenderers: betterAuthBetterAuthModuleRenderers.export(),
23
25
  },
24
- run({ appRuntimeImports, authContextImports, authRolesImports, configServiceImports, emailModuleImports, paths, pothosImports, prismaImports, typescriptFile, userSessionTypesImports, }) {
26
+ run({ appRuntimeImports, appSecretImports, appUrlsImports, authContextImports, authRolesImports, configServiceImports, emailModuleImports, paths, pothosImports, prismaImports, typescriptFile, userSessionTypesImports, }) {
25
27
  return {
26
28
  providers: {
27
29
  betterAuthBetterAuthModuleRenderers: {
@@ -30,6 +32,8 @@ const betterAuthBetterAuthModuleRenderersTask = createGeneratorTask({
30
32
  template: BETTER_AUTH_BETTER_AUTH_MODULE_TEMPLATES.auth,
31
33
  destination: paths.auth,
32
34
  importMapProviders: {
35
+ appSecretImports,
36
+ appUrlsImports,
33
37
  authRolesImports,
34
38
  configServiceImports,
35
39
  emailModuleImports,
@@ -27,6 +27,7 @@ export declare const betterAuthModuleImportsProvider: import("@baseplate-dev/syn
27
27
  toWebHeaders: {};
28
28
  }>>;
29
29
  export declare const BETTER_AUTH_BETTER_AUTH_MODULE_IMPORTS: {
30
+ generatorName: string;
30
31
  task: import("@baseplate-dev/sync").GeneratorTask<{
31
32
  betterAuthModuleImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
32
33
  Auth: {
@@ -35,6 +35,7 @@ const betterAuthBetterAuthModuleImportsTask = createGeneratorTask({
35
35
  },
36
36
  });
37
37
  export const BETTER_AUTH_BETTER_AUTH_MODULE_IMPORTS = {
38
+ generatorName: '@baseplate-dev/plugin-auth#better-auth/better-auth-module',
38
39
  task: betterAuthBetterAuthModuleImportsTask,
39
40
  };
40
41
  //# sourceMappingURL=ts-import-providers.js.map
@@ -1,9 +1,29 @@
1
1
  export declare const BETTER_AUTH_BETTER_AUTH_MODULE_TEMPLATES: {
2
2
  auth: import("@baseplate-dev/core-generators").TsTemplateFile<{
3
3
  TPL_ACCOUNT_VERIFICATION_EMAIL: {};
4
+ TPL_AUTH_WEB_APP: {};
4
5
  TPL_PASSWORD_RESET_EMAIL: {};
5
6
  TPL_USER_ROLE_MODEL: {};
6
7
  }, {
8
+ appSecretImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
9
+ createSigner: {};
10
+ deriveKey: {};
11
+ SecretPolicy: {
12
+ isTypeOnly: true;
13
+ };
14
+ Signer: {
15
+ isTypeOnly: true;
16
+ };
17
+ }>>;
18
+ appUrlsImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
19
+ getApiUrl: {};
20
+ getWebAppForUrl: {};
21
+ getWebOrigins: {};
22
+ getWebUrl: {};
23
+ WebAppName: {
24
+ isTypeOnly: true;
25
+ };
26
+ }>>;
7
27
  authRolesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
8
28
  AUTH_ROLE_CONFIG: {};
9
29
  AuthRole: {
@@ -89,7 +109,6 @@ export declare const BETTER_AUTH_BETTER_AUTH_MODULE_TEMPLATES: {
89
109
  AuthUserSessionInfo: {
90
110
  isTypeOnly: true;
91
111
  };
92
- createAnonymousAuthContext: {};
93
112
  createAuthContextFromSessionInfo: {};
94
113
  createSystemAuthContext: {};
95
114
  InvalidSessionError: {};
@@ -1,10 +1,12 @@
1
1
  import { createTsTemplateFile } from '@baseplate-dev/core-generators';
2
- import { appRuntimeImportsProvider, authContextImportsProvider, authRolesImportsProvider, configServiceImportsProvider, pothosImportsProvider, prismaImportsProvider, userSessionTypesImportsProvider, } from '@baseplate-dev/fastify-generators';
2
+ import { appRuntimeImportsProvider, appSecretImportsProvider, appUrlsImportsProvider, authContextImportsProvider, authRolesImportsProvider, configServiceImportsProvider, pothosImportsProvider, prismaImportsProvider, userSessionTypesImportsProvider, } from '@baseplate-dev/fastify-generators';
3
3
  import { emailModuleImportsProvider } from '@baseplate-dev/plugin-email';
4
4
  import path from 'node:path';
5
5
  const auth = createTsTemplateFile({
6
6
  fileOptions: { kind: 'singleton' },
7
7
  importMapProviders: {
8
+ appSecretImports: appSecretImportsProvider,
9
+ appUrlsImports: appUrlsImportsProvider,
8
10
  authRolesImports: authRolesImportsProvider,
9
11
  configServiceImports: configServiceImportsProvider,
10
12
  emailModuleImports: emailModuleImportsProvider,
@@ -22,6 +24,7 @@ const auth = createTsTemplateFile({
22
24
  },
23
25
  variables: {
24
26
  TPL_ACCOUNT_VERIFICATION_EMAIL: {},
27
+ TPL_AUTH_WEB_APP: {},
25
28
  TPL_PASSWORD_RESET_EMAIL: {},
26
29
  TPL_USER_ROLE_MODEL: {},
27
30
  },
@@ -3,6 +3,8 @@
3
3
  import type { AuthRole } from '%authRolesImports';
4
4
  import type { EmailService } from '%emailModuleImports';
5
5
 
6
+ import { deriveKey } from '%appSecretImports';
7
+ import { getWebAppForUrl, getWebOrigins, getWebUrl } from '%appUrlsImports';
6
8
  import { DEFAULT_USER_ROLES } from '%authRolesImports';
7
9
  import { getConfig } from '%configServiceImports';
8
10
  import { prisma } from '%prismaImports';
@@ -43,13 +45,17 @@ export type Auth = ReturnType<typeof buildAuth>;
43
45
  export const buildAuth = ({ email }: AuthServiceDeps) =>
44
46
  betterAuth({
45
47
  database: prismaAdapter(prisma, { provider: 'postgresql' }),
46
- secret: config.BETTER_AUTH_SECRET,
48
+ secret: deriveKey('auth:better-auth:v1').toString('base64url'),
47
49
  baseURL: config.BETTER_AUTH_URL,
48
50
  basePath: '/auth',
49
51
  emailAndPassword: {
50
52
  enabled: true,
51
- async sendResetPassword({ token, user }) {
52
- const resetLink = `${config.AUTH_FRONTEND_URL}/auth/reset-password?token=${token}`;
53
+ async sendResetPassword({ token, user }, request) {
54
+ const resetLink = getWebUrl(
55
+ getWebAppForUrl(request?.headers.get('origin') ?? undefined) ??
56
+ TPL_AUTH_WEB_APP,
57
+ `/auth/reset-password?token=${token}`,
58
+ );
53
59
  await email.send(TPL_PASSWORD_RESET_EMAIL, {
54
60
  to: user.email,
55
61
  data: { resetLink },
@@ -59,8 +65,12 @@ export const buildAuth = ({ email }: AuthServiceDeps) =>
59
65
  },
60
66
  emailVerification: {
61
67
  sendOnSignUp: true,
62
- async sendVerificationEmail({ token, user }) {
63
- const verifyLink = `${config.AUTH_FRONTEND_URL}/auth/verify-email?token=${token}`;
68
+ async sendVerificationEmail({ token, user }, request) {
69
+ const verifyLink = getWebUrl(
70
+ getWebAppForUrl(request?.headers.get('origin') ?? undefined) ??
71
+ TPL_AUTH_WEB_APP,
72
+ `/auth/verify-email?token=${token}`,
73
+ );
64
74
  await email.send(TPL_ACCOUNT_VERIFICATION_EMAIL, {
65
75
  to: user.email,
66
76
  data: { verifyLink },
@@ -76,9 +86,7 @@ export const buildAuth = ({ email }: AuthServiceDeps) =>
76
86
  generateId: false,
77
87
  },
78
88
  },
79
- trustedOrigins: config.ALLOWED_ORIGINS.split(',')
80
- .map((o) => o.trim())
81
- .filter(Boolean),
89
+ trustedOrigins: getWebOrigins(),
82
90
  user: {
83
91
  modelName: 'User',
84
92
  changeEmail: {
@@ -12,8 +12,8 @@ export declare const betterAuthHooksGenerator: import("@baseplate-dev/sync").Gen
12
12
  isTypeOnly: true;
13
13
  };
14
14
  useLogOut: {};
15
- useRequiredUserId: {};
16
15
  useSession: {};
16
+ useUserIdOrThrow: {};
17
17
  AuthRole: {
18
18
  isTypeOnly: true;
19
19
  };
@@ -1,13 +1,14 @@
1
1
  export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_GENERATED: {
2
2
  imports: {
3
+ generatorName: string;
3
4
  task: import("@baseplate-dev/sync").GeneratorTask<{
4
5
  authHooksImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
5
6
  SessionData: {
6
7
  isTypeOnly: true;
7
8
  };
8
9
  useLogOut: {};
9
- useRequiredUserId: {};
10
10
  useSession: {};
11
+ useUserIdOrThrow: {};
11
12
  AuthRole: {
12
13
  isTypeOnly: true;
13
14
  };
@@ -55,9 +56,6 @@ export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_GENERATED: {
55
56
  logError: {};
56
57
  }>>;
57
58
  }, Record<never, Record<never, never>>>;
58
- useRequiredUserId: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
59
- useSession: {};
60
- }>;
61
59
  useSession: import("@baseplate-dev/core-generators").TsTemplateFile<{
62
60
  TPL_AUTH_ROLES: {};
63
61
  }, {
@@ -66,6 +64,9 @@ export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_GENERATED: {
66
64
  AuthLoadedGate: {};
67
65
  }>>;
68
66
  }, Record<never, Record<never, never>>>;
67
+ useUserIdOrThrow: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
68
+ useSession: {};
69
+ }>;
69
70
  };
70
71
  };
71
72
  };
@@ -1,7 +1,7 @@
1
1
  export interface BetterAuthBetterAuthHooksPaths {
2
2
  useLogOut: string;
3
- useRequiredUserId: string;
4
3
  useSession: string;
4
+ useUserIdOrThrow: string;
5
5
  }
6
6
  export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_PATHS: {
7
7
  provider: import("@baseplate-dev/sync").ProviderType<BetterAuthBetterAuthHooksPaths>;
@@ -12,8 +12,8 @@ const betterAuthBetterAuthHooksPathsTask = createGeneratorTask({
12
12
  providers: {
13
13
  betterAuthBetterAuthHooksPaths: {
14
14
  useLogOut: `${srcRoot}/hooks/use-log-out.ts`,
15
- useRequiredUserId: `${srcRoot}/hooks/use-required-user-id.ts`,
16
15
  useSession: `${srcRoot}/hooks/use-session.ts`,
16
+ useUserIdOrThrow: `${srcRoot}/hooks/use-user-id-or-throw.ts`,
17
17
  },
18
18
  },
19
19
  };
@@ -1,12 +1,13 @@
1
1
  export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_IMPORTS: {
2
+ generatorName: string;
2
3
  task: import("@baseplate-dev/sync").GeneratorTask<{
3
4
  authHooksImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
4
5
  SessionData: {
5
6
  isTypeOnly: true;
6
7
  };
7
8
  useLogOut: {};
8
- useRequiredUserId: {};
9
9
  useSession: {};
10
+ useUserIdOrThrow: {};
10
11
  AuthRole: {
11
12
  isTypeOnly: true;
12
13
  };
@@ -14,14 +14,15 @@ const betterAuthBetterAuthHooksImportsTask = createGeneratorTask({
14
14
  AuthRole: paths.useSession,
15
15
  SessionData: paths.useSession,
16
16
  useLogOut: paths.useLogOut,
17
- useRequiredUserId: paths.useRequiredUserId,
18
17
  useSession: paths.useSession,
18
+ useUserIdOrThrow: paths.useUserIdOrThrow,
19
19
  }),
20
20
  },
21
21
  };
22
22
  },
23
23
  });
24
24
  export const BETTER_AUTH_BETTER_AUTH_HOOKS_IMPORTS = {
25
+ generatorName: '@baseplate-dev/plugin-auth#better-auth/better-auth-hooks',
25
26
  task: betterAuthBetterAuthHooksImportsTask,
26
27
  };
27
28
  //# sourceMappingURL=ts-import-providers.js.map
@@ -10,9 +10,6 @@ export declare const hooksGroup: {
10
10
  logError: {};
11
11
  }>>;
12
12
  }, Record<never, Record<never, never>>>;
13
- useRequiredUserId: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
14
- useSession: {};
15
- }>;
16
13
  useSession: import("@baseplate-dev/core-generators").TsTemplateFile<{
17
14
  TPL_AUTH_ROLES: {};
18
15
  }, {
@@ -21,6 +18,9 @@ export declare const hooksGroup: {
21
18
  AuthLoadedGate: {};
22
19
  }>>;
23
20
  }, Record<never, Record<never, never>>>;
21
+ useUserIdOrThrow: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
22
+ useSession: {};
23
+ }>;
24
24
  };
25
25
  export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_TEMPLATES: {
26
26
  hooksGroup: {
@@ -35,9 +35,6 @@ export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_TEMPLATES: {
35
35
  logError: {};
36
36
  }>>;
37
37
  }, Record<never, Record<never, never>>>;
38
- useRequiredUserId: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
39
- useSession: {};
40
- }>;
41
38
  useSession: import("@baseplate-dev/core-generators").TsTemplateFile<{
42
39
  TPL_AUTH_ROLES: {};
43
40
  }, {
@@ -46,6 +43,9 @@ export declare const BETTER_AUTH_BETTER_AUTH_HOOKS_TEMPLATES: {
46
43
  AuthLoadedGate: {};
47
44
  }>>;
48
45
  }, Record<never, Record<never, never>>>;
46
+ useUserIdOrThrow: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {}, {
47
+ useSession: {};
48
+ }>;
49
49
  };
50
50
  };
51
51
  //# sourceMappingURL=typed-templates.d.ts.map
@@ -16,18 +16,6 @@ const useLogOut = createTsTemplateFile({
16
16
  },
17
17
  variables: {},
18
18
  });
19
- const useRequiredUserId = createTsTemplateFile({
20
- fileOptions: { kind: 'singleton' },
21
- group: 'hooks',
22
- importMapProviders: {},
23
- name: 'use-required-user-id',
24
- projectExports: { useRequiredUserId: {} },
25
- referencedGeneratorTemplates: { useSession: {} },
26
- source: {
27
- path: path.join(import.meta.dirname, '../templates/src/hooks/use-required-user-id.ts'),
28
- },
29
- variables: {},
30
- });
31
19
  const useSession = createTsTemplateFile({
32
20
  fileOptions: { kind: 'singleton' },
33
21
  group: 'hooks',
@@ -43,6 +31,18 @@ const useSession = createTsTemplateFile({
43
31
  },
44
32
  variables: { TPL_AUTH_ROLES: {} },
45
33
  });
46
- export const hooksGroup = { useLogOut, useRequiredUserId, useSession };
34
+ const useUserIdOrThrow = createTsTemplateFile({
35
+ fileOptions: { kind: 'singleton' },
36
+ group: 'hooks',
37
+ importMapProviders: {},
38
+ name: 'use-user-id-or-throw',
39
+ projectExports: { useUserIdOrThrow: {} },
40
+ referencedGeneratorTemplates: { useSession: {} },
41
+ source: {
42
+ path: path.join(import.meta.dirname, '../templates/src/hooks/use-user-id-or-throw.ts'),
43
+ },
44
+ variables: {},
45
+ });
46
+ export const hooksGroup = { useLogOut, useSession, useUserIdOrThrow };
47
47
  export const BETTER_AUTH_BETTER_AUTH_HOOKS_TEMPLATES = { hooksGroup };
48
48
  //# sourceMappingURL=typed-templates.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useSession } from '$useSession';
4
4
 
5
- export function useRequiredUserId(): string {
5
+ export function useUserIdOrThrow(): string {
6
6
  const { userId } = useSession();
7
7
  if (!userId) {
8
8
  throw new Error('User is not authenticated');
@@ -17,6 +17,7 @@ export declare const betterAuthPagesGenerator: import("@baseplate-dev/sync").Gen
17
17
  isTypeOnly: true;
18
18
  };
19
19
  Alert: {};
20
+ AlertAction: {};
20
21
  AlertDescription: {};
21
22
  AlertTitle: {};
22
23
  Autocomplete: {};
@@ -46,6 +47,7 @@ export declare const betterAuthPagesGenerator: import("@baseplate-dev/sync").Gen
46
47
  buttonVariants: {};
47
48
  Calendar: {};
48
49
  Card: {};
50
+ CardAction: {};
49
51
  CardContent: {};
50
52
  CardDescription: {};
51
53
  CardFooter: {};
@@ -172,6 +174,10 @@ export declare const betterAuthPagesGenerator: import("@baseplate-dev/sync").Gen
172
174
  NotFoundCard: {};
173
175
  NumberField: {};
174
176
  NumberFieldController: {};
177
+ PageHeader: {};
178
+ PageHeaderActions: {};
179
+ PageHeaderDescription: {};
180
+ PageHeaderTitle: {};
175
181
  Popover: {};
176
182
  PopoverContent: {};
177
183
  PopoverTrigger: {};
@@ -181,6 +187,11 @@ export declare const betterAuthPagesGenerator: import("@baseplate-dev/sync").Gen
181
187
  isTypeOnly: true;
182
188
  };
183
189
  ScrollArea: {};
190
+ Section: {};
191
+ SectionActions: {};
192
+ SectionDescription: {};
193
+ SectionHeader: {};
194
+ SectionTitle: {};
184
195
  Select: {};
185
196
  SelectField: {};
186
197
  SelectFieldController: {};
@@ -236,7 +247,27 @@ export declare const betterAuthPagesGenerator: import("@baseplate-dev/sync").Gen
236
247
  Textarea: {};
237
248
  TextareaField: {};
238
249
  TextareaFieldController: {};
250
+ Toast: {};
251
+ toast: {};
252
+ ToastAction: {};
253
+ ToastClose: {};
254
+ ToastContent: {};
255
+ ToastDescription: {};
239
256
  Toaster: {};
257
+ toastManager: {};
258
+ ToastOptions: {
259
+ isTypeOnly: true;
260
+ };
261
+ ToastPortal: {};
262
+ ToastProvider: {};
263
+ ToastTitle: {};
264
+ ToastType: {
265
+ isTypeOnly: true;
266
+ };
267
+ ToastUpdateOptions: {
268
+ isTypeOnly: true;
269
+ };
270
+ ToastViewport: {};
240
271
  Tooltip: {};
241
272
  TooltipContent: {};
242
273
  TooltipProvider: {};