@nextsparkjs/core 0.1.0-beta.185 → 0.1.0-beta.187

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 (518) hide show
  1. package/dist/components/app/guards/DeveloperGuard.d.ts.map +1 -1
  2. package/dist/components/app/guards/DeveloperGuard.js +8 -4
  3. package/dist/components/app/guards/SuperAdminGuard.d.ts.map +1 -1
  4. package/dist/components/app/guards/SuperAdminGuard.js +8 -4
  5. package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
  6. package/dist/components/app/layouts/PublicFooter.js +2 -2
  7. package/dist/components/app/layouts/PublicNavbar.d.ts.map +1 -1
  8. package/dist/components/app/layouts/PublicNavbar.js +2 -2
  9. package/dist/components/app/misc/ThemeToggle.d.ts.map +1 -1
  10. package/dist/components/app/misc/ThemeToggle.js +4 -1
  11. package/dist/components/auth/DevKeyring.d.ts.map +1 -1
  12. package/dist/components/auth/DevKeyring.js +10 -2
  13. package/dist/components/auth/SessionCookieRefresher.d.ts +21 -0
  14. package/dist/components/auth/SessionCookieRefresher.d.ts.map +1 -0
  15. package/dist/components/auth/SessionCookieRefresher.js +11 -0
  16. package/dist/components/auth/forms/LoginForm.d.ts.map +1 -1
  17. package/dist/components/auth/forms/LoginForm.js +300 -6
  18. package/dist/components/auth/index.d.ts +1 -0
  19. package/dist/components/auth/index.d.ts.map +1 -1
  20. package/dist/components/auth/index.js +2 -0
  21. package/dist/components/billing/InvoicesTable.d.ts.map +1 -1
  22. package/dist/components/billing/InvoicesTable.js +4 -3
  23. package/dist/components/dashboard/block-editor/dynamic-form.d.ts.map +1 -1
  24. package/dist/components/dashboard/layouts/AuthGuard.d.ts.map +1 -1
  25. package/dist/components/dashboard/layouts/AuthGuard.js +2 -2
  26. package/dist/components/dashboard/layouts/DashboardAuthLayout.d.ts.map +1 -1
  27. package/dist/components/dashboard/layouts/DashboardAuthLayout.js +2 -2
  28. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts +17 -0
  29. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts.map +1 -0
  30. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.js +52 -0
  31. package/dist/components/dashboard/layouts/Sidebar.d.ts.map +1 -1
  32. package/dist/components/dashboard/layouts/Sidebar.js +2 -3
  33. package/dist/components/dashboard/layouts/TopNavbar.js +2 -2
  34. package/dist/components/dashboard/layouts/index.d.ts +1 -0
  35. package/dist/components/dashboard/layouts/index.d.ts.map +1 -1
  36. package/dist/components/dashboard/layouts/index.js +2 -0
  37. package/dist/components/devtools/api-explorer/ApiExplorer.js +4 -4
  38. package/dist/components/entities/EntityFieldRenderer.d.ts.map +1 -1
  39. package/dist/components/entities/EntityFieldRenderer.js +3 -0
  40. package/dist/components/entities/EntityTable.d.ts.map +1 -1
  41. package/dist/components/entities/EntityTable.js +2 -1
  42. package/dist/components/entities/wrappers/EntityFormWrapper.d.ts.map +1 -1
  43. package/dist/components/entities/wrappers/EntityFormWrapper.js +7 -2
  44. package/dist/components/patterns/pages/PatternEditPage.d.ts +5 -1
  45. package/dist/components/patterns/pages/PatternEditPage.d.ts.map +1 -1
  46. package/dist/components/patterns/pages/PatternEditPage.js +16 -5
  47. package/dist/components/patterns/pages/PatternsCreatePage.d.ts +2 -1
  48. package/dist/components/patterns/pages/PatternsCreatePage.d.ts.map +1 -1
  49. package/dist/components/patterns/pages/PatternsCreatePage.js +17 -5
  50. package/dist/components/ui/combobox.d.ts +8 -1
  51. package/dist/components/ui/combobox.d.ts.map +1 -1
  52. package/dist/components/ui/combobox.js +37 -44
  53. package/dist/components/ui/country-select.d.ts +3 -1
  54. package/dist/components/ui/country-select.d.ts.map +1 -1
  55. package/dist/components/ui/country-select.js +3 -1
  56. package/dist/components/ui/currency-select.d.ts +3 -1
  57. package/dist/components/ui/currency-select.d.ts.map +1 -1
  58. package/dist/components/ui/currency-select.js +3 -1
  59. package/dist/components/ui/sheet.d.ts +5 -0
  60. package/dist/components/ui/sheet.d.ts.map +1 -1
  61. package/dist/components/ui/sheet.js +46 -26
  62. package/dist/components/ui/timezone-select.d.ts +3 -1
  63. package/dist/components/ui/timezone-select.d.ts.map +1 -1
  64. package/dist/components/ui/timezone-select.js +3 -1
  65. package/dist/contexts/TeamContext.d.ts +6 -0
  66. package/dist/contexts/TeamContext.d.ts.map +1 -1
  67. package/dist/contexts/TeamContext.js +8 -1
  68. package/dist/emails/otp-verification.d.ts.map +1 -1
  69. package/dist/emails/reset-password.d.ts.map +1 -1
  70. package/dist/emails/team-invitation.d.ts.map +1 -1
  71. package/dist/emails/team-invitation.js +3 -2
  72. package/dist/emails/verify-email.d.ts.map +1 -1
  73. package/dist/hooks/index.d.ts +1 -0
  74. package/dist/hooks/index.d.ts.map +1 -1
  75. package/dist/hooks/index.js +1 -0
  76. package/dist/hooks/useAuth.d.ts +29 -0
  77. package/dist/hooks/useAuth.d.ts.map +1 -1
  78. package/dist/hooks/useAuth.js +24 -0
  79. package/dist/hooks/useEnsureUserMetadata.d.ts +22 -0
  80. package/dist/hooks/useEnsureUserMetadata.d.ts.map +1 -1
  81. package/dist/hooks/useEnsureUserMetadata.js +18 -5
  82. package/dist/hooks/useSessionCookieRefresh.d.ts +35 -0
  83. package/dist/hooks/useSessionCookieRefresh.d.ts.map +1 -0
  84. package/dist/hooks/useSessionCookieRefresh.js +49 -0
  85. package/dist/lib/api/api-error.d.ts +3 -1
  86. package/dist/lib/api/api-error.d.ts.map +1 -1
  87. package/dist/lib/api/api-error.js +4 -2
  88. package/dist/lib/api/auth/dual-auth.d.ts +38 -3
  89. package/dist/lib/api/auth/dual-auth.d.ts.map +1 -1
  90. package/dist/lib/api/auth/dual-auth.js +42 -7
  91. package/dist/lib/api/auth/permissions.d.ts +7 -2
  92. package/dist/lib/api/auth/permissions.d.ts.map +1 -1
  93. package/dist/lib/api/auth/permissions.js +2 -2
  94. package/dist/lib/api/auth/scope-policy.d.ts +71 -0
  95. package/dist/lib/api/auth/scope-policy.d.ts.map +1 -0
  96. package/dist/lib/api/auth/scope-policy.js +53 -0
  97. package/dist/lib/api/auth.d.ts +15 -0
  98. package/dist/lib/api/auth.d.ts.map +1 -1
  99. package/dist/lib/api/auth.js +17 -4
  100. package/dist/lib/api/entities.js +2 -1
  101. package/dist/lib/api/entity/audit-log.d.ts +35 -0
  102. package/dist/lib/api/entity/audit-log.d.ts.map +1 -0
  103. package/dist/lib/api/entity/audit-log.js +35 -0
  104. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  105. package/dist/lib/api/entity/generic-handler.js +333 -138
  106. package/dist/lib/api/entity-handler.js +2 -2
  107. package/dist/lib/api/helpers.d.ts +29 -4
  108. package/dist/lib/api/helpers.d.ts.map +1 -1
  109. package/dist/lib/api/helpers.js +30 -6
  110. package/dist/lib/api/keys.d.ts +16 -0
  111. package/dist/lib/api/keys.d.ts.map +1 -1
  112. package/dist/lib/api/keys.js +19 -1
  113. package/dist/lib/api/routes/patterns-usages.d.ts.map +1 -1
  114. package/dist/lib/api/routes/patterns-usages.js +3 -11
  115. package/dist/lib/auth/auth-methods.d.ts +52 -0
  116. package/dist/lib/auth/auth-methods.d.ts.map +1 -0
  117. package/dist/lib/auth/auth-methods.js +63 -0
  118. package/dist/lib/auth/registration-guard-plugin.d.ts.map +1 -1
  119. package/dist/lib/auth/registration-helpers.d.ts +9 -0
  120. package/dist/lib/auth/registration-helpers.d.ts.map +1 -1
  121. package/dist/lib/auth/registration-helpers.js +8 -2
  122. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts +52 -0
  123. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts.map +1 -0
  124. package/dist/lib/auth/security-notifications/device-fingerprint.js +42 -0
  125. package/dist/lib/auth/security-notifications/dispatcher.d.ts +37 -0
  126. package/dist/lib/auth/security-notifications/dispatcher.d.ts.map +1 -0
  127. package/dist/lib/auth/security-notifications/dispatcher.js +157 -0
  128. package/dist/lib/auth/security-notifications/index.d.ts +20 -0
  129. package/dist/lib/auth/security-notifications/index.d.ts.map +1 -0
  130. package/dist/lib/auth/security-notifications/index.js +22 -0
  131. package/dist/lib/auth/security-notifications/registry.d.ts +36 -0
  132. package/dist/lib/auth/security-notifications/registry.d.ts.map +1 -0
  133. package/dist/lib/auth/security-notifications/registry.js +26 -0
  134. package/dist/lib/auth/security-notifications/templates/email-changed.d.ts +12 -0
  135. package/dist/lib/auth/security-notifications/templates/email-changed.d.ts.map +1 -0
  136. package/dist/lib/auth/security-notifications/templates/email-changed.js +43 -0
  137. package/dist/lib/auth/security-notifications/templates/new-device-login.d.ts +7 -0
  138. package/dist/lib/auth/security-notifications/templates/new-device-login.d.ts.map +1 -0
  139. package/dist/lib/auth/security-notifications/templates/new-device-login.js +46 -0
  140. package/dist/lib/auth/security-notifications/templates/password-changed.d.ts +7 -0
  141. package/dist/lib/auth/security-notifications/templates/password-changed.d.ts.map +1 -0
  142. package/dist/lib/auth/security-notifications/templates/password-changed.js +35 -0
  143. package/dist/lib/auth/security-notifications/templates/shared.d.ts +36 -0
  144. package/dist/lib/auth/security-notifications/templates/shared.d.ts.map +1 -0
  145. package/dist/lib/auth/security-notifications/templates/shared.js +68 -0
  146. package/dist/lib/auth/security-notifications/types.d.ts +74 -0
  147. package/dist/lib/auth/security-notifications/types.d.ts.map +1 -0
  148. package/dist/lib/auth/session-config.d.ts +37 -0
  149. package/dist/lib/auth/session-config.d.ts.map +1 -0
  150. package/dist/lib/auth/session-config.js +59 -0
  151. package/dist/lib/auth/session-refresh.d.ts +46 -0
  152. package/dist/lib/auth/session-refresh.d.ts.map +1 -0
  153. package/dist/lib/auth/session-refresh.js +11 -0
  154. package/dist/lib/auth-client.d.ts +1639 -0
  155. package/dist/lib/auth-client.d.ts.map +1 -0
  156. package/dist/lib/auth-client.js +13 -1
  157. package/dist/lib/auth.d.ts.map +1 -1
  158. package/dist/lib/auth.js +45 -11
  159. package/dist/lib/billing/gateways/factory.d.ts +8 -3
  160. package/dist/lib/billing/gateways/factory.d.ts.map +1 -1
  161. package/dist/lib/billing/gateways/factory.js +37 -23
  162. package/dist/lib/billing/stripe-webhook.d.ts.map +1 -1
  163. package/dist/lib/billing/stripe-webhook.js +2 -1
  164. package/dist/lib/config/app.config.d.ts.map +1 -1
  165. package/dist/lib/config/app.config.js +71 -0
  166. package/dist/lib/config/config-sync.d.ts +1 -4
  167. package/dist/lib/config/config-sync.d.ts.map +1 -1
  168. package/dist/lib/config/config-sync.js +6 -2
  169. package/dist/lib/config/types.d.ts +130 -0
  170. package/dist/lib/config/types.d.ts.map +1 -1
  171. package/dist/lib/email/templates.d.ts +3 -3
  172. package/dist/lib/email/templates.d.ts.map +1 -1
  173. package/dist/lib/entities/api-generator.js +5 -5
  174. package/dist/lib/entities/entity-hooks.d.ts +9 -1
  175. package/dist/lib/entities/entity-hooks.d.ts.map +1 -1
  176. package/dist/lib/entities/entity-hooks.js +77 -4
  177. package/dist/lib/entities/schema-generator.d.ts.map +1 -1
  178. package/dist/lib/entities/schema-generator.js +20 -4
  179. package/dist/lib/entities/serialization.d.ts +2 -2
  180. package/dist/lib/entities/serialization.d.ts.map +1 -1
  181. package/dist/lib/entities/serialization.js +3 -2
  182. package/dist/lib/entities/types.d.ts +20 -0
  183. package/dist/lib/entities/types.d.ts.map +1 -1
  184. package/dist/lib/locale.d.ts.map +1 -1
  185. package/dist/lib/locale.js +4 -1
  186. package/dist/lib/mcp/audit.d.ts +8 -4
  187. package/dist/lib/mcp/audit.d.ts.map +1 -1
  188. package/dist/lib/plugins/hook-system.d.ts +13 -0
  189. package/dist/lib/plugins/hook-system.d.ts.map +1 -1
  190. package/dist/lib/plugins/hook-system.js +32 -2
  191. package/dist/lib/scheduled-actions/handlers/index.d.ts +1 -0
  192. package/dist/lib/scheduled-actions/handlers/index.d.ts.map +1 -1
  193. package/dist/lib/scheduled-actions/handlers/index.js +3 -1
  194. package/dist/lib/scheduled-actions/handlers/security-notification.d.ts +26 -0
  195. package/dist/lib/scheduled-actions/handlers/security-notification.d.ts.map +1 -0
  196. package/dist/lib/scheduled-actions/handlers/security-notification.js +54 -0
  197. package/dist/lib/selectors/core-selectors.d.ts +12 -0
  198. package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
  199. package/dist/lib/selectors/domains/auth.selectors.d.ts +12 -0
  200. package/dist/lib/selectors/domains/auth.selectors.d.ts.map +1 -1
  201. package/dist/lib/selectors/domains/auth.selectors.js +14 -1
  202. package/dist/lib/selectors/selectors.d.ts +24 -0
  203. package/dist/lib/selectors/selectors.d.ts.map +1 -1
  204. package/dist/lib/services/api-docs.service.d.ts +5 -1
  205. package/dist/lib/services/api-docs.service.d.ts.map +1 -1
  206. package/dist/lib/services/api-presets.service.d.ts +6 -1
  207. package/dist/lib/services/api-presets.service.d.ts.map +1 -1
  208. package/dist/lib/services/feature.service.d.ts +58 -4
  209. package/dist/lib/services/feature.service.d.ts.map +1 -1
  210. package/dist/lib/services/generic-entity.service.d.ts.map +1 -1
  211. package/dist/lib/services/generic-entity.service.js +16 -32
  212. package/dist/lib/services/membership.service.d.ts +10 -2
  213. package/dist/lib/services/membership.service.d.ts.map +1 -1
  214. package/dist/lib/services/membership.service.js +37 -16
  215. package/dist/lib/services/permission.service.d.ts +10 -4
  216. package/dist/lib/services/permission.service.d.ts.map +1 -1
  217. package/dist/lib/services/plugin.service.d.ts +1 -1
  218. package/dist/lib/services/plugin.service.d.ts.map +1 -1
  219. package/dist/lib/services/subscription.service.d.ts.map +1 -1
  220. package/dist/lib/services/subscription.service.js +2 -1
  221. package/dist/lib/services/team-member.service.d.ts +15 -3
  222. package/dist/lib/services/team-member.service.d.ts.map +1 -1
  223. package/dist/lib/services/team-member.service.js +27 -6
  224. package/dist/lib/services/team.service.d.ts.map +1 -1
  225. package/dist/lib/teams/permissions.d.ts +3 -1
  226. package/dist/lib/teams/permissions.d.ts.map +1 -1
  227. package/dist/lib/teams/permissions.js +6 -0
  228. package/dist/lib/teams/schema.d.ts.map +1 -1
  229. package/dist/lib/teams/schema.js +3 -0
  230. package/dist/lib/template-resolver.d.ts +3 -3
  231. package/dist/lib/theme/forced-theme.d.ts +34 -0
  232. package/dist/lib/theme/forced-theme.d.ts.map +1 -0
  233. package/dist/lib/theme/forced-theme.js +27 -0
  234. package/dist/lib/theme/get-default-theme-mode.d.ts +3 -0
  235. package/dist/lib/theme/get-default-theme-mode.d.ts.map +1 -1
  236. package/dist/lib/theme/get-default-theme-mode.js +5 -3
  237. package/dist/lib/utils/cors.d.ts +13 -0
  238. package/dist/lib/utils/cors.d.ts.map +1 -1
  239. package/dist/lib/utils/cors.js +20 -0
  240. package/dist/messages/de/auth.json +25 -2
  241. package/dist/messages/de/index.d.ts +83 -0
  242. package/dist/messages/de/index.d.ts.map +1 -1
  243. package/dist/messages/de/index.js +2 -0
  244. package/dist/messages/de/index.ts +2 -0
  245. package/dist/messages/de/navigation.json +3 -1
  246. package/dist/messages/en/auth.json +25 -2
  247. package/dist/messages/en/index.d.ts +83 -0
  248. package/dist/messages/en/index.d.ts.map +1 -1
  249. package/dist/messages/en/index.js +2 -0
  250. package/dist/messages/en/index.ts +2 -0
  251. package/dist/messages/en/navigation.json +3 -1
  252. package/dist/messages/es/auth.json +25 -2
  253. package/dist/messages/es/index.d.ts +83 -0
  254. package/dist/messages/es/index.d.ts.map +1 -1
  255. package/dist/messages/es/index.js +2 -0
  256. package/dist/messages/es/index.ts +2 -0
  257. package/dist/messages/es/navigation.json +3 -1
  258. package/dist/messages/fr/auth.json +25 -2
  259. package/dist/messages/fr/index.d.ts +83 -0
  260. package/dist/messages/fr/index.d.ts.map +1 -1
  261. package/dist/messages/fr/index.js +2 -0
  262. package/dist/messages/fr/index.ts +2 -0
  263. package/dist/messages/fr/navigation.json +3 -1
  264. package/dist/messages/it/auth.json +25 -2
  265. package/dist/messages/it/index.d.ts +83 -0
  266. package/dist/messages/it/index.d.ts.map +1 -1
  267. package/dist/messages/it/index.js +2 -0
  268. package/dist/messages/it/index.ts +2 -0
  269. package/dist/messages/it/navigation.json +3 -1
  270. package/dist/messages/pt/auth.json +25 -2
  271. package/dist/messages/pt/index.d.ts +83 -0
  272. package/dist/messages/pt/index.d.ts.map +1 -1
  273. package/dist/messages/pt/index.js +2 -0
  274. package/dist/messages/pt/index.ts +2 -0
  275. package/dist/messages/pt/navigation.json +3 -1
  276. package/dist/migrations/005_api_audit_log.sql +2 -1
  277. package/dist/migrations/025_api_audit_log_nullable_api_key.sql +12 -0
  278. package/dist/migrations/026_login_events.sql +91 -0
  279. package/dist/migrations/027_rls_bypass_developer_and_system_admin_team.sql +197 -0
  280. package/dist/nextspark-registries.d.ts +580 -236
  281. package/dist/providers/DashboardProviders.d.ts +12 -3
  282. package/dist/providers/DashboardProviders.d.ts.map +1 -1
  283. package/dist/providers/DashboardProviders.js +6 -2
  284. package/dist/providers/theme-provider.d.ts +19 -2
  285. package/dist/providers/theme-provider.d.ts.map +1 -1
  286. package/dist/providers/theme-provider.js +6 -2
  287. package/dist/templates/app/(auth)/signup/page.tsx +8 -0
  288. package/dist/templates/app/(public)/[...slug]/page.tsx +9 -14
  289. package/dist/templates/app/api/auth/[...all]/route.ts +23 -1
  290. package/dist/templates/app/api/health/route.ts +4 -2
  291. package/dist/templates/app/api/internal/user-metadata/route.ts +5 -3
  292. package/dist/templates/app/api/mcp/route.ts +4 -1
  293. package/dist/templates/app/api/superadmin/subscriptions/route.ts +2 -1
  294. package/dist/templates/app/api/superadmin/teams/[teamId]/route.ts +4 -3
  295. package/dist/templates/app/api/superadmin/users/[userId]/route.ts +10 -3
  296. package/dist/templates/app/api/v1/api-keys/[id]/route.ts +50 -71
  297. package/dist/templates/app/api/v1/api-keys/route.ts +21 -43
  298. package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +14 -14
  299. package/dist/templates/app/api/v1/billing/cancel/route.ts +7 -6
  300. package/dist/templates/app/api/v1/billing/change-plan/route.ts +5 -4
  301. package/dist/templates/app/api/v1/billing/check-action/route.ts +6 -4
  302. package/dist/templates/app/api/v1/billing/checkout/route.ts +7 -5
  303. package/dist/templates/app/api/v1/billing/plans/route.ts +8 -12
  304. package/dist/templates/app/api/v1/billing/portal/route.ts +7 -5
  305. package/dist/templates/app/api/v1/billing/webhooks/polar/route.ts +1 -1
  306. package/dist/templates/app/api/v1/devtools/blocks/route.ts +5 -4
  307. package/dist/templates/app/api/v1/devtools/features/route.ts +5 -4
  308. package/dist/templates/app/api/v1/devtools/flows/route.ts +5 -4
  309. package/dist/templates/app/api/v1/devtools/scheduled-actions/route.ts +9 -7
  310. package/dist/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +5 -4
  311. package/dist/templates/app/api/v1/devtools/testing/route.ts +5 -4
  312. package/dist/templates/app/api/v1/media/[id]/route.ts +13 -25
  313. package/dist/templates/app/api/v1/media/[id]/tags/route.ts +17 -25
  314. package/dist/templates/app/api/v1/media/check-duplicates/route.ts +5 -7
  315. package/dist/templates/app/api/v1/media/route.ts +5 -9
  316. package/dist/templates/app/api/v1/media/upload/route.ts +9 -21
  317. package/dist/templates/app/api/v1/media-tags/route.ts +9 -13
  318. package/dist/templates/app/api/v1/patterns/[id]/usages/route.ts +11 -19
  319. package/dist/templates/app/api/v1/post-categories/[id]/route.ts +9 -7
  320. package/dist/templates/app/api/v1/post-categories/route.ts +5 -4
  321. package/dist/templates/app/api/v1/team-invitations/[token]/accept/route.ts +16 -18
  322. package/dist/templates/app/api/v1/team-invitations/[token]/decline/route.ts +15 -17
  323. package/dist/templates/app/api/v1/team-invitations/[token]/route.ts +8 -8
  324. package/dist/templates/app/api/v1/team-invitations/route.ts +9 -11
  325. package/dist/templates/app/api/v1/teams/[teamId]/invitations/route.ts +41 -32
  326. package/dist/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +15 -16
  327. package/dist/templates/app/api/v1/teams/[teamId]/invoices/route.ts +14 -15
  328. package/dist/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +32 -36
  329. package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +33 -33
  330. package/dist/templates/app/api/v1/teams/[teamId]/route.ts +35 -41
  331. package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +5 -3
  332. package/dist/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +10 -6
  333. package/dist/templates/app/api/v1/teams/route.ts +33 -27
  334. package/dist/templates/app/api/v1/teams/switch/route.ts +11 -13
  335. package/dist/templates/app/api/v1/theme/[...path]/route.ts +23 -2
  336. package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +32 -77
  337. package/dist/templates/app/api/v1/users/[id]/route.ts +35 -68
  338. package/dist/templates/app/api/v1/users/route.ts +21 -25
  339. package/dist/templates/app/dashboard/layout.tsx +2 -6
  340. package/dist/templates/app/layout.ppr.tsx +15 -15
  341. package/dist/templates/app/layout.tsx +46 -20
  342. package/dist/templates/contents/themes/starter/config/app.config.ts +19 -0
  343. package/dist/templates/contents/themes/starter/config/theme.config.ts +6 -0
  344. package/dist/templates/contents/themes/starter/styles/globals.css +6 -2
  345. package/dist/templates/proxy.ts +46 -10
  346. package/dist/templates/tsconfig.json +4 -0
  347. package/dist/types/theme.d.ts +9 -0
  348. package/dist/types/theme.d.ts.map +1 -1
  349. package/migrations/005_api_audit_log.sql +2 -1
  350. package/migrations/025_api_audit_log_nullable_api_key.sql +12 -0
  351. package/migrations/026_login_events.sql +91 -0
  352. package/migrations/027_rls_bypass_developer_and_system_admin_team.sql +197 -0
  353. package/package.json +14 -11
  354. package/scripts/build/registry/__tests__/scope-registry.test.mjs +18 -0
  355. package/scripts/build/registry/generators/scope-registry.mjs +9 -2
  356. package/templates/app/(auth)/signup/page.tsx +8 -0
  357. package/templates/app/(public)/[...slug]/page.tsx +9 -14
  358. package/templates/app/api/auth/[...all]/route.ts +23 -1
  359. package/templates/app/api/health/route.ts +4 -2
  360. package/templates/app/api/internal/user-metadata/route.ts +5 -3
  361. package/templates/app/api/mcp/route.ts +4 -1
  362. package/templates/app/api/superadmin/subscriptions/route.ts +2 -1
  363. package/templates/app/api/superadmin/teams/[teamId]/route.ts +4 -3
  364. package/templates/app/api/superadmin/users/[userId]/route.ts +10 -3
  365. package/templates/app/api/v1/api-keys/[id]/route.ts +50 -71
  366. package/templates/app/api/v1/api-keys/route.ts +21 -43
  367. package/templates/app/api/v1/auth/signup-with-invite/route.ts +14 -14
  368. package/templates/app/api/v1/billing/cancel/route.ts +7 -6
  369. package/templates/app/api/v1/billing/change-plan/route.ts +5 -4
  370. package/templates/app/api/v1/billing/check-action/route.ts +6 -4
  371. package/templates/app/api/v1/billing/checkout/route.ts +7 -5
  372. package/templates/app/api/v1/billing/plans/route.ts +8 -12
  373. package/templates/app/api/v1/billing/portal/route.ts +7 -5
  374. package/templates/app/api/v1/billing/webhooks/polar/route.ts +1 -1
  375. package/templates/app/api/v1/devtools/blocks/route.ts +5 -4
  376. package/templates/app/api/v1/devtools/features/route.ts +5 -4
  377. package/templates/app/api/v1/devtools/flows/route.ts +5 -4
  378. package/templates/app/api/v1/devtools/scheduled-actions/route.ts +9 -7
  379. package/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +5 -4
  380. package/templates/app/api/v1/devtools/testing/route.ts +5 -4
  381. package/templates/app/api/v1/media/[id]/route.ts +13 -25
  382. package/templates/app/api/v1/media/[id]/tags/route.ts +17 -25
  383. package/templates/app/api/v1/media/check-duplicates/route.ts +5 -7
  384. package/templates/app/api/v1/media/route.ts +5 -9
  385. package/templates/app/api/v1/media/upload/route.ts +9 -21
  386. package/templates/app/api/v1/media-tags/route.ts +9 -13
  387. package/templates/app/api/v1/patterns/[id]/usages/route.ts +11 -19
  388. package/templates/app/api/v1/post-categories/[id]/route.ts +9 -7
  389. package/templates/app/api/v1/post-categories/route.ts +5 -4
  390. package/templates/app/api/v1/team-invitations/[token]/accept/route.ts +16 -18
  391. package/templates/app/api/v1/team-invitations/[token]/decline/route.ts +15 -17
  392. package/templates/app/api/v1/team-invitations/[token]/route.ts +8 -8
  393. package/templates/app/api/v1/team-invitations/route.ts +9 -11
  394. package/templates/app/api/v1/teams/[teamId]/invitations/route.ts +41 -32
  395. package/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +15 -16
  396. package/templates/app/api/v1/teams/[teamId]/invoices/route.ts +14 -15
  397. package/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +32 -36
  398. package/templates/app/api/v1/teams/[teamId]/members/route.ts +33 -33
  399. package/templates/app/api/v1/teams/[teamId]/route.ts +35 -41
  400. package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +5 -3
  401. package/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +10 -6
  402. package/templates/app/api/v1/teams/route.ts +33 -27
  403. package/templates/app/api/v1/teams/switch/route.ts +11 -13
  404. package/templates/app/api/v1/theme/[...path]/route.ts +23 -2
  405. package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +32 -77
  406. package/templates/app/api/v1/users/[id]/route.ts +35 -68
  407. package/templates/app/api/v1/users/route.ts +21 -25
  408. package/templates/app/dashboard/layout.tsx +2 -6
  409. package/templates/app/layout.ppr.tsx +15 -15
  410. package/templates/app/layout.tsx +46 -20
  411. package/templates/contents/themes/starter/config/app.config.ts +19 -0
  412. package/templates/contents/themes/starter/config/theme.config.ts +6 -0
  413. package/templates/contents/themes/starter/styles/globals.css +6 -2
  414. package/templates/proxy.ts +46 -10
  415. package/templates/tsconfig.json +4 -0
  416. package/tests/jest/__mocks__/@nextsparkjs/registries/permissions-registry.ts +23 -0
  417. package/tests/jest/__mocks__/next-server.js +24 -0
  418. package/dist/components/teams/TeamSwitchModal.d.js +0 -0
  419. package/dist/components/ui/accordion.d.js +0 -0
  420. package/dist/components/ui/avatar.d.js +0 -0
  421. package/dist/components/ui/badge.d.js +0 -0
  422. package/dist/components/ui/button.d.js +0 -0
  423. package/dist/components/ui/card.d.js +0 -0
  424. package/dist/components/ui/dialog.d.js +0 -0
  425. package/dist/components/ui/dropdown-menu.d.js +0 -0
  426. package/dist/components/ui/input.d.js +0 -0
  427. package/dist/components/ui/progress.d.js +0 -0
  428. package/dist/components/ui/scroll-area.d.js +0 -0
  429. package/dist/components/ui/select.d.js +0 -0
  430. package/dist/components/ui/separator.d.js +0 -0
  431. package/dist/components/ui/table.d.js +0 -0
  432. package/dist/components/ui/textarea.d.js +0 -0
  433. package/dist/contexts/TeamContext.d.js +0 -0
  434. package/dist/hooks/useAuth.d.js +0 -0
  435. package/dist/hooks/useLastAuthMethod.d.js +0 -0
  436. package/dist/hooks/useOrigin.d.js +0 -0
  437. package/dist/lib/api/auth/dual-auth.d.js +0 -0
  438. package/dist/lib/api/auth.d.js +0 -0
  439. package/dist/lib/api/cache.d.js +0 -0
  440. package/dist/lib/api/keys.d.js +0 -0
  441. package/dist/lib/auth-client.d.js +0 -0
  442. package/dist/lib/auth-context.d.js +0 -0
  443. package/dist/lib/auth.d.js +0 -0
  444. package/dist/lib/billing/config-types.d.js +0 -0
  445. package/dist/lib/billing/enforcement.d.js +0 -0
  446. package/dist/lib/billing/helpers.d.js +0 -0
  447. package/dist/lib/billing/jobs.d.js +0 -0
  448. package/dist/lib/billing/types.d.js +0 -0
  449. package/dist/lib/blocks/loader.d.js +0 -0
  450. package/dist/lib/config/app.config.d.js +0 -0
  451. package/dist/lib/config/config-loader.d.js +0 -0
  452. package/dist/lib/config/config-sync.d.js +0 -0
  453. package/dist/lib/config/config-types.d.js +0 -0
  454. package/dist/lib/config/config-utils.d.js +0 -0
  455. package/dist/lib/config/dashboard-types.d.js +0 -0
  456. package/dist/lib/config/dashboard.config.d.js +0 -0
  457. package/dist/lib/config/icon-map.d.js +0 -0
  458. package/dist/lib/config/index.d.js +0 -7
  459. package/dist/lib/config/nextspark-types.d.js +0 -0
  460. package/dist/lib/config/roles-merge.d.js +0 -0
  461. package/dist/lib/config/types.d.js +0 -0
  462. package/dist/lib/db.d.js +0 -0
  463. package/dist/lib/email/factory.d.js +0 -0
  464. package/dist/lib/email/index.d.js +0 -3
  465. package/dist/lib/email/providers/console.d.js +0 -0
  466. package/dist/lib/email/providers/resend.d.js +0 -0
  467. package/dist/lib/email/templates.d.js +0 -0
  468. package/dist/lib/email/types.d.js +0 -0
  469. package/dist/lib/entities/types.d.js +0 -0
  470. package/dist/lib/permissions/system.d.js +0 -0
  471. package/dist/lib/permissions/types.d.js +0 -0
  472. package/dist/lib/plugins/hook-system.d.js +0 -0
  473. package/dist/lib/scheduled-actions/cleanup.d.js +0 -0
  474. package/dist/lib/scheduled-actions/index.d.js +0 -19
  475. package/dist/lib/scheduled-actions/initializer.d.js +0 -1
  476. package/dist/lib/scheduled-actions/processor.d.js +0 -0
  477. package/dist/lib/scheduled-actions/registry.d.js +0 -0
  478. package/dist/lib/scheduled-actions/scheduler.d.js +0 -0
  479. package/dist/lib/scheduled-actions/types.d.js +0 -0
  480. package/dist/lib/services/api-routes.service.d.js +0 -0
  481. package/dist/lib/services/entity-type.service.d.js +0 -0
  482. package/dist/lib/services/index.d.js +0 -40
  483. package/dist/lib/services/invoice.service.d.js +0 -0
  484. package/dist/lib/services/membership.service.d.js +0 -0
  485. package/dist/lib/services/meta.service.d.js +0 -0
  486. package/dist/lib/services/middleware.service.d.js +0 -0
  487. package/dist/lib/services/namespace.service.d.js +0 -0
  488. package/dist/lib/services/permission.service.d.js +0 -0
  489. package/dist/lib/services/plan.service.d.js +0 -0
  490. package/dist/lib/services/plugin.service.d.js +0 -0
  491. package/dist/lib/services/route-handler.service.d.js +0 -0
  492. package/dist/lib/services/scope.service.d.js +0 -0
  493. package/dist/lib/services/subscription.service.d.js +0 -0
  494. package/dist/lib/services/team-member.service.d.js +0 -0
  495. package/dist/lib/services/team.service.d.js +0 -0
  496. package/dist/lib/services/theme.service.d.js +0 -0
  497. package/dist/lib/services/usage.service.d.js +0 -0
  498. package/dist/lib/services/user-flags.service.d.js +0 -0
  499. package/dist/lib/services/user.service.d.js +0 -0
  500. package/dist/lib/teams/helpers.d.js +0 -0
  501. package/dist/lib/teams/permissions.d.js +0 -0
  502. package/dist/lib/teams/types.d.js +0 -0
  503. package/dist/lib/utils/config-merge.d.js +0 -0
  504. package/dist/lib/utils/file-logger.d.js +0 -0
  505. package/dist/lib/utils.d.js +0 -0
  506. package/dist/styles/classes.json +0 -1093
  507. package/dist/styles/ui.css +0 -2
  508. package/dist/types/auth.d.js +0 -0
  509. package/dist/types/blocks.d.js +0 -0
  510. package/dist/types/meta.types.d.js +0 -0
  511. package/dist/types/plugin.d.js +0 -0
  512. package/dist/types/testing.types.d.js +0 -0
  513. package/dist/types/theme.d.js +0 -0
  514. package/dist/types/user.types.d.js +0 -0
  515. package/scripts/build/build-ui-css.mjs +0 -351
  516. /package/dist/{components/app/layouts/PublicFooter.d.js → lib/auth/security-notifications/types.js} +0 -0
  517. /package/dist/{components/app/layouts/PublicNavbar.d.js → nextspark-registries.d.js} +0 -0
  518. /package/dist/{components/app/misc/ThemeToggle.d.js → types/use-intl-react-shim.d.js} +0 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Scheduled Action Handler: auth:security-notification
3
+ *
4
+ * Renders and sends one built-in security email (new-device login, password
5
+ * changed, or email changed — issue #75). Enqueued by the security-notifications
6
+ * dispatcher; executed asynchronously by the cron processor so a slow email
7
+ * provider never blocks the auth response.
8
+ *
9
+ * The handler:
10
+ * 1. reads the shared email provider (EmailFactory.getInstance())
11
+ * 2. resolves the template builder for (type, locale) — a theme override if
12
+ * registered, otherwise the core baseline (getSecurityEmailTemplate)
13
+ * 3. builds { subject, html } and sends to `payload.to`
14
+ *
15
+ * On any failure it THROWS, so the scheduled-actions processor records the error
16
+ * and retries per the action's maxRetries (email dispatch is worth retrying).
17
+ */
18
+ /**
19
+ * Register the `auth:security-notification` handler.
20
+ *
21
+ * Idempotent at the registry level (re-registering warns + overwrites). Safe to
22
+ * call from the dispatcher (lazily, on first use) and/or from theme/server
23
+ * bootstrap.
24
+ */
25
+ export declare function registerSecurityNotificationAction(): void;
26
+ //# sourceMappingURL=security-notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-notification.d.ts","sourceRoot":"","sources":["../../../../src/lib/scheduled-actions/handlers/security-notification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH;;;;;;GAMG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAyDzD"}
@@ -0,0 +1,54 @@
1
+ import { registerScheduledAction } from "../registry.js";
2
+ import { EmailFactory } from "../../email/index.js";
3
+ import { getSecurityEmailTemplate } from "../../auth/security-notifications/registry.js";
4
+ const ACTION_TYPE = "auth:security-notification";
5
+ function registerSecurityNotificationAction() {
6
+ registerScheduledAction(
7
+ ACTION_TYPE,
8
+ async (payload, action) => {
9
+ const data = payload;
10
+ if (!(data == null ? void 0 : data.to) || !(data == null ? void 0 : data.type)) {
11
+ console.warn(
12
+ `[auth:security-notification] Skipping action ${action.id}: missing "to" or "type"`
13
+ );
14
+ return;
15
+ }
16
+ const ctx = {
17
+ type: data.type,
18
+ locale: data.locale,
19
+ appName: data.appName,
20
+ userName: data.userName,
21
+ email: data.to,
22
+ ipAddress: data.ipAddress,
23
+ userAgent: data.userAgent,
24
+ occurredAt: data.occurredAt,
25
+ newEmail: data.newEmail
26
+ };
27
+ const builder = getSecurityEmailTemplate(data.type, data.locale);
28
+ const { subject, html, text } = await builder(ctx);
29
+ const emailService = EmailFactory.getInstance();
30
+ const response = await emailService.send({
31
+ to: data.to,
32
+ subject,
33
+ html,
34
+ ...text ? { text } : {}
35
+ });
36
+ if (!response.success) {
37
+ throw new Error(
38
+ `[auth:security-notification] Failed to send '${data.type}' email: ${response.error ?? "unknown error"}`
39
+ );
40
+ }
41
+ console.log(
42
+ `[auth:security-notification] Sent '${data.type}' email (action ${action.id})`
43
+ );
44
+ },
45
+ {
46
+ description: "Send a built-in security email (new-device / password / email changed)",
47
+ timeout: 2e4
48
+ }
49
+ );
50
+ console.log("[ScheduledActions] Registered handler: auth:security-notification");
51
+ }
52
+ export {
53
+ registerSecurityNotificationAction
54
+ };
@@ -60,6 +60,18 @@ export declare const CORE_SELECTORS: {
60
60
  readonly inviteBanner: "login-invite-banner";
61
61
  readonly errorAlert: "login-error-alert";
62
62
  readonly rememberCheckbox: "login-remember-checkbox";
63
+ readonly useOtp: "login-use-otp";
64
+ readonly usePassword: "login-use-password";
65
+ readonly otpForm: "login-otp-form";
66
+ readonly otpEmailInput: "login-otp-email-input";
67
+ readonly otpEmailError: "login-otp-email-error";
68
+ readonly otpSend: "login-otp-send";
69
+ readonly otpSentNotice: "login-otp-sent-notice";
70
+ readonly otpCodeInput: "login-otp-code-input";
71
+ readonly otpCodeError: "login-otp-code-error";
72
+ readonly otpSubmit: "login-otp-submit";
73
+ readonly otpResend: "login-otp-resend";
74
+ readonly otpChangeEmail: "login-otp-change-email";
63
75
  };
64
76
  readonly signup: {
65
77
  readonly form: "signup-form";
@@ -1 +1 @@
1
- {"version":3,"file":"core-selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/core-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAiBH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAejB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA;AAGrD,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"core-selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/core-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAiBH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAejB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA;AAGrD,cAAc,WAAW,CAAA"}
@@ -28,6 +28,18 @@ export declare const AUTH_SELECTORS: {
28
28
  readonly inviteBanner: "login-invite-banner";
29
29
  readonly errorAlert: "login-error-alert";
30
30
  readonly rememberCheckbox: "login-remember-checkbox";
31
+ readonly useOtp: "login-use-otp";
32
+ readonly usePassword: "login-use-password";
33
+ readonly otpForm: "login-otp-form";
34
+ readonly otpEmailInput: "login-otp-email-input";
35
+ readonly otpEmailError: "login-otp-email-error";
36
+ readonly otpSend: "login-otp-send";
37
+ readonly otpSentNotice: "login-otp-sent-notice";
38
+ readonly otpCodeInput: "login-otp-code-input";
39
+ readonly otpCodeError: "login-otp-code-error";
40
+ readonly otpSubmit: "login-otp-submit";
41
+ readonly otpResend: "login-otp-resend";
42
+ readonly otpChangeEmail: "login-otp-change-email";
31
43
  };
32
44
  readonly signup: {
33
45
  readonly form: "signup-form";
@@ -1 +1 @@
1
- {"version":3,"file":"auth.selectors.d.ts","sourceRoot":"","sources":["../../../../src/lib/selectors/domains/auth.selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEjB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA"}
1
+ {"version":3,"file":"auth.selectors.d.ts","sourceRoot":"","sources":["../../../../src/lib/selectors/domains/auth.selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFjB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA"}
@@ -22,7 +22,20 @@ const AUTH_SELECTORS = {
22
22
  // Misc
23
23
  inviteBanner: "login-invite-banner",
24
24
  errorAlert: "login-error-alert",
25
- rememberCheckbox: "login-remember-checkbox"
25
+ rememberCheckbox: "login-remember-checkbox",
26
+ // Passwordless (email one-time code)
27
+ useOtp: "login-use-otp",
28
+ usePassword: "login-use-password",
29
+ otpForm: "login-otp-form",
30
+ otpEmailInput: "login-otp-email-input",
31
+ otpEmailError: "login-otp-email-error",
32
+ otpSend: "login-otp-send",
33
+ otpSentNotice: "login-otp-sent-notice",
34
+ otpCodeInput: "login-otp-code-input",
35
+ otpCodeError: "login-otp-code-error",
36
+ otpSubmit: "login-otp-submit",
37
+ otpResend: "login-otp-resend",
38
+ otpChangeEmail: "login-otp-change-email"
26
39
  },
27
40
  signup: {
28
41
  form: "signup-form",
@@ -59,6 +59,18 @@ export declare const SELECTORS: {
59
59
  readonly inviteBanner: "login-invite-banner";
60
60
  readonly errorAlert: "login-error-alert";
61
61
  readonly rememberCheckbox: "login-remember-checkbox";
62
+ readonly useOtp: "login-use-otp";
63
+ readonly usePassword: "login-use-password";
64
+ readonly otpForm: "login-otp-form";
65
+ readonly otpEmailInput: "login-otp-email-input";
66
+ readonly otpEmailError: "login-otp-email-error";
67
+ readonly otpSend: "login-otp-send";
68
+ readonly otpSentNotice: "login-otp-sent-notice";
69
+ readonly otpCodeInput: "login-otp-code-input";
70
+ readonly otpCodeError: "login-otp-code-error";
71
+ readonly otpSubmit: "login-otp-submit";
72
+ readonly otpResend: "login-otp-resend";
73
+ readonly otpChangeEmail: "login-otp-change-email";
62
74
  };
63
75
  readonly signup: {
64
76
  readonly form: "signup-form";
@@ -1643,6 +1655,18 @@ declare const _default: {
1643
1655
  readonly inviteBanner: "login-invite-banner";
1644
1656
  readonly errorAlert: "login-error-alert";
1645
1657
  readonly rememberCheckbox: "login-remember-checkbox";
1658
+ readonly useOtp: "login-use-otp";
1659
+ readonly usePassword: "login-use-password";
1660
+ readonly otpForm: "login-otp-form";
1661
+ readonly otpEmailInput: "login-otp-email-input";
1662
+ readonly otpEmailError: "login-otp-email-error";
1663
+ readonly otpSend: "login-otp-send";
1664
+ readonly otpSentNotice: "login-otp-sent-notice";
1665
+ readonly otpCodeInput: "login-otp-code-input";
1666
+ readonly otpCodeError: "login-otp-code-error";
1667
+ readonly otpSubmit: "login-otp-submit";
1668
+ readonly otpResend: "login-otp-resend";
1669
+ readonly otpChangeEmail: "login-otp-change-email";
1646
1670
  };
1647
1671
  readonly signup: {
1648
1672
  readonly form: "signup-form";
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/selectors.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,11 @@ export declare class ApiDocsService {
53
53
  *
54
54
  * @returns Object with totalDocs, generatedAt, themeName
55
55
  */
56
- static getMeta(): any;
56
+ static getMeta(): {
57
+ totalDocs: number;
58
+ generatedAt: string;
59
+ themeName: string;
60
+ };
57
61
  /**
58
62
  * Get total count of documented endpoints
59
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api-docs.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/api-docs.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,2CAA2C,CAAA;AAGlD,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,qBAAa,cAAc;IAGzB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/D;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAMlC;;;;OAIG;IACH,MAAM,CAAC,OAAO;IAId;;;;OAIG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAM7B;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKvD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAIzD"}
1
+ {"version":3,"file":"api-docs.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/api-docs.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,2CAA2C,CAAA;AAGlD,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,qBAAa,cAAc;IAGzB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/D;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAMlC;;;;OAIG;IACH,MAAM,CAAC,OAAO;;;;;IAId;;;;OAIG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAM7B;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKvD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAIzD"}
@@ -64,7 +64,12 @@ export declare class ApiPresetsService {
64
64
  *
65
65
  * @returns Object with totalEndpoints, totalPresets, generatedAt, themeName
66
66
  */
67
- static getMeta(): any;
67
+ static getMeta(): {
68
+ totalEndpoints: number;
69
+ totalPresets: number;
70
+ generatedAt: string;
71
+ themeName: string;
72
+ };
68
73
  /**
69
74
  * Get total count of presets
70
75
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api-presets.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/api-presets.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,8CAA8C,CAAA;AAGrD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAA;AAE7C;;;;;GAKG;AACH,qBAAa,iBAAiB;IAG5B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAItE;;;;;;;;;OASG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAI5E;;;;OAIG;IACH,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAM5C;;;;OAIG;IACH,MAAM,CAAC,OAAO;IAId;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAMlC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;IAezC;;;;OAIG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;CAc9B"}
1
+ {"version":3,"file":"api-presets.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/api-presets.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,8CAA8C,CAAA;AAGrD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAA;AAE7C;;;;;GAKG;AACH,qBAAa,iBAAiB;IAG5B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAItE;;;;;;;;;OASG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAI5E;;;;OAIG;IACH,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAM5C;;;;OAIG;IACH,MAAM,CAAC,OAAO;;;;;;IAId;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAMlC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;IAezC;;;;OAIG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;CAc9B"}
@@ -75,19 +75,73 @@ export declare class FeatureService {
75
75
  /**
76
76
  * Get all tags in a category
77
77
  */
78
- static getTagsByCategory(category: keyof typeof TAGS_REGISTRY): any;
78
+ static getTagsByCategory(category: keyof typeof TAGS_REGISTRY): Record<string, {
79
+ tag: string;
80
+ testCount: number;
81
+ files: string[];
82
+ }> | Record<string, {
83
+ tag: string;
84
+ testCount: number;
85
+ files: string[];
86
+ }> | Record<string, {
87
+ tag: string;
88
+ testCount: number;
89
+ files: string[];
90
+ }> | Record<string, {
91
+ tag: string;
92
+ testCount: number;
93
+ files: string[];
94
+ }> | Record<string, {
95
+ tag: string;
96
+ testCount: number;
97
+ files: string[];
98
+ }> | Record<string, {
99
+ tag: string;
100
+ testCount: number;
101
+ files: string[];
102
+ }> | Record<string, {
103
+ tag: string;
104
+ testCount: number;
105
+ files: string[];
106
+ }> | Record<string, {
107
+ tag: string;
108
+ testCount: number;
109
+ files: string[];
110
+ }>;
79
111
  /**
80
112
  * Get all feature tags
81
113
  */
82
- static getFeatureTags(): any;
114
+ static getFeatureTags(): Record<string, {
115
+ tag: string;
116
+ testCount: number;
117
+ files: string[];
118
+ }>;
83
119
  /**
84
120
  * Get all flow tags
85
121
  */
86
- static getFlowTags(): any;
122
+ static getFlowTags(): Record<string, {
123
+ tag: string;
124
+ testCount: number;
125
+ files: string[];
126
+ }>;
87
127
  /**
88
128
  * Get coverage summary
89
129
  */
90
- static getCoverageSummary(): any;
130
+ static getCoverageSummary(): {
131
+ features: {
132
+ total: number;
133
+ withTests: number;
134
+ withoutTests: number;
135
+ };
136
+ flows: {
137
+ total: number;
138
+ withTests: number;
139
+ withoutTests: number;
140
+ };
141
+ tags: {
142
+ testFiles: number;
143
+ };
144
+ };
91
145
  /**
92
146
  * Get feature coverage percentage
93
147
  */
@@ -1 +1 @@
1
- {"version":3,"file":"feature.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/feature.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,aAAa,EAEb,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAA;AAEjD;;;;;;;GAOG;AACH,qBAAa,cAAc;IAKzB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIxD;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,YAAY,EAAE;IAIvC;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE;IAIvE;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,YAAY,EAAE;IAIhD;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,YAAY,EAAE;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQzC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIlD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,SAAS,EAAE;IAIjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE;IAI9D;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,SAAS,EAAE;IAItC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,SAAS,EAAE;IAI1C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQtC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,aAAa;IAI7D;;OAEG;IACH,MAAM,CAAC,cAAc;IAIrB;;OAEG;IACH,MAAM,CAAC,WAAW;IAQlB;;OAEG;IACH,MAAM,CAAC,kBAAkB;IAIzB;;OAEG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;IAK1C;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;CAIxC"}
1
+ {"version":3,"file":"feature.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/feature.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,aAAa,EAEb,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAA;AAEjD;;;;;;;GAOG;AACH,qBAAa,cAAc;IAKzB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIxD;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,YAAY,EAAE;IAIvC;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE;IAIvE;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,YAAY,EAAE;IAIhD;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,YAAY,EAAE;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQzC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIlD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,SAAS,EAAE;IAIjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE;IAI9D;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,SAAS,EAAE;IAItC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,SAAS,EAAE;IAI1C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQtC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI7D;;OAEG;IACH,MAAM,CAAC,cAAc;;;;;IAIrB;;OAEG;IACH,MAAM,CAAC,WAAW;;;;;IAQlB;;OAEG;IACH,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;IAIzB;;OAEG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;IAK1C;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;CAIxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generic-entity.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/generic-entity.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-entity.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/generic-entity.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { queryWithRLS, queryOneWithRLS, mutateWithRLS } from "../db.js";
2
2
  import { entityRegistry } from "../entities/registry.js";
3
- import { executeBeforeHooks, executeAfterHooks } from "../entities/hooks.js";
3
+ import {
4
+ beforeEntityCreate,
5
+ afterEntityCreate,
6
+ beforeEntityUpdate,
7
+ afterEntityUpdate,
8
+ beforeEntityDelete,
9
+ afterEntityDelete
10
+ } from "../entities/entity-hooks.js";
4
11
  const SYSTEM_FIELDS = ["id", "userId", "teamId", "createdAt", "updatedAt"];
5
12
  const DEFAULT_LIMIT = 20;
6
13
  const DEFAULT_ORDER_BY = "createdAt";
@@ -173,15 +180,6 @@ function validateEntityData(entityConfig, data, isUpdate = false) {
173
180
  }
174
181
  return { valid: errors.length === 0, errors };
175
182
  }
176
- function createHookContext(entitySlug, operation, userId, data, previousData, role = "member") {
177
- return {
178
- entityName: entitySlug,
179
- operation,
180
- data,
181
- previousData,
182
- user: { id: userId, role }
183
- };
184
- }
185
183
  class GenericEntityService {
186
184
  /**
187
185
  * Get entity by ID
@@ -307,12 +305,7 @@ class GenericEntityService {
307
305
  if (!entityConfig) {
308
306
  throw new Error(`Entity "${entitySlug}" not found in registry`);
309
307
  }
310
- const beforeContext = createHookContext(entitySlug, "create", userId, data);
311
- const beforeResult = await executeBeforeHooks(entitySlug, "create", beforeContext);
312
- if (!beforeResult.continue) {
313
- throw new Error(beforeResult.error || "Operation cancelled by hook");
314
- }
315
- const finalData = beforeResult.data ?? data;
308
+ const finalData = await beforeEntityCreate(entitySlug, data, userId);
316
309
  const validation = validateEntityData(entityConfig, finalData, false);
317
310
  if (!validation.valid) {
318
311
  throw new Error(`Validation failed: ${validation.errors.join(", ")}`);
@@ -344,8 +337,7 @@ class GenericEntityService {
344
337
  throw new Error("Failed to create entity");
345
338
  }
346
339
  const createdEntity = mapRowToEntity(result.rows[0]);
347
- const afterContext = createHookContext(entitySlug, "create", userId, createdEntity);
348
- executeAfterHooks(entitySlug, "create", afterContext).catch((err) => {
340
+ afterEntityCreate(entitySlug, createdEntity, userId).catch((err) => {
349
341
  console.error(`[GenericEntityService] afterCreate hook error for ${entitySlug}:`, err);
350
342
  });
351
343
  return createdEntity;
@@ -384,12 +376,7 @@ class GenericEntityService {
384
376
  if (!currentEntity) {
385
377
  throw new Error("Entity not found or not authorized");
386
378
  }
387
- const beforeContext = createHookContext(entitySlug, "update", userId, data, currentEntity);
388
- const beforeResult = await executeBeforeHooks(entitySlug, "update", beforeContext);
389
- if (!beforeResult.continue) {
390
- throw new Error(beforeResult.error || "Operation cancelled by hook");
391
- }
392
- const finalData = beforeResult.data ?? data;
379
+ const finalData = await beforeEntityUpdate(entitySlug, id, data, userId);
393
380
  const validation = validateEntityData(entityConfig, finalData, true);
394
381
  if (!validation.valid) {
395
382
  throw new Error(`Validation failed: ${validation.errors.join(", ")}`);
@@ -428,8 +415,7 @@ class GenericEntityService {
428
415
  throw new Error("Update failed");
429
416
  }
430
417
  const updatedEntity = mapRowToEntity(result.rows[0]);
431
- const afterContext = createHookContext(entitySlug, "update", userId, updatedEntity, currentEntity);
432
- executeAfterHooks(entitySlug, "update", afterContext).catch((err) => {
418
+ afterEntityUpdate(entitySlug, id, updatedEntity, data, userId).catch((err) => {
433
419
  console.error(`[GenericEntityService] afterUpdate hook error for ${entitySlug}:`, err);
434
420
  });
435
421
  return updatedEntity;
@@ -467,10 +453,9 @@ class GenericEntityService {
467
453
  if (!entityToDelete) {
468
454
  return false;
469
455
  }
470
- const beforeContext = createHookContext(entitySlug, "delete", userId, void 0, entityToDelete);
471
- const beforeResult = await executeBeforeHooks(entitySlug, "delete", beforeContext);
472
- if (!beforeResult.continue) {
473
- throw new Error(beforeResult.error || "Operation cancelled by hook");
456
+ const allowDelete = await beforeEntityDelete(entitySlug, id, userId);
457
+ if (!allowDelete) {
458
+ throw new Error("Operation cancelled by hook");
474
459
  }
475
460
  const result = await mutateWithRLS(
476
461
  `DELETE FROM ${tableName} ${whereClause}`,
@@ -479,8 +464,7 @@ class GenericEntityService {
479
464
  );
480
465
  const deleted = result.rowCount > 0;
481
466
  if (deleted) {
482
- const afterContext = createHookContext(entitySlug, "delete", userId, void 0, entityToDelete);
483
- executeAfterHooks(entitySlug, "delete", afterContext).catch((err) => {
467
+ afterEntityDelete(entitySlug, id, userId).catch((err) => {
484
468
  console.error(`[GenericEntityService] afterDelete hook error for ${entitySlug}:`, err);
485
469
  });
486
470
  }
@@ -113,12 +113,20 @@ export declare class TeamMembership implements TeamMembershipData {
113
113
  * 4. Quota is available
114
114
  * 5. Subscription is active
115
115
  *
116
- * @param action - Action slug to check
116
+ * The action id IS the permission id as registered in the permissions
117
+ * registry (e.g. 'team.members.update_role', 'customers.create',
118
+ * 'page-builder.access'). Ids may have any number of dot-separated segments.
119
+ *
120
+ * Fails closed: an action whose id is not a registered permission is denied
121
+ * (and logged) instead of silently allowed, so a typo or a renamed permission
122
+ * surfaces as a visible 403 rather than an unguarded endpoint (issue #89).
123
+ *
124
+ * @param action - Action slug to check (must be a registered permission id)
117
125
  * @param options - Options for quota increment
118
126
  * @returns ActionResult with allowed status and details
119
127
  *
120
128
  * @example
121
- * const result = membership.canPerformAction('projects.create')
129
+ * const result = membership.canPerformAction('team.members.update_role')
122
130
  * if (!result.allowed) {
123
131
  * console.log(result.message, result.reason)
124
132
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"membership.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/membership.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EACnB,MAAM,sBAAsB,CAAA;AAM7B;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAE/B,IAAI,EAAE,kBAAkB;IAWpC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAKpC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI9C;;;;;;;;;;OAUG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;;;;;;;OAYG;IACH,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,GACpB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAmB1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,YAAY;CA0EhB;AAMD,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;OAkBG;WACU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkEzE;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAiBlC;;;;;;;;OAQG;mBACkB,cAAc;CAyCpC"}
1
+ {"version":3,"file":"membership.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/membership.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EACnB,MAAM,sBAAsB,CAAA;AAM7B;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAE/B,IAAI,EAAE,kBAAkB;IAWpC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAKpC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI9C;;;;;;;;;;OAUG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;;;;;;;OAYG;IACH,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,GACpB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAmB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,YAAY;CA4FhB;AAMD,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;OAkBG;WACU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkEzE;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAiBlC;;;;;;;;OAQG;mBACkB,cAAc;CAyCpC"}
@@ -131,12 +131,20 @@ class TeamMembership {
131
131
  * 4. Quota is available
132
132
  * 5. Subscription is active
133
133
  *
134
- * @param action - Action slug to check
134
+ * The action id IS the permission id as registered in the permissions
135
+ * registry (e.g. 'team.members.update_role', 'customers.create',
136
+ * 'page-builder.access'). Ids may have any number of dot-separated segments.
137
+ *
138
+ * Fails closed: an action whose id is not a registered permission is denied
139
+ * (and logged) instead of silently allowed, so a typo or a renamed permission
140
+ * surfaces as a visible 403 rather than an unguarded endpoint (issue #89).
141
+ *
142
+ * @param action - Action slug to check (must be a registered permission id)
135
143
  * @param options - Options for quota increment
136
144
  * @returns ActionResult with allowed status and details
137
145
  *
138
146
  * @example
139
- * const result = membership.canPerformAction('projects.create')
147
+ * const result = membership.canPerformAction('team.members.update_role')
140
148
  * if (!result.allowed) {
141
149
  * console.log(result.message, result.reason)
142
150
  * }
@@ -160,25 +168,38 @@ class TeamMembership {
160
168
  }
161
169
  };
162
170
  }
163
- const [entity, actionType] = action.split(".");
164
- const permission = `${entity}.${actionType}`;
165
- if (PermissionService.isValid(permission)) {
166
- if (!this.hasPermission(permission)) {
167
- return {
168
- allowed: false,
169
- reason: "permission_denied",
170
- message: `You do not have permission: ${permission}`,
171
- meta: {
172
- requiredPermission: permission,
173
- userRole: this.role
174
- }
175
- };
176
- }
171
+ const permission = action;
172
+ if (!PermissionService.isValid(permission)) {
173
+ console.warn(
174
+ `[MembershipService] canPerformAction('${action}') denied: '${permission}' is not a registered permission id`
175
+ );
176
+ return {
177
+ allowed: false,
178
+ reason: "permission_denied",
179
+ message: `Unknown permission: ${permission}`,
180
+ meta: {
181
+ requiredPermission: permission,
182
+ userRole: this.role,
183
+ unregistered: true
184
+ }
185
+ };
186
+ }
187
+ if (!this.hasPermission(permission)) {
188
+ return {
189
+ allowed: false,
190
+ reason: "permission_denied",
191
+ message: `You do not have permission: ${permission}`,
192
+ meta: {
193
+ requiredPermission: permission,
194
+ userRole: this.role
195
+ }
196
+ };
177
197
  }
178
198
  const requiredFeature = (_b = (_a = BILLING_REGISTRY.actionMappings) == null ? void 0 : _a.features) == null ? void 0 : _b[action];
179
199
  if (requiredFeature && !this.hasFeature(requiredFeature)) {
180
200
  return {
181
201
  allowed: false,
202
+ // @ts-expect-error — pre-existing type error, tracked in https://github.com/NextSpark-js/nextspark/issues/131
182
203
  reason: "feature_not_in_plan",
183
204
  message: `Your plan does not include the required feature: ${requiredFeature}`,
184
205
  meta: {
@@ -86,10 +86,16 @@ export declare class PermissionService {
86
86
  * // Use in Admin Panel permissions UI
87
87
  */
88
88
  static getMatrix(): {
89
- permissions: any[];
90
- matrix: any;
91
- sections: any[];
92
- roles: any[];
89
+ permissions: import("@nextsparkjs/registries/permissions-registry").ResolvedPermission[];
90
+ matrix: {
91
+ [x: string]: Record<string, boolean>;
92
+ };
93
+ sections: {
94
+ key: string;
95
+ label: string;
96
+ permissions: import("@nextsparkjs/registries/permissions-registry").Permission[];
97
+ }[];
98
+ roles: string[];
93
99
  };
94
100
  /**
95
101
  * Check if a permission ID is valid - O(1)
@@ -1 +1 @@
1
- {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/permission.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAoB1E,qBAAa,iBAAiB;IAC5B;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAKnE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAazD;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE;IAKrD;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAI5D;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;IAIhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS;;;;;;IAUhB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI/C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS;IAIxE;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE;IAI7B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAIzE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;CAG3E;AAMD;;;GAGG;AACH,eAAO,MAAM,aAAa,wCAAkC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,WAAW,sCAAgC,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,6CAAuC,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,wCAAkC,CAAA;AAEvE;;;GAGG;AACH,eAAO,MAAM,aAAa,wCAAkC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,oCAA8B,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kCAA4B,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oCAA8B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;CAS9B,CAAA"}
1
+ {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/permission.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAoB1E,qBAAa,iBAAiB;IAC5B;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAKnE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAazD;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE;IAKrD;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAI5D;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;IAIhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS;;;;;;;;;;;;IAUhB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI/C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS;IAIxE;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE;IAI7B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAIzE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;CAG3E;AAMD;;;GAGG;AACH,eAAO,MAAM,aAAa,wCAAkC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,WAAW,sCAAgC,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,6CAAuC,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,wCAAkC,CAAA;AAEvE;;;GAGG;AACH,eAAO,MAAM,aAAa,wCAAkC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,oCAA8B,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kCAA4B,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oCAA8B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;CAS9B,CAAA"}
@@ -404,7 +404,7 @@ export declare const getAllRouteEndpoints: typeof PluginService.getAllRouteEndpo
404
404
  /**
405
405
  * @deprecated Use PluginService.findRouteEndpoint() instead
406
406
  */
407
- export declare const findRouteEndpoint: (path: string) => any;
407
+ export declare const findRouteEndpoint: (path: string) => RouteFileEndpoint;
408
408
  /**
409
409
  * @deprecated Use PluginService.getPluginRouteEndpoints() instead
410
410
  */