@nextsparkjs/core 0.1.0-beta.194 → 0.1.0-beta.195

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 (338) hide show
  1. package/dist/components/app/guards/DeveloperGuard.d.ts +8 -1
  2. package/dist/components/app/guards/DeveloperGuard.d.ts.map +1 -1
  3. package/dist/components/app/guards/DeveloperGuard.js +2 -1
  4. package/dist/components/app/guards/SuperAdminGuard.d.ts +8 -1
  5. package/dist/components/app/guards/SuperAdminGuard.d.ts.map +1 -1
  6. package/dist/components/app/guards/SuperAdminGuard.js +2 -1
  7. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  8. package/dist/components/dashboard/block-editor/block-picker.js +2 -1
  9. package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
  10. package/dist/components/dashboard/block-editor/builder-editor-view.js +39 -23
  11. package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
  12. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
  13. package/dist/components/dashboard/layouts/AuthGuard.d.ts.map +1 -1
  14. package/dist/components/dashboard/layouts/AuthGuard.js +3 -4
  15. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -1
  16. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +9 -10
  17. package/dist/components/dashboard/layouts/DashboardAuthLayout.d.ts.map +1 -1
  18. package/dist/components/dashboard/layouts/DashboardAuthLayout.js +3 -4
  19. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts +2 -2
  20. package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
  21. package/dist/components/entities/wrappers/EntityDetailWrapper.js +5 -2
  22. package/dist/components/entities/wrappers/EntityFormWrapper.d.ts.map +1 -1
  23. package/dist/components/entities/wrappers/EntityFormWrapper.js +5 -2
  24. package/dist/components/entities/wrappers/EntityListWrapper.d.ts.map +1 -1
  25. package/dist/components/entities/wrappers/EntityListWrapper.js +5 -2
  26. package/dist/components/ui/relation-display.d.ts.map +1 -1
  27. package/dist/components/ui/relation-display.js +2 -1
  28. package/dist/components/ui/user-display.d.ts.map +1 -1
  29. package/dist/components/ui/user-display.js +2 -1
  30. package/dist/emails/otp-verification.d.ts.map +1 -1
  31. package/dist/emails/otp-verification.js +5 -3
  32. package/dist/emails/reset-password.d.ts.map +1 -1
  33. package/dist/emails/reset-password.js +5 -3
  34. package/dist/emails/team-invitation.d.ts.map +1 -1
  35. package/dist/emails/team-invitation.js +3 -2
  36. package/dist/emails/verify-email.d.ts.map +1 -1
  37. package/dist/emails/verify-email.js +5 -3
  38. package/dist/hooks/useAuth.d.ts.map +1 -1
  39. package/dist/hooks/useAuth.js +21 -4
  40. package/dist/hooks/usePatternUsages.d.ts.map +1 -1
  41. package/dist/hooks/usePatternUsages.js +3 -2
  42. package/dist/lib/api/auth.d.ts +2 -0
  43. package/dist/lib/api/auth.d.ts.map +1 -1
  44. package/dist/lib/api/auth.js +10 -10
  45. package/dist/lib/api/client-headers.d.ts +11 -0
  46. package/dist/lib/api/client-headers.d.ts.map +1 -0
  47. package/dist/lib/api/client-headers.js +12 -0
  48. package/dist/lib/api/client-ip.d.ts +59 -0
  49. package/dist/lib/api/client-ip.d.ts.map +1 -0
  50. package/dist/lib/api/client-ip.js +91 -0
  51. package/dist/lib/api/cors-response.d.ts +54 -0
  52. package/dist/lib/api/cors-response.d.ts.map +1 -0
  53. package/dist/lib/api/cors-response.js +88 -0
  54. package/dist/lib/api/entities.d.ts.map +1 -1
  55. package/dist/lib/api/entities.js +4 -3
  56. package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
  57. package/dist/lib/api/entity/audit-log.js +2 -1
  58. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  59. package/dist/lib/api/entity/generic-handler.js +23 -5
  60. package/dist/lib/api/helpers.d.ts +8 -2
  61. package/dist/lib/api/helpers.d.ts.map +1 -1
  62. package/dist/lib/api/helpers.js +27 -81
  63. package/dist/lib/api/keys.d.ts +6 -0
  64. package/dist/lib/api/keys.d.ts.map +1 -1
  65. package/dist/lib/api/keys.js +7 -1
  66. package/dist/lib/api/rate-limit.d.ts +4 -0
  67. package/dist/lib/api/rate-limit.d.ts.map +1 -1
  68. package/dist/lib/api/rate-limit.js +16 -40
  69. package/dist/lib/api/request-origin.d.ts +16 -7
  70. package/dist/lib/api/request-origin.d.ts.map +1 -1
  71. package/dist/lib/api/request-origin.js +43 -20
  72. package/dist/lib/auth/load-login-page.d.ts +10 -0
  73. package/dist/lib/auth/load-login-page.d.ts.map +1 -0
  74. package/dist/lib/auth/load-login-page.js +7 -0
  75. package/dist/lib/auth/runtime-readiness.d.ts.map +1 -1
  76. package/dist/lib/auth/runtime-readiness.js +2 -0
  77. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts +1 -8
  78. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts.map +1 -1
  79. package/dist/lib/auth/security-notifications/device-fingerprint.js +2 -12
  80. package/dist/lib/auth-email-callbacks.js +3 -3
  81. package/dist/lib/auth.d.ts.map +1 -1
  82. package/dist/lib/auth.js +7 -2
  83. package/dist/lib/config/config-client.d.ts.map +1 -1
  84. package/dist/lib/config/config-client.js +1 -1
  85. package/dist/lib/config/config-sync.d.ts.map +1 -1
  86. package/dist/lib/config/config-sync.js +1 -1
  87. package/dist/lib/config/public-config-client.d.ts +1 -0
  88. package/dist/lib/config/public-config-client.d.ts.map +1 -1
  89. package/dist/lib/config/public-config-client.js +3 -1
  90. package/dist/lib/config/types.d.ts +2 -0
  91. package/dist/lib/config/types.d.ts.map +1 -1
  92. package/dist/lib/constants/reserved-slugs.d.ts +17 -8
  93. package/dist/lib/constants/reserved-slugs.d.ts.map +1 -1
  94. package/dist/lib/constants/reserved-slugs.js +16 -52
  95. package/dist/lib/db.d.ts.map +1 -1
  96. package/dist/lib/db.js +9 -3
  97. package/dist/lib/entities/external-api-generator.d.ts.map +1 -1
  98. package/dist/lib/entities/external-api-generator.js +2 -4
  99. package/dist/lib/entities/public-slug.d.ts +46 -0
  100. package/dist/lib/entities/public-slug.d.ts.map +1 -0
  101. package/dist/lib/entities/public-slug.js +39 -0
  102. package/dist/routes/(auth)/signup/page.cc.d.ts +3 -8
  103. package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -1
  104. package/dist/routes/(auth)/signup/page.cc.js +7 -1
  105. package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -1
  106. package/dist/routes/(auth)/verify-email/page.js +2 -1
  107. package/dist/routes/(public)/page.cc.d.ts +3 -0
  108. package/dist/routes/(public)/page.cc.d.ts.map +1 -0
  109. package/dist/routes/(public)/page.cc.js +3 -0
  110. package/dist/routes/_internal/area-access.cc.d.ts +21 -0
  111. package/dist/routes/_internal/area-access.cc.d.ts.map +1 -0
  112. package/dist/routes/_internal/area-access.cc.js +19 -0
  113. package/dist/routes/_internal/auth-layout.d.ts.map +1 -1
  114. package/dist/routes/_internal/auth-layout.js +3 -2
  115. package/dist/routes/_internal/dashboard-main-shared.d.ts +7 -0
  116. package/dist/routes/_internal/dashboard-main-shared.d.ts.map +1 -0
  117. package/dist/routes/_internal/dashboard-main-shared.js +49 -0
  118. package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -1
  119. package/dist/routes/_internal/default-auth-layout.js +3 -2
  120. package/dist/routes/_internal/devtools-layout.cc.d.ts +3 -2
  121. package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -1
  122. package/dist/routes/_internal/devtools-layout.cc.js +1 -1
  123. package/dist/routes/_internal/devtools-layout.d.ts +7 -2
  124. package/dist/routes/_internal/devtools-layout.d.ts.map +1 -1
  125. package/dist/routes/_internal/devtools-layout.js +4 -4
  126. package/dist/routes/_internal/entity-detail-route.cc.d.ts +8 -0
  127. package/dist/routes/_internal/entity-detail-route.cc.d.ts.map +1 -0
  128. package/dist/routes/_internal/entity-detail-route.cc.js +5 -0
  129. package/dist/routes/_internal/entity-edit-route.cc.d.ts +8 -0
  130. package/dist/routes/_internal/entity-edit-route.cc.d.ts.map +1 -0
  131. package/dist/routes/_internal/entity-edit-route.cc.js +5 -0
  132. package/dist/routes/_internal/public-archive-route.d.ts +1 -1
  133. package/dist/routes/_internal/public-archive-route.d.ts.map +1 -1
  134. package/dist/routes/_internal/public-archive-route.js +8 -3
  135. package/dist/routes/_internal/public-item-route.cc.d.ts +5 -1
  136. package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -1
  137. package/dist/routes/_internal/public-item-route.cc.js +2 -1
  138. package/dist/routes/_internal/public-item-route.d.ts +7 -0
  139. package/dist/routes/_internal/public-item-route.d.ts.map +1 -1
  140. package/dist/routes/_internal/public-item-route.js +6 -1
  141. package/dist/routes/_internal/superadmin-layout.cc.d.ts +2 -1
  142. package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -1
  143. package/dist/routes/_internal/superadmin-layout.cc.js +1 -1
  144. package/dist/routes/_internal/superadmin-layout.d.ts +7 -2
  145. package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -1
  146. package/dist/routes/_internal/superadmin-layout.js +6 -6
  147. package/dist/routes/_internal/suspended-route.d.ts +16 -0
  148. package/dist/routes/_internal/suspended-route.d.ts.map +1 -0
  149. package/dist/routes/_internal/suspended-route.js +7 -0
  150. package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -1
  151. package/dist/routes/api/auth/[...all]/route.js +4 -12
  152. package/dist/routes/api/csp-report/route.d.ts.map +1 -1
  153. package/dist/routes/api/csp-report/route.js +2 -13
  154. package/dist/routes/api/devtools/config/entities/route.d.ts +2 -0
  155. package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -1
  156. package/dist/routes/api/devtools/config/entities/route.js +2 -0
  157. package/dist/routes/api/devtools/config/theme/route.d.ts +2 -0
  158. package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -1
  159. package/dist/routes/api/devtools/config/theme/route.js +2 -0
  160. package/dist/routes/api/devtools/tests/[...path]/route.d.ts +2 -0
  161. package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -1
  162. package/dist/routes/api/devtools/tests/[...path]/route.js +2 -0
  163. package/dist/routes/api/devtools/tests/route.d.ts +2 -0
  164. package/dist/routes/api/devtools/tests/route.d.ts.map +1 -1
  165. package/dist/routes/api/devtools/tests/route.js +2 -0
  166. package/dist/routes/api/health/route.d.ts +2 -0
  167. package/dist/routes/api/health/route.d.ts.map +1 -1
  168. package/dist/routes/api/health/route.js +2 -0
  169. package/dist/routes/api/internal/user-metadata/route.d.ts +2 -0
  170. package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -1
  171. package/dist/routes/api/internal/user-metadata/route.js +2 -0
  172. package/dist/routes/api/mcp/route.d.ts +2 -0
  173. package/dist/routes/api/mcp/route.d.ts.map +1 -1
  174. package/dist/routes/api/mcp/route.js +2 -0
  175. package/dist/routes/api/superadmin/subscriptions/route.d.ts +2 -0
  176. package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -1
  177. package/dist/routes/api/superadmin/subscriptions/route.js +2 -0
  178. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +2 -0
  179. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -1
  180. package/dist/routes/api/superadmin/teams/[teamId]/route.js +2 -0
  181. package/dist/routes/api/superadmin/teams/route.d.ts +2 -0
  182. package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -1
  183. package/dist/routes/api/superadmin/teams/route.js +2 -0
  184. package/dist/routes/api/superadmin/users/[userId]/route.d.ts +2 -0
  185. package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -1
  186. package/dist/routes/api/superadmin/users/[userId]/route.js +2 -0
  187. package/dist/routes/api/superadmin/users/route.d.ts +2 -0
  188. package/dist/routes/api/superadmin/users/route.d.ts.map +1 -1
  189. package/dist/routes/api/superadmin/users/route.js +2 -0
  190. package/dist/routes/api/user/delete-account/route.d.ts +2 -0
  191. package/dist/routes/api/user/delete-account/route.d.ts.map +1 -1
  192. package/dist/routes/api/user/delete-account/route.js +2 -0
  193. package/dist/routes/api/user/plan-flags/route.d.ts +2 -0
  194. package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -1
  195. package/dist/routes/api/user/plan-flags/route.js +2 -0
  196. package/dist/routes/api/user/profile/route.d.ts +2 -0
  197. package/dist/routes/api/user/profile/route.d.ts.map +1 -1
  198. package/dist/routes/api/user/profile/route.js +4 -3
  199. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +2 -0
  200. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -1
  201. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +2 -0
  202. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +2 -0
  203. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -1
  204. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +2 -0
  205. package/dist/routes/api/v1/billing/cancel/route.d.ts +2 -0
  206. package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -1
  207. package/dist/routes/api/v1/billing/cancel/route.js +2 -0
  208. package/dist/routes/api/v1/billing/change-plan/route.d.ts +2 -0
  209. package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -1
  210. package/dist/routes/api/v1/billing/change-plan/route.js +2 -0
  211. package/dist/routes/api/v1/billing/check-action/route.d.ts +2 -0
  212. package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -1
  213. package/dist/routes/api/v1/billing/check-action/route.js +2 -0
  214. package/dist/routes/api/v1/billing/checkout/route.d.ts +2 -0
  215. package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -1
  216. package/dist/routes/api/v1/billing/checkout/route.js +2 -0
  217. package/dist/routes/api/v1/billing/plans/route.d.ts +2 -0
  218. package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -1
  219. package/dist/routes/api/v1/billing/plans/route.js +2 -0
  220. package/dist/routes/api/v1/billing/portal/route.d.ts +2 -0
  221. package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -1
  222. package/dist/routes/api/v1/billing/portal/route.js +2 -0
  223. package/dist/routes/api/v1/blocks/[slug]/route.d.ts +2 -0
  224. package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -1
  225. package/dist/routes/api/v1/blocks/[slug]/route.js +2 -0
  226. package/dist/routes/api/v1/blocks/route.d.ts +2 -0
  227. package/dist/routes/api/v1/blocks/route.d.ts.map +1 -1
  228. package/dist/routes/api/v1/blocks/route.js +2 -0
  229. package/dist/routes/api/v1/blocks/validate/route.d.ts +2 -0
  230. package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -1
  231. package/dist/routes/api/v1/blocks/validate/route.js +2 -0
  232. package/dist/routes/api/v1/devtools/blocks/route.d.ts +2 -1
  233. package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -1
  234. package/dist/routes/api/v1/devtools/blocks/route.js +2 -9
  235. package/dist/routes/api/v1/devtools/docs/route.d.ts +2 -0
  236. package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -1
  237. package/dist/routes/api/v1/devtools/docs/route.js +2 -0
  238. package/dist/routes/api/v1/devtools/features/route.d.ts +2 -1
  239. package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -1
  240. package/dist/routes/api/v1/devtools/features/route.js +2 -9
  241. package/dist/routes/api/v1/devtools/flows/route.d.ts +2 -1
  242. package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -1
  243. package/dist/routes/api/v1/devtools/flows/route.js +2 -9
  244. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +2 -1
  245. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -1
  246. package/dist/routes/api/v1/devtools/scheduled-actions/route.js +2 -9
  247. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +2 -1
  248. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -1
  249. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +2 -9
  250. package/dist/routes/api/v1/devtools/testing/route.d.ts +2 -1
  251. package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -1
  252. package/dist/routes/api/v1/devtools/testing/route.js +2 -9
  253. package/dist/routes/api/v1/media/[id]/route.d.ts +2 -0
  254. package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -1
  255. package/dist/routes/api/v1/media/[id]/route.js +2 -0
  256. package/dist/routes/api/v1/media/[id]/tags/route.d.ts +2 -0
  257. package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -1
  258. package/dist/routes/api/v1/media/[id]/tags/route.js +2 -0
  259. package/dist/routes/api/v1/media/check-duplicates/route.d.ts +2 -0
  260. package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -1
  261. package/dist/routes/api/v1/media/check-duplicates/route.js +2 -0
  262. package/dist/routes/api/v1/media/route.d.ts +2 -0
  263. package/dist/routes/api/v1/media/route.d.ts.map +1 -1
  264. package/dist/routes/api/v1/media/route.js +2 -0
  265. package/dist/routes/api/v1/media/upload/route.d.ts +2 -0
  266. package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -1
  267. package/dist/routes/api/v1/media/upload/route.js +2 -0
  268. package/dist/routes/api/v1/media-tags/route.d.ts +2 -0
  269. package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -1
  270. package/dist/routes/api/v1/media-tags/route.js +2 -0
  271. package/dist/routes/api/v1/post-categories/[id]/route.d.ts +2 -0
  272. package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -1
  273. package/dist/routes/api/v1/post-categories/[id]/route.js +2 -0
  274. package/dist/routes/api/v1/post-categories/route.d.ts +2 -0
  275. package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -1
  276. package/dist/routes/api/v1/post-categories/route.js +2 -0
  277. package/dist/routes/api/v1/teams/[teamId]/members/route.js +2 -2
  278. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +2 -0
  279. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -1
  280. package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +2 -0
  281. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +2 -0
  282. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -1
  283. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +2 -0
  284. package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -1
  285. package/dist/routes/api/v1/users/[id]/route.js +3 -2
  286. package/dist/routes/api/v1/users/docs.md +34 -19
  287. package/dist/routes/api/v1/users/me/route.d.ts +6 -0
  288. package/dist/routes/api/v1/users/me/route.d.ts.map +1 -0
  289. package/dist/routes/api/v1/users/me/route.js +5 -0
  290. package/dist/routes/api/v1/users/presets.ts +2 -2
  291. package/dist/routes/dashboard/(main)/layout.cc.d.ts +4 -0
  292. package/dist/routes/dashboard/(main)/layout.cc.d.ts.map +1 -0
  293. package/dist/routes/dashboard/(main)/layout.cc.js +10 -0
  294. package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -1
  295. package/dist/routes/dashboard/(main)/layout.js +3 -44
  296. package/dist/routes/dashboard/permission-denied/page.d.ts +1 -1
  297. package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -1
  298. package/dist/routes/dashboard/permission-denied/page.js +5 -1
  299. package/dist/routes/devtools/layout.cc.d.ts.map +1 -1
  300. package/dist/routes/devtools/layout.cc.js +5 -1
  301. package/dist/routes/manifest.json +10 -0
  302. package/dist/routes/robots.d.ts +10 -0
  303. package/dist/routes/robots.d.ts.map +1 -0
  304. package/dist/routes/robots.js +10 -0
  305. package/dist/routes/superadmin/layout.cc.d.ts.map +1 -1
  306. package/dist/routes/superadmin/layout.cc.js +5 -1
  307. package/dist/routes/variants.json +12 -2
  308. package/dist/templates/next.config.mjs +2 -29
  309. package/dist/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  310. package/dist/templates/projects/blog/api/authors/route.ts +3 -0
  311. package/dist/templates/projects/blog/api/posts/public/route.ts +3 -0
  312. package/dist/templates/proxy.ts +12 -1
  313. package/dist/templates/public/favicon.ico +0 -0
  314. package/package.json +2 -2
  315. package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +3 -0
  316. package/scripts/build/registry/__tests__/billing-registry.test.mjs +50 -1
  317. package/scripts/build/registry/__tests__/block-registry.test.mjs +3 -0
  318. package/scripts/build/registry/__tests__/icons-discovery.test.mjs +3 -0
  319. package/scripts/build/registry/__tests__/quiet-console.mjs +17 -0
  320. package/scripts/build/registry/__tests__/safe-fs.test.mjs +3 -0
  321. package/scripts/build/registry/__tests__/team-roles.test.mjs +3 -0
  322. package/scripts/build/registry/discovery/permissions.test.mjs +3 -0
  323. package/scripts/build/registry/discovery/plugin-capabilities.mjs +2 -2
  324. package/scripts/build/registry/generators/billing-registry.mjs +7 -3
  325. package/scripts/build/registry/host/README.md +25 -1
  326. package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +32 -0
  327. package/scripts/build/registry/host/__tests__/host-entities.test.mjs +32 -1
  328. package/scripts/build/registry/host/__tests__/host-plan.test.mjs +12 -2
  329. package/scripts/build/registry/host/entity-routes.mjs +9 -3
  330. package/scripts/build/registry/host/static-imports.mjs +4 -0
  331. package/scripts/build/routes-manifest.mjs +13 -1
  332. package/scripts/db/ssl-config.mjs +12 -1
  333. package/templates/next.config.mjs +2 -29
  334. package/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  335. package/templates/projects/blog/api/authors/route.ts +3 -0
  336. package/templates/projects/blog/api/posts/public/route.ts +3 -0
  337. package/templates/proxy.ts +12 -1
  338. package/templates/public/favicon.ico +0 -0
@@ -10,7 +10,8 @@ export declare const withSuperadminAreaMessages: (Layout: ComponentType<Superadm
10
10
  /**
11
11
  * What a project's superadmin layout is composed with in Cache Components mode (the manifest's `compose` of that
12
12
  * variant): the mode's messages and the server-side role check, then core's client guard around the project's layout,
13
- * as `withSuperadminGuard` does in the ISR module. A module of its own so only the superadmin route group imports the
13
+ * as `withSuperadminGuard` does in the ISR module. The guard is told the server checked the role (`serverChecked`), so it
14
+ * renders the area while the client session loads. A module of its own so only the superadmin route group imports the
14
15
  * guard, the role check and their client components.
15
16
  */
16
17
  export declare const withSuperadminGuard: (ProjectLayout: ComponentType<SuperadminLayoutProps>) => ({ children }: {
@@ -1 +1 @@
1
- {"version":3,"file":"superadmin-layout.cc.d.ts","sourceRoot":"","sources":["../../../src/routes/_internal/superadmin-layout.cc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGvF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,aAAa,CAAC,qBAAqB,CAAC;;6CAA+D,CAAA;AAEtJ;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,aAAa,CAAC,qBAAqB,CAAC;;6CAAqE,CAAA"}
1
+ {"version":3,"file":"superadmin-layout.cc.d.ts","sourceRoot":"","sources":["../../../src/routes/_internal/superadmin-layout.cc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGvF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,aAAa,CAAC,qBAAqB,CAAC;;6CAA+D,CAAA;AAEtJ;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,aAAa,CAAC,qBAAqB,CAAC;;6CAA2E,CAAA"}
@@ -2,4 +2,4 @@ import { withSuperadminMessages } from "./group-layouts.cc.js";
2
2
  import { guardSuperadminLayout } from "./superadmin-layout.js";
3
3
  import { withAreaGate } from "./area-access.js";
4
4
  export const withSuperadminAreaMessages = (Layout) => withSuperadminMessages(withAreaGate("superadmin", Layout));
5
- export const withSuperadminGuard = (ProjectLayout) => withSuperadminAreaMessages(guardSuperadminLayout(ProjectLayout));
5
+ export const withSuperadminGuard = (ProjectLayout) => withSuperadminAreaMessages(guardSuperadminLayout(ProjectLayout, true));
@@ -4,13 +4,17 @@ export declare const defaultMetadata: Metadata;
4
4
  export interface SuperadminLayoutProps {
5
5
  children: React.ReactNode;
6
6
  }
7
+ /** `serverChecked`: see SuperAdminGuard (only the Cache Components module passes it, after its role check). */
8
+ type GuardedProps = SuperadminLayoutProps & {
9
+ serverChecked?: boolean;
10
+ };
7
11
  /**
8
12
  * Superadmin Layout
9
13
  *
10
14
  * Protected layout for superadmin-only sections with dedicated sidebar navigation.
11
15
  * Owns the narrowly scoped client catalog for superadmin routes.
12
16
  */
13
- export declare function SuperadminLayout({ children }: SuperadminLayoutProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function SuperadminLayout({ children, serverChecked }: GuardedProps): import("react/jsx-runtime").JSX.Element;
14
18
  /**
15
19
  * Wraps a layout for this route group in the group's client messages, after the server-side role check
16
20
  * (area-access): it runs before anything is rendered or sent, so a page load without the role gets a 307. The
@@ -26,10 +30,11 @@ export declare function withSuperadminMessages(ResolvedSuperadminLayout: Compone
26
30
  * area-access). Shared by the message wrappers of both rendering modes (`withSuperadminGuard` here, and
27
31
  * in `group-layouts.cc`).
28
32
  */
29
- export declare function guardSuperadminLayout(ProjectLayout: ComponentType<SuperadminLayoutProps>): ({ children }: SuperadminLayoutProps) => import("react/jsx-runtime").JSX.Element;
33
+ export declare function guardSuperadminLayout(ProjectLayout: ComponentType<SuperadminLayoutProps>, serverChecked?: boolean): ({ children }: SuperadminLayoutProps) => import("react/jsx-runtime").JSX.Element;
30
34
  /**
31
35
  * The composition of a project's superadmin layout with core (the generated host): messages, then
32
36
  * `guardSuperadminLayout` around the project's layout.
33
37
  */
34
38
  export declare function withSuperadminGuard(ProjectLayout: ComponentType<SuperadminLayoutProps>): ({ children }: SuperadminLayoutProps) => Promise<import("react/jsx-runtime").JSX.Element>;
39
+ export {};
35
40
  //# sourceMappingURL=superadmin-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"superadmin-layout.d.ts","sourceRoot":"","sources":["../../../src/routes/_internal/superadmin-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAU1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA6CD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAUnE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,wBAAwB,EAAE,aAAa,CAAC,qBAAqB,CAAC,IAChD,cAAc,qBAAqB,sDAUvF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC,IAC/C,cAAc,qBAAqB,6CAe5E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC,kBA1CpB,qBAAqB,sDA4CvF"}
1
+ {"version":3,"file":"superadmin-layout.d.ts","sourceRoot":"","sources":["../../../src/routes/_internal/superadmin-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAU1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,+GAA+G;AAC/G,KAAK,YAAY,GAAG,qBAAqB,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AA6CvE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,YAAY,2CAUzE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,wBAAwB,EAAE,aAAa,CAAC,qBAAqB,CAAC,IAChD,cAAc,qBAAqB,sDAUvF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC,EAAE,aAAa,UAAQ,IACtE,cAAc,qBAAqB,6CAe5E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC,kBA1CpB,qBAAqB,sDA4CvF"}
@@ -16,9 +16,9 @@ export const defaultMetadata = {
16
16
  robots: "noindex, nofollow"
17
17
  // Prevent search engine indexing
18
18
  };
19
- function SuperadminContent({ children }) {
19
+ function SuperadminContent({ children, serverChecked }) {
20
20
  const pluginNavItems = getAllPluginNavItems("superadmin");
21
- return /* @__PURE__ */ jsx(DashboardProviders, { children: /* @__PURE__ */ jsx(SuperAdminGuard, { children: /* @__PURE__ */ jsxs("div", { className: "flex h-screen bg-background", "data-cy": "superadmin-container", children: [
21
+ return /* @__PURE__ */ jsx(DashboardProviders, { children: /* @__PURE__ */ jsx(SuperAdminGuard, { serverChecked, children: /* @__PURE__ */ jsxs("div", { className: "flex h-screen bg-background", "data-cy": "superadmin-container", children: [
22
22
  /* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx(SuperadminSidebar, { pluginItems: pluginNavItems }) }),
23
23
  /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col overflow-hidden", children: [
24
24
  /* @__PURE__ */ jsx("div", { className: "lg:hidden bg-card border-b border-border p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
@@ -32,8 +32,8 @@ function SuperadminContent({ children }) {
32
32
  ] })
33
33
  ] }) }) });
34
34
  }
35
- export function SuperadminLayout({ children }) {
36
- return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "min-h-screen flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }), children: /* @__PURE__ */ jsx(SuperadminContent, { children }) });
35
+ export function SuperadminLayout({ children, serverChecked }) {
36
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "min-h-screen flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }), children: /* @__PURE__ */ jsx(SuperadminContent, { serverChecked, children }) });
37
37
  }
38
38
  export function withSuperadminMessages(ResolvedSuperadminLayout) {
39
39
  return async function SuperadminLayoutWithMessages({ children }) {
@@ -43,9 +43,9 @@ export function withSuperadminMessages(ResolvedSuperadminLayout) {
43
43
  return /* @__PURE__ */ jsx(NextIntlClientProvider, { messages: selectMessages(messages, "superadmin", configuredNamespaces.superadmin), children: /* @__PURE__ */ jsx(ResolvedSuperadminLayout, { children }) });
44
44
  };
45
45
  }
46
- export function guardSuperadminLayout(ProjectLayout) {
46
+ export function guardSuperadminLayout(ProjectLayout, serverChecked = false) {
47
47
  return function GuardedSuperadminLayout({ children }) {
48
- return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "min-h-screen flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }), children: /* @__PURE__ */ jsx(DashboardProviders, { children: /* @__PURE__ */ jsx(SuperAdminGuard, { children: /* @__PURE__ */ jsx(ProjectLayout, { children }) }) }) });
48
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "min-h-screen flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }), children: /* @__PURE__ */ jsx(DashboardProviders, { children: /* @__PURE__ */ jsx(SuperAdminGuard, { serverChecked, children: /* @__PURE__ */ jsx(ProjectLayout, { children }) }) }) });
49
49
  };
50
50
  }
51
51
  export function withSuperadminGuard(ProjectLayout) {
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * A route component behind its own Suspense boundary, for a host with `cacheComponents` on.
4
+ *
5
+ * A page that awaits `params` (or `searchParams`), redirects or answers notFound() is request-time work. The
6
+ * layouts of the Cache Components host already stream the page after their shell, but Next.js's instant-navigation
7
+ * check (the dev server runs it on every page, and logs "Could not validate ..." when it fails) wants a boundary
8
+ * between the segment it validates and that work, so a navigation to the segment finishes at once and the page
9
+ * streams in. The status a visitor gets is the one the host already gives: a redirect or a 404 thrown after the
10
+ * shell is sent reaches the browser as a 200 with a redirect or a not-found page.
11
+ *
12
+ * Only the Cache Components modules (`*.cc`) use it. An ISR host's pages are rendered before anything is sent, and
13
+ * keep a real 307 and 404.
14
+ */
15
+ export declare function behindSuspense<Props extends object>(Route: (props: Props) => ReactNode | Promise<ReactNode>): (props: Props) => import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=suspended-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suspended-route.d.ts","sourceRoot":"","sources":["../../../src/routes/_internal/suspended-route.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IACtE,OAAO,KAAK,6CAOjD"}
@@ -0,0 +1,7 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Suspense } from "react";
3
+ export function behindSuspense(Route) {
4
+ return function RouteBehindSuspense(props) {
5
+ return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(Route, { ...props }) });
6
+ };
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/auth/[...all]/route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBxD,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,kCAE7C;AAID,wBAAsB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,qBA4C1F;AAGD,wBAAsB,IAAI,CAAC,GAAG,EAAE,WAAW,qBAwJ1C"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/auth/[...all]/route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBxD,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,kCAE7C;AAID,wBAAsB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,qBA4C1F;AAGD,wBAAsB,IAAI,CAAC,GAAG,EAAE,WAAW,qBAwI1C"}
@@ -6,6 +6,7 @@ import { isPublicSignupRestricted } from "@nextsparkjs/core/lib/teams/helpers";
6
6
  import { TeamService } from "@nextsparkjs/core/lib/services";
7
7
  import { wrapAuthHandlerWithCors, handleCorsPreflightRequest, addCorsHeaders } from "@nextsparkjs/core/lib/api/helpers";
8
8
  import { checkDistributedRateLimit } from "@nextsparkjs/core/lib/api/rate-limit";
9
+ import { getClientIp } from "@nextsparkjs/core/lib/api/client-ip";
9
10
  import { withSignupContext } from "@nextsparkjs/core/lib/auth-context";
10
11
  import { dispatchSecurityNotificationsForRequest } from "@nextsparkjs/core/lib/auth/security-notifications";
11
12
  import { verifyEmailPageUrl } from "@nextsparkjs/core/lib/auth/verify-email-link";
@@ -39,19 +40,10 @@ export async function GET(req, context) {
39
40
  }
40
41
  export async function POST(req) {
41
42
  var _a, _b, _c, _d, _e;
42
- const clientIp = (() => {
43
- const cfIp = req.headers.get("cf-connecting-ip");
44
- if (cfIp) return cfIp;
45
- const forwardedFor = req.headers.get("x-forwarded-for");
46
- if (forwardedFor) {
47
- const ips = forwardedFor.split(",").map((ip) => ip.trim()).filter(Boolean);
48
- if (ips.length > 0) return ips[ips.length - 1];
49
- }
50
- return req.headers.get("x-real-ip") || "unknown";
51
- })();
43
+ const clientIp = getClientIp(req.headers);
52
44
  const rateLimitResult = await checkDistributedRateLimit(`auth:ip:${clientIp}`, "auth");
53
45
  if (!rateLimitResult.allowed) {
54
- return new NextResponse(JSON.stringify({ error: "Too many requests" }), {
46
+ return wrapAuthHandlerWithCors(async () => new NextResponse(JSON.stringify({ error: "Too many requests" }), {
55
47
  status: 429,
56
48
  headers: {
57
49
  "Content-Type": "application/json",
@@ -60,7 +52,7 @@ export async function POST(req) {
60
52
  "X-RateLimit-Remaining": "0",
61
53
  "X-RateLimit-Reset": rateLimitResult.resetTime.toString()
62
54
  }
63
- });
55
+ }), req);
64
56
  }
65
57
  const readinessResponse = await getAuthReadinessResponse(req);
66
58
  if (readinessResponse) {
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/csp-report/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AA2ExD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,qBAyF9C;AAID,wBAAsB,OAAO,sBAS5B"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/csp-report/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AA2DxD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,qBAyF9C;AAID,wBAAsB,OAAO,sBAS5B"}
@@ -1,4 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { getClientIp } from "@nextsparkjs/core/lib/api/client-ip";
2
3
  let checkDistributedRateLimit = null;
3
4
  let createRateLimitErrorResponse = null;
4
5
  let rateLimitLoaded = false;
@@ -16,25 +17,13 @@ async function ensureRateLimitLoaded() {
16
17
  const getAllowedOrigin = () => {
17
18
  return process.env.NEXT_PUBLIC_APP_URL || "http://localhost:3000";
18
19
  };
19
- function getClientIp(request) {
20
- const forwardedFor = request.headers.get("x-forwarded-for");
21
- if (forwardedFor) {
22
- const ips = forwardedFor.split(",").map((ip) => ip.trim());
23
- if (ips[0]) return ips[0];
24
- }
25
- const realIp = request.headers.get("x-real-ip");
26
- if (realIp) return realIp;
27
- const cfIp = request.headers.get("cf-connecting-ip");
28
- if (cfIp) return cfIp;
29
- return "unknown";
30
- }
31
20
  export async function POST(request) {
32
21
  await ensureRateLimitLoaded();
33
22
  const requestId = randomUUID().slice(0, 8);
34
23
  let rateLimitHeaders = {};
35
24
  if (checkDistributedRateLimit && createRateLimitErrorResponse) {
36
25
  try {
37
- const clientIp = getClientIp(request);
26
+ const clientIp = getClientIp(request.headers);
38
27
  const rateLimitResult = await checkDistributedRateLimit(`csp-report:ip:${clientIp}`, "api");
39
28
  if (!rateLimitResult.allowed) {
40
29
  console.warn(`[CSP Report ${requestId}] Rate limit exceeded for IP: ${clientIp}`);
@@ -1,4 +1,5 @@
1
1
  import { NextResponse } from "next/server";
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/devtools/config/entities
4
5
  *
@@ -6,4 +7,5 @@ import { NextResponse } from "next/server";
6
7
  * Only accessible to developer role
7
8
  */
8
9
  export declare const GET: (request: import("next/server").NextRequest) => Promise<NextResponse>;
10
+ export declare const OPTIONS: typeof corsPreflight;
9
11
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/config/entities/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmC3C;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAwEN,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/config/entities/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAgCxE;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAwEN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { getTypedSession } from "@nextsparkjs/core/lib/auth";
2
2
  import { NextResponse } from "next/server";
3
3
  import { getEntityRegistry } from "@nextsparkjs/core/lib/entities/queries";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  function isEntityConfig(entity) {
6
7
  return "slug" in entity;
7
8
  }
@@ -61,3 +62,4 @@ export const GET = withRateLimitTier(async (request) => {
61
62
  );
62
63
  }
63
64
  }, "read");
65
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextResponse } from "next/server";
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/devtools/config/theme
4
5
  *
@@ -6,4 +7,5 @@ import { NextResponse } from "next/server";
6
7
  * Only accessible to developer role
7
8
  */
8
9
  export declare const GET: (request: import("next/server").NextRequest) => Promise<NextResponse>;
10
+ export declare const OPTIONS: typeof corsPreflight;
9
11
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/config/theme/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAoDN,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/config/theme/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAoDN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { getTypedSession } from "@nextsparkjs/core/lib/auth";
2
2
  import { NextResponse } from "next/server";
3
3
  import { ThemeService } from "@nextsparkjs/core/lib/services/theme.service";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  export const GET = withRateLimitTier(async (request) => {
6
7
  try {
7
8
  const session = await getTypedSession(request.headers);
@@ -46,3 +47,4 @@ export const GET = withRateLimitTier(async (request) => {
46
47
  );
47
48
  }
48
49
  }, "read");
50
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextResponse } from "next/server";
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/devtools/tests/[...path]
4
5
  *
@@ -12,4 +13,5 @@ export declare const GET: (request: import("next/server").NextRequest, args_0: {
12
13
  path: string[];
13
14
  }>;
14
15
  }) => Promise<NextResponse>;
16
+ export declare const OPTIONS: typeof corsPreflight;
15
17
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/tests/[...path]/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;2BA0GzC,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/devtools/tests/[...path]/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;2BA0GzC,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -4,6 +4,7 @@ import { readFile, stat } from "fs/promises";
4
4
  import { join } from "path";
5
5
  import matter from "gray-matter";
6
6
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
7
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
7
8
  export const GET = withRateLimitTier(async (request, { params }) => {
8
9
  try {
9
10
  const session = await getTypedSession(request.headers);
@@ -91,3 +92,4 @@ export const GET = withRateLimitTier(async (request, { params }) => {
91
92
  );
92
93
  }
93
94
  }, "read");
95
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextResponse } from "next/server";
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/devtools/tests
4
5
  *
@@ -6,4 +7,5 @@ import { NextResponse } from "next/server";
6
7
  * Only accessible to developer role
7
8
  */
8
9
  export declare const GET: (request: import("next/server").NextRequest) => Promise<NextResponse>;
10
+ export declare const OPTIONS: typeof corsPreflight;
9
11
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/devtools/tests/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsD3C;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAkEN,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/devtools/tests/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAmDxE;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uEAkEN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -3,6 +3,7 @@ import { NextResponse } from "next/server";
3
3
  import { readdir, stat } from "fs/promises";
4
4
  import { join } from "path";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  async function buildFileTree(dirPath, basePath) {
7
8
  const entries = await readdir(dirPath, { withFileTypes: true });
8
9
  const tree = [];
@@ -87,3 +88,4 @@ export const GET = withRateLimitTier(async (request) => {
87
88
  );
88
89
  }
89
90
  }, "read");
91
+ export const OPTIONS = corsPreflight;
@@ -1,3 +1,5 @@
1
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
1
2
  import { NextRequest, NextResponse } from "next/server";
2
3
  export declare const GET: (request: NextRequest) => Promise<NextResponse>;
4
+ export declare const OPTIONS: typeof corsPreflight;
3
5
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/health/route.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,GAAG,iDA8CN,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/health/route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,GAAG,iDA8CN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
2
2
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
3
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
3
4
  import { isRedisConfigured } from "@nextsparkjs/core/lib/rate-limit-redis";
4
5
  import { authenticateRequest } from "@nextsparkjs/core/lib/api/auth/dual-auth";
5
6
  import { NextResponse } from "next/server";
@@ -37,3 +38,4 @@ export const GET = withRateLimitTier(async (request) => {
37
38
  ...dbError ? { error: dbError } : {}
38
39
  }, { status: healthy ? 200 : 503 });
39
40
  }, "read");
41
+ export const OPTIONS = corsPreflight;
@@ -1,3 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
4
+ export declare const OPTIONS: typeof corsPreflight;
3
5
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/internal/user-metadata/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAMvD,eAAO,MAAM,IAAI,iDAwCN,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/internal/user-metadata/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAIvE,eAAO,MAAM,IAAI,iDAwCN,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { NextResponse } from "next/server";
2
2
  import { MetaService } from "@nextsparkjs/core/lib/services/meta.service";
3
3
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
4
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
4
5
  import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/core/lib/api/auth/dual-auth";
5
6
  export const POST = withRateLimitTier(async (req) => {
6
7
  try {
@@ -31,3 +32,4 @@ export const POST = withRateLimitTier(async (req) => {
31
32
  }, { status: 500 });
32
33
  }
33
34
  }, "write");
35
+ export const OPTIONS = corsPreflight;
@@ -21,7 +21,9 @@
21
21
  * - every tool call is audited to api_audit_log
22
22
  */
23
23
  import { NextRequest, NextResponse } from 'next/server';
24
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
24
25
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
25
26
  export declare function GET(): Promise<NextResponse>;
26
27
  export declare function DELETE(): Promise<NextResponse>;
28
+ export declare const OPTIONS: typeof corsPreflight;
27
29
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/mcp/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA0IvD,eAAO,MAAM,IAAI,iDAA0C,CAAA;AAE3D,wBAAsB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAKjD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAKpD"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/mcp/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAOvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAoIvE,eAAO,MAAM,IAAI,iDAA0C,CAAA;AAE3D,wBAAsB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAKjD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAKpD;AAED,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -5,6 +5,7 @@ import {
5
5
  } from "@nextsparkjs/core/lib/api/auth/dual-auth";
6
6
  import { validateApiKey } from "@nextsparkjs/core/lib/api/auth";
7
7
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
8
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
8
9
  import { setEntityRegistry } from "@nextsparkjs/core/lib/entities/queries";
9
10
  import { createMcpEngine } from "@nextsparkjs/core/lib/mcp";
10
11
  import { ENTITY_REGISTRY, ENTITY_METADATA } from "@nextsparkjs/registries/entity-registry";
@@ -106,3 +107,4 @@ export async function DELETE() {
106
107
  { status: 405, headers: { Allow: "POST" } }
107
108
  );
108
109
  }
110
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/superadmin/subscriptions
4
5
  *
@@ -6,4 +7,5 @@ import { NextRequest, NextResponse } from 'next/server';
6
7
  * Supports filtering by status and pagination.
7
8
  */
8
9
  export declare const GET: (request: NextRequest) => Promise<NextResponse>;
10
+ export declare const OPTIONS: typeof corsPreflight;
9
11
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/subscriptions/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkDxD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,iDAkQJ,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/subscriptions/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AA+CxE;;;;;GAKG;AACH,eAAO,MAAM,GAAG,iDAkQJ,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
2
2
  import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  import { getBillingGateway } from "@nextsparkjs/core/lib/billing/gateways/factory";
6
7
  export const GET = withRateLimitTier(async (request) => {
7
8
  var _a;
@@ -233,3 +234,4 @@ export const GET = withRateLimitTier(async (request) => {
233
234
  );
234
235
  }
235
236
  }, "strict");
237
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/superadmin/teams/[teamId]
4
5
  *
@@ -10,4 +11,5 @@ export declare const GET: (request: NextRequest, args_0: {
10
11
  teamId: string;
11
12
  }>;
12
13
  }) => Promise<NextResponse>;
14
+ export declare const OPTIONS: typeof corsPreflight;
13
15
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/superadmin/teams/[teamId]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6DxD;;;;;GAKG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;2BA8NvC,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/superadmin/teams/[teamId]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AA0DxE;;;;;GAKG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;2BA8NvC,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
2
2
  import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  import { getBillingGateway } from "@nextsparkjs/core/lib/billing/gateways/factory";
6
7
  export const GET = withRateLimitTier(async (request, { params }) => {
7
8
  var _a;
@@ -202,3 +203,4 @@ export const GET = withRateLimitTier(async (request, { params }) => {
202
203
  );
203
204
  }
204
205
  }, "strict");
206
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/superadmin/teams
4
5
  *
@@ -17,4 +18,5 @@ import { NextRequest, NextResponse } from 'next/server';
17
18
  * - pagination: Pagination info
18
19
  */
19
20
  export declare const GET: (request: NextRequest) => Promise<NextResponse>;
21
+ export declare const OPTIONS: typeof corsPreflight;
20
22
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/teams/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBxD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,iDAwJJ,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/teams/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAaxE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,iDAwJJ,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -3,6 +3,7 @@ import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
4
4
  import { SYSTEM_ADMIN_TEAM_ID } from "@nextsparkjs/core/lib/api/auth/dual-auth";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  export const GET = withRateLimitTier(async (request) => {
7
8
  var _a, _b, _c, _d;
8
9
  try {
@@ -129,3 +130,4 @@ export const GET = withRateLimitTier(async (request) => {
129
130
  );
130
131
  }
131
132
  }, "strict");
133
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  interface RouteParams {
3
4
  params: Promise<{
4
5
  userId: string;
@@ -41,5 +42,6 @@ export declare const PATCH: (request: NextRequest, args_0: RouteParams) => Promi
41
42
  * - Delete the user account
42
43
  */
43
44
  export declare const DELETE: (request: NextRequest, args_0: RouteParams) => Promise<NextResponse>;
45
+ export declare const OPTIONS: typeof corsPreflight;
44
46
  export {};
45
47
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/superadmin/users/[userId]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkCxD,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,sEA6KJ,CAAC;AAOb;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,sEA+JN,CAAC;AAEb;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,sEAgIP,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/superadmin/users/[userId]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AA+BxE,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,sEA6KJ,CAAC;AAOb;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,sEA+JN,CAAC;AAEb;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,sEAgIP,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
2
2
  import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  export const GET = withRateLimitTier(async (request, { params }) => {
6
7
  try {
7
8
  const session = await getTypedSession(request.headers);
@@ -360,3 +361,4 @@ export const DELETE = withRateLimitTier(async (request, { params }) => {
360
361
  );
361
362
  }
362
363
  }, "strict");
364
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,5 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  /**
3
4
  * GET /api/superadmin/users
4
5
  *
@@ -34,4 +35,5 @@ export declare const POST: (request: NextRequest) => Promise<NextResponse>;
34
35
  * Currently returns not implemented.
35
36
  */
36
37
  export declare const PUT: (request: NextRequest) => Promise<NextResponse>;
38
+ export declare const OPTIONS: typeof corsPreflight;
37
39
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/users/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,GAAG,iDA6QJ,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,IAAI,iDAKL,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,GAAG,iDAKJ,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/superadmin/users/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,GAAG,iDA6QJ,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,IAAI,iDAKL,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,GAAG,iDAKJ,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
2
2
  import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
4
4
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
5
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
5
6
  export const GET = withRateLimitTier(async (request) => {
6
7
  var _a, _b, _c;
7
8
  try {
@@ -237,3 +238,4 @@ export const PUT = withRateLimitTier(async () => {
237
238
  { status: 501 }
238
239
  );
239
240
  }, "strict");
241
+ export const OPTIONS = corsPreflight;
@@ -1,3 +1,5 @@
1
1
  import { NextRequest, NextResponse } from "next/server";
2
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
2
3
  export declare const DELETE: (request: NextRequest) => Promise<NextResponse>;
4
+ export declare const OPTIONS: typeof corsPreflight;
3
5
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/delete-account/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD,eAAO,MAAM,MAAM,iDAoDP,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/delete-account/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,eAAO,MAAM,MAAM,iDAoDP,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAC"}