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

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 (481) 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/billing/InvoicesPagination.js +2 -2
  8. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  9. package/dist/components/dashboard/block-editor/block-picker.js +2 -1
  10. package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
  11. package/dist/components/dashboard/block-editor/builder-editor-view.js +39 -23
  12. package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
  13. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
  14. package/dist/components/dashboard/layouts/AuthGuard.d.ts.map +1 -1
  15. package/dist/components/dashboard/layouts/AuthGuard.js +3 -4
  16. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -1
  17. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +9 -10
  18. package/dist/components/dashboard/layouts/DashboardAuthLayout.d.ts.map +1 -1
  19. package/dist/components/dashboard/layouts/DashboardAuthLayout.js +3 -4
  20. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts +2 -2
  21. package/dist/components/dashboard/navigation/DynamicNavigation.js +2 -2
  22. package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
  23. package/dist/components/entities/wrappers/EntityDetailWrapper.js +5 -2
  24. package/dist/components/entities/wrappers/EntityFormWrapper.d.ts.map +1 -1
  25. package/dist/components/entities/wrappers/EntityFormWrapper.js +5 -2
  26. package/dist/components/entities/wrappers/EntityListWrapper.d.ts.map +1 -1
  27. package/dist/components/entities/wrappers/EntityListWrapper.js +5 -2
  28. package/dist/components/settings/layouts/SettingsSidebar.d.ts.map +1 -1
  29. package/dist/components/settings/layouts/SettingsSidebar.js +0 -1
  30. package/dist/components/teams/CreateTeamButton.js +2 -2
  31. package/dist/components/teams/CreateTeamDialog.js +1 -1
  32. package/dist/components/teams/InviteMemberButton.js +3 -3
  33. package/dist/components/teams/InviteMemberDialog.js +1 -1
  34. package/dist/components/teams/TeamPendingInvitations.js +2 -2
  35. package/dist/components/ui/relation-display.d.ts.map +1 -1
  36. package/dist/components/ui/relation-display.js +2 -1
  37. package/dist/components/ui/user-display.d.ts.map +1 -1
  38. package/dist/components/ui/user-display.js +2 -1
  39. package/dist/emails/otp-verification.d.ts.map +1 -1
  40. package/dist/emails/otp-verification.js +5 -3
  41. package/dist/emails/reset-password.d.ts.map +1 -1
  42. package/dist/emails/reset-password.js +5 -3
  43. package/dist/emails/team-invitation.d.ts.map +1 -1
  44. package/dist/emails/team-invitation.js +3 -2
  45. package/dist/emails/verify-email.d.ts.map +1 -1
  46. package/dist/emails/verify-email.js +5 -3
  47. package/dist/hooks/useAuth.d.ts.map +1 -1
  48. package/dist/hooks/useAuth.js +21 -4
  49. package/dist/hooks/usePatternUsages.d.ts.map +1 -1
  50. package/dist/hooks/usePatternUsages.js +3 -2
  51. package/dist/lib/api/api-error.d.ts +2 -0
  52. package/dist/lib/api/api-error.d.ts.map +1 -1
  53. package/dist/lib/api/api-error.js +3 -1
  54. package/dist/lib/api/auth/dual-auth.d.ts +2 -1
  55. package/dist/lib/api/auth/dual-auth.d.ts.map +1 -1
  56. package/dist/lib/api/auth/dual-auth.js +22 -4
  57. package/dist/lib/api/auth/scope-policy.d.ts +6 -3
  58. package/dist/lib/api/auth/scope-policy.d.ts.map +1 -1
  59. package/dist/lib/api/auth.d.ts +2 -0
  60. package/dist/lib/api/auth.d.ts.map +1 -1
  61. package/dist/lib/api/auth.js +10 -10
  62. package/dist/lib/api/client-headers.d.ts +11 -0
  63. package/dist/lib/api/client-headers.d.ts.map +1 -0
  64. package/dist/lib/api/client-headers.js +12 -0
  65. package/dist/lib/api/client-ip.d.ts +59 -0
  66. package/dist/lib/api/client-ip.d.ts.map +1 -0
  67. package/dist/lib/api/client-ip.js +91 -0
  68. package/dist/lib/api/cors-response.d.ts +55 -0
  69. package/dist/lib/api/cors-response.d.ts.map +1 -0
  70. package/dist/lib/api/cors-response.js +90 -0
  71. package/dist/lib/api/entities.d.ts.map +1 -1
  72. package/dist/lib/api/entities.js +4 -3
  73. package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
  74. package/dist/lib/api/entity/audit-log.js +2 -1
  75. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  76. package/dist/lib/api/entity/generic-handler.js +23 -8
  77. package/dist/lib/api/helpers.d.ts +8 -2
  78. package/dist/lib/api/helpers.d.ts.map +1 -1
  79. package/dist/lib/api/helpers.js +32 -103
  80. package/dist/lib/api/keys.d.ts +6 -0
  81. package/dist/lib/api/keys.d.ts.map +1 -1
  82. package/dist/lib/api/keys.js +7 -1
  83. package/dist/lib/api/permission-middleware.d.ts.map +1 -1
  84. package/dist/lib/api/permission-middleware.js +0 -2
  85. package/dist/lib/api/rate-limit.d.ts +12 -0
  86. package/dist/lib/api/rate-limit.d.ts.map +1 -1
  87. package/dist/lib/api/rate-limit.js +50 -43
  88. package/dist/lib/api/request-origin.d.ts +16 -7
  89. package/dist/lib/api/request-origin.d.ts.map +1 -1
  90. package/dist/lib/api/request-origin.js +43 -20
  91. package/dist/lib/auth/load-login-page.d.ts +10 -0
  92. package/dist/lib/auth/load-login-page.d.ts.map +1 -0
  93. package/dist/lib/auth/load-login-page.js +7 -0
  94. package/dist/lib/auth/runtime-readiness.d.ts.map +1 -1
  95. package/dist/lib/auth/runtime-readiness.js +4 -0
  96. package/dist/lib/auth/sample-accounts.d.ts +17 -0
  97. package/dist/lib/auth/sample-accounts.d.ts.map +1 -0
  98. package/dist/lib/auth/sample-accounts.js +22 -0
  99. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts +1 -8
  100. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts.map +1 -1
  101. package/dist/lib/auth/security-notifications/device-fingerprint.js +2 -12
  102. package/dist/lib/auth-email-callbacks.js +3 -3
  103. package/dist/lib/auth.d.ts.map +1 -1
  104. package/dist/lib/auth.js +13 -5
  105. package/dist/lib/cache/public-entity-cache.d.ts +21 -0
  106. package/dist/lib/cache/public-entity-cache.d.ts.map +1 -0
  107. package/dist/lib/cache/public-entity-cache.js +25 -0
  108. package/dist/lib/config/config-client.d.ts.map +1 -1
  109. package/dist/lib/config/config-client.js +1 -1
  110. package/dist/lib/config/config-sync.d.ts.map +1 -1
  111. package/dist/lib/config/config-sync.js +1 -1
  112. package/dist/lib/config/public-config-client.d.ts +1 -0
  113. package/dist/lib/config/public-config-client.d.ts.map +1 -1
  114. package/dist/lib/config/public-config-client.js +3 -1
  115. package/dist/lib/config/types.d.ts +2 -0
  116. package/dist/lib/config/types.d.ts.map +1 -1
  117. package/dist/lib/constants/reserved-slugs.d.ts +17 -8
  118. package/dist/lib/constants/reserved-slugs.d.ts.map +1 -1
  119. package/dist/lib/constants/reserved-slugs.js +16 -52
  120. package/dist/lib/db.d.ts.map +1 -1
  121. package/dist/lib/db.js +9 -3
  122. package/dist/lib/entities/entity-hooks.d.ts.map +1 -1
  123. package/dist/lib/entities/entity-hooks.js +4 -0
  124. package/dist/lib/entities/external-api-generator.d.ts.map +1 -1
  125. package/dist/lib/entities/external-api-generator.js +2 -4
  126. package/dist/lib/entities/public-slug.d.ts +46 -0
  127. package/dist/lib/entities/public-slug.d.ts.map +1 -0
  128. package/dist/lib/entities/public-slug.js +39 -0
  129. package/dist/lib/mcp/errors.d.ts +2 -0
  130. package/dist/lib/mcp/errors.d.ts.map +1 -1
  131. package/dist/lib/mcp/errors.js +3 -1
  132. package/dist/lib/mcp/index.d.ts +1 -1
  133. package/dist/lib/mcp/index.d.ts.map +1 -1
  134. package/dist/lib/mcp/index.js +2 -1
  135. package/dist/lib/services/generic-entity.service.d.ts.map +1 -1
  136. package/dist/lib/services/generic-entity.service.js +2 -0
  137. package/dist/lib/teams/actions.d.ts.map +1 -1
  138. package/dist/lib/teams/actions.js +0 -1
  139. package/dist/messages/de/billing.json +12 -1
  140. package/dist/messages/de/common.json +2 -0
  141. package/dist/messages/de/docs.json +1 -0
  142. package/dist/messages/de/features.json +16 -4
  143. package/dist/messages/de/home.json +5 -0
  144. package/dist/messages/de/index.d.ts +68 -25
  145. package/dist/messages/de/index.d.ts.map +1 -1
  146. package/dist/messages/de/index.js +2 -0
  147. package/dist/messages/de/index.ts +2 -0
  148. package/dist/messages/de/settings.json +1 -0
  149. package/dist/messages/de/teams.json +3 -18
  150. package/dist/messages/en/billing.json +1 -1
  151. package/dist/messages/en/common.json +2 -0
  152. package/dist/messages/en/docs.json +1 -0
  153. package/dist/messages/en/features.json +16 -4
  154. package/dist/messages/en/home.json +5 -0
  155. package/dist/messages/en/index.d.ts +58 -25
  156. package/dist/messages/en/index.d.ts.map +1 -1
  157. package/dist/messages/en/index.js +2 -0
  158. package/dist/messages/en/index.ts +2 -0
  159. package/dist/messages/en/settings.json +1 -0
  160. package/dist/messages/en/teams.json +3 -18
  161. package/dist/messages/es/billing.json +1 -1
  162. package/dist/messages/es/common.json +2 -0
  163. package/dist/messages/es/docs.json +1 -0
  164. package/dist/messages/es/features.json +16 -4
  165. package/dist/messages/es/home.json +5 -0
  166. package/dist/messages/es/index.d.ts +41 -8
  167. package/dist/messages/es/index.d.ts.map +1 -1
  168. package/dist/messages/es/index.js +2 -0
  169. package/dist/messages/es/index.ts +2 -0
  170. package/dist/messages/es/settings.json +1 -0
  171. package/dist/messages/es/teams.json +3 -0
  172. package/dist/messages/fr/billing.json +12 -1
  173. package/dist/messages/fr/common.json +2 -0
  174. package/dist/messages/fr/docs.json +1 -0
  175. package/dist/messages/fr/features.json +16 -4
  176. package/dist/messages/fr/home.json +5 -0
  177. package/dist/messages/fr/index.d.ts +68 -25
  178. package/dist/messages/fr/index.d.ts.map +1 -1
  179. package/dist/messages/fr/index.js +2 -0
  180. package/dist/messages/fr/index.ts +2 -0
  181. package/dist/messages/fr/settings.json +1 -0
  182. package/dist/messages/fr/teams.json +3 -18
  183. package/dist/messages/it/billing.json +12 -1
  184. package/dist/messages/it/common.json +2 -0
  185. package/dist/messages/it/docs.json +1 -0
  186. package/dist/messages/it/features.json +16 -4
  187. package/dist/messages/it/home.json +5 -0
  188. package/dist/messages/it/index.d.ts +68 -25
  189. package/dist/messages/it/index.d.ts.map +1 -1
  190. package/dist/messages/it/index.js +2 -0
  191. package/dist/messages/it/index.ts +2 -0
  192. package/dist/messages/it/settings.json +1 -0
  193. package/dist/messages/it/teams.json +3 -18
  194. package/dist/messages/pt/billing.json +12 -1
  195. package/dist/messages/pt/common.json +2 -0
  196. package/dist/messages/pt/docs.json +1 -0
  197. package/dist/messages/pt/features.json +16 -4
  198. package/dist/messages/pt/home.json +5 -0
  199. package/dist/messages/pt/index.d.ts +68 -25
  200. package/dist/messages/pt/index.d.ts.map +1 -1
  201. package/dist/messages/pt/index.js +2 -0
  202. package/dist/messages/pt/index.ts +2 -0
  203. package/dist/messages/pt/settings.json +1 -0
  204. package/dist/messages/pt/teams.json +3 -18
  205. package/dist/migrations/029_sample_accounts_outside_development.sql +55 -0
  206. package/dist/migrations/090_sample_data.sql +10 -0
  207. package/dist/routes/(auth)/signup/page.cc.d.ts +3 -8
  208. package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -1
  209. package/dist/routes/(auth)/signup/page.cc.js +7 -1
  210. package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -1
  211. package/dist/routes/(auth)/verify-email/page.js +2 -1
  212. package/dist/routes/(public)/page.cc.d.ts +3 -0
  213. package/dist/routes/(public)/page.cc.d.ts.map +1 -0
  214. package/dist/routes/(public)/page.cc.js +3 -0
  215. package/dist/routes/_internal/area-access.cc.d.ts +21 -0
  216. package/dist/routes/_internal/area-access.cc.d.ts.map +1 -0
  217. package/dist/routes/_internal/area-access.cc.js +19 -0
  218. package/dist/routes/_internal/auth-layout.d.ts.map +1 -1
  219. package/dist/routes/_internal/auth-layout.js +3 -2
  220. package/dist/routes/_internal/dashboard-main-shared.d.ts +7 -0
  221. package/dist/routes/_internal/dashboard-main-shared.d.ts.map +1 -0
  222. package/dist/routes/_internal/dashboard-main-shared.js +49 -0
  223. package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -1
  224. package/dist/routes/_internal/default-auth-layout.js +3 -2
  225. package/dist/routes/_internal/devtools-layout.cc.d.ts +3 -2
  226. package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -1
  227. package/dist/routes/_internal/devtools-layout.cc.js +1 -1
  228. package/dist/routes/_internal/devtools-layout.d.ts +7 -2
  229. package/dist/routes/_internal/devtools-layout.d.ts.map +1 -1
  230. package/dist/routes/_internal/devtools-layout.js +4 -4
  231. package/dist/routes/_internal/entity-detail-route.cc.d.ts +8 -0
  232. package/dist/routes/_internal/entity-detail-route.cc.d.ts.map +1 -0
  233. package/dist/routes/_internal/entity-detail-route.cc.js +5 -0
  234. package/dist/routes/_internal/entity-edit-route.cc.d.ts +8 -0
  235. package/dist/routes/_internal/entity-edit-route.cc.d.ts.map +1 -0
  236. package/dist/routes/_internal/entity-edit-route.cc.js +5 -0
  237. package/dist/routes/_internal/entity-permission-layout.d.ts.map +1 -1
  238. package/dist/routes/_internal/entity-permission-layout.js +0 -7
  239. package/dist/routes/_internal/public-archive-route.d.ts +1 -1
  240. package/dist/routes/_internal/public-archive-route.d.ts.map +1 -1
  241. package/dist/routes/_internal/public-archive-route.js +8 -3
  242. package/dist/routes/_internal/public-item-route.cc.d.ts +5 -1
  243. package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -1
  244. package/dist/routes/_internal/public-item-route.cc.js +2 -1
  245. package/dist/routes/_internal/public-item-route.d.ts +7 -0
  246. package/dist/routes/_internal/public-item-route.d.ts.map +1 -1
  247. package/dist/routes/_internal/public-item-route.js +6 -1
  248. package/dist/routes/_internal/superadmin-layout.cc.d.ts +2 -1
  249. package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -1
  250. package/dist/routes/_internal/superadmin-layout.cc.js +1 -1
  251. package/dist/routes/_internal/superadmin-layout.d.ts +7 -2
  252. package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -1
  253. package/dist/routes/_internal/superadmin-layout.js +6 -6
  254. package/dist/routes/_internal/suspended-route.d.ts +16 -0
  255. package/dist/routes/_internal/suspended-route.d.ts.map +1 -0
  256. package/dist/routes/_internal/suspended-route.js +7 -0
  257. package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -1
  258. package/dist/routes/api/auth/[...all]/route.js +4 -12
  259. package/dist/routes/api/csp-report/route.d.ts.map +1 -1
  260. package/dist/routes/api/csp-report/route.js +2 -13
  261. package/dist/routes/api/devtools/config/entities/route.d.ts +2 -0
  262. package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -1
  263. package/dist/routes/api/devtools/config/entities/route.js +2 -0
  264. package/dist/routes/api/devtools/config/theme/route.d.ts +2 -0
  265. package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -1
  266. package/dist/routes/api/devtools/config/theme/route.js +2 -0
  267. package/dist/routes/api/devtools/tests/[...path]/route.d.ts +2 -0
  268. package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -1
  269. package/dist/routes/api/devtools/tests/[...path]/route.js +2 -0
  270. package/dist/routes/api/devtools/tests/route.d.ts +2 -0
  271. package/dist/routes/api/devtools/tests/route.d.ts.map +1 -1
  272. package/dist/routes/api/devtools/tests/route.js +2 -0
  273. package/dist/routes/api/health/route.d.ts +2 -0
  274. package/dist/routes/api/health/route.d.ts.map +1 -1
  275. package/dist/routes/api/health/route.js +2 -0
  276. package/dist/routes/api/internal/user-metadata/route.d.ts +2 -0
  277. package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -1
  278. package/dist/routes/api/internal/user-metadata/route.js +2 -0
  279. package/dist/routes/api/mcp/route.d.ts +2 -0
  280. package/dist/routes/api/mcp/route.d.ts.map +1 -1
  281. package/dist/routes/api/mcp/route.js +9 -1
  282. package/dist/routes/api/superadmin/subscriptions/route.d.ts +2 -0
  283. package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -1
  284. package/dist/routes/api/superadmin/subscriptions/route.js +2 -0
  285. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +2 -0
  286. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -1
  287. package/dist/routes/api/superadmin/teams/[teamId]/route.js +2 -0
  288. package/dist/routes/api/superadmin/teams/route.d.ts +2 -0
  289. package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -1
  290. package/dist/routes/api/superadmin/teams/route.js +2 -0
  291. package/dist/routes/api/superadmin/users/[userId]/route.d.ts +2 -0
  292. package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -1
  293. package/dist/routes/api/superadmin/users/[userId]/route.js +2 -0
  294. package/dist/routes/api/superadmin/users/route.d.ts +2 -0
  295. package/dist/routes/api/superadmin/users/route.d.ts.map +1 -1
  296. package/dist/routes/api/superadmin/users/route.js +2 -0
  297. package/dist/routes/api/user/delete-account/route.d.ts +2 -0
  298. package/dist/routes/api/user/delete-account/route.d.ts.map +1 -1
  299. package/dist/routes/api/user/delete-account/route.js +2 -0
  300. package/dist/routes/api/user/plan-flags/route.d.ts +2 -0
  301. package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -1
  302. package/dist/routes/api/user/plan-flags/route.js +2 -0
  303. package/dist/routes/api/user/profile/route.d.ts +2 -0
  304. package/dist/routes/api/user/profile/route.d.ts.map +1 -1
  305. package/dist/routes/api/user/profile/route.js +4 -3
  306. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +2 -0
  307. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -1
  308. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +2 -0
  309. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +2 -0
  310. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -1
  311. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +2 -0
  312. package/dist/routes/api/v1/billing/cancel/route.d.ts +2 -0
  313. package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -1
  314. package/dist/routes/api/v1/billing/cancel/route.js +2 -0
  315. package/dist/routes/api/v1/billing/change-plan/route.d.ts +2 -0
  316. package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -1
  317. package/dist/routes/api/v1/billing/change-plan/route.js +2 -0
  318. package/dist/routes/api/v1/billing/check-action/route.d.ts +2 -0
  319. package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -1
  320. package/dist/routes/api/v1/billing/check-action/route.js +2 -0
  321. package/dist/routes/api/v1/billing/checkout/route.d.ts +2 -0
  322. package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -1
  323. package/dist/routes/api/v1/billing/checkout/route.js +2 -0
  324. package/dist/routes/api/v1/billing/plans/route.d.ts +2 -0
  325. package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -1
  326. package/dist/routes/api/v1/billing/plans/route.js +2 -0
  327. package/dist/routes/api/v1/billing/portal/route.d.ts +2 -0
  328. package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -1
  329. package/dist/routes/api/v1/billing/portal/route.js +2 -0
  330. package/dist/routes/api/v1/blocks/[slug]/route.d.ts +2 -0
  331. package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -1
  332. package/dist/routes/api/v1/blocks/[slug]/route.js +2 -0
  333. package/dist/routes/api/v1/blocks/route.d.ts +2 -0
  334. package/dist/routes/api/v1/blocks/route.d.ts.map +1 -1
  335. package/dist/routes/api/v1/blocks/route.js +2 -0
  336. package/dist/routes/api/v1/blocks/validate/route.d.ts +2 -0
  337. package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -1
  338. package/dist/routes/api/v1/blocks/validate/route.js +2 -0
  339. package/dist/routes/api/v1/devtools/blocks/route.d.ts +2 -1
  340. package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -1
  341. package/dist/routes/api/v1/devtools/blocks/route.js +2 -9
  342. package/dist/routes/api/v1/devtools/docs/route.d.ts +2 -0
  343. package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -1
  344. package/dist/routes/api/v1/devtools/docs/route.js +2 -0
  345. package/dist/routes/api/v1/devtools/features/route.d.ts +2 -1
  346. package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -1
  347. package/dist/routes/api/v1/devtools/features/route.js +2 -9
  348. package/dist/routes/api/v1/devtools/flows/route.d.ts +2 -1
  349. package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -1
  350. package/dist/routes/api/v1/devtools/flows/route.js +2 -9
  351. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +2 -1
  352. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -1
  353. package/dist/routes/api/v1/devtools/scheduled-actions/route.js +2 -9
  354. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +2 -1
  355. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -1
  356. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +2 -9
  357. package/dist/routes/api/v1/devtools/testing/route.d.ts +2 -1
  358. package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -1
  359. package/dist/routes/api/v1/devtools/testing/route.js +2 -9
  360. package/dist/routes/api/v1/media/[id]/route.d.ts +2 -0
  361. package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -1
  362. package/dist/routes/api/v1/media/[id]/route.js +2 -0
  363. package/dist/routes/api/v1/media/[id]/tags/route.d.ts +2 -0
  364. package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -1
  365. package/dist/routes/api/v1/media/[id]/tags/route.js +2 -0
  366. package/dist/routes/api/v1/media/check-duplicates/route.d.ts +2 -0
  367. package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -1
  368. package/dist/routes/api/v1/media/check-duplicates/route.js +2 -0
  369. package/dist/routes/api/v1/media/route.d.ts +2 -0
  370. package/dist/routes/api/v1/media/route.d.ts.map +1 -1
  371. package/dist/routes/api/v1/media/route.js +2 -0
  372. package/dist/routes/api/v1/media/upload/route.d.ts +4 -1
  373. package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -1
  374. package/dist/routes/api/v1/media/upload/route.js +12 -2
  375. package/dist/routes/api/v1/media-tags/route.d.ts +2 -0
  376. package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -1
  377. package/dist/routes/api/v1/media-tags/route.js +2 -0
  378. package/dist/routes/api/v1/post-categories/[id]/route.d.ts +2 -0
  379. package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -1
  380. package/dist/routes/api/v1/post-categories/[id]/route.js +2 -0
  381. package/dist/routes/api/v1/post-categories/route.d.ts +2 -0
  382. package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -1
  383. package/dist/routes/api/v1/post-categories/route.js +2 -0
  384. package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts.map +1 -1
  385. package/dist/routes/api/v1/teams/[teamId]/members/route.js +14 -12
  386. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +2 -0
  387. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -1
  388. package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +2 -0
  389. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +2 -0
  390. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -1
  391. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +2 -0
  392. package/dist/routes/api/v1/teams/switch/route.d.ts.map +1 -1
  393. package/dist/routes/api/v1/teams/switch/route.js +4 -1
  394. package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -1
  395. package/dist/routes/api/v1/users/[id]/route.js +3 -2
  396. package/dist/routes/api/v1/users/docs.md +34 -19
  397. package/dist/routes/api/v1/users/me/route.d.ts +6 -0
  398. package/dist/routes/api/v1/users/me/route.d.ts.map +1 -0
  399. package/dist/routes/api/v1/users/me/route.js +5 -0
  400. package/dist/routes/api/v1/users/presets.ts +2 -2
  401. package/dist/routes/dashboard/(main)/layout.cc.d.ts +4 -0
  402. package/dist/routes/dashboard/(main)/layout.cc.d.ts.map +1 -0
  403. package/dist/routes/dashboard/(main)/layout.cc.js +10 -0
  404. package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -1
  405. package/dist/routes/dashboard/(main)/layout.js +3 -44
  406. package/dist/routes/dashboard/permission-denied/page.d.ts +1 -1
  407. package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -1
  408. package/dist/routes/dashboard/permission-denied/page.js +5 -1
  409. package/dist/routes/dashboard/settings/password/page.d.ts.map +1 -1
  410. package/dist/routes/dashboard/settings/password/page.js +10 -12
  411. package/dist/routes/devtools/config/page.js +1 -1
  412. package/dist/routes/devtools/layout.cc.d.ts.map +1 -1
  413. package/dist/routes/devtools/layout.cc.js +5 -1
  414. package/dist/routes/devtools/page.js +1 -1
  415. package/dist/routes/devtools/scheduled-actions/page.js +1 -1
  416. package/dist/routes/devtools/tests/[[...path]]/page.js +1 -1
  417. package/dist/routes/manifest.json +10 -0
  418. package/dist/routes/robots.d.ts +10 -0
  419. package/dist/routes/robots.d.ts.map +1 -0
  420. package/dist/routes/robots.js +10 -0
  421. package/dist/routes/superadmin/layout.cc.d.ts.map +1 -1
  422. package/dist/routes/superadmin/layout.cc.js +5 -1
  423. package/dist/routes/variants.json +12 -2
  424. package/dist/templates/ci-workflows/github/cypress-regression.yml +1 -1
  425. package/dist/templates/ci-workflows/github/cypress-smoke.yml +2 -1
  426. package/dist/templates/next.config.mjs +2 -29
  427. package/dist/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  428. package/dist/templates/projects/blog/api/authors/route.ts +3 -0
  429. package/dist/templates/projects/blog/api/posts/public/route.ts +3 -0
  430. package/dist/templates/projects/starter/README.md +2 -0
  431. package/dist/templates/projects/starter/docs/public/01-overview/01-introduction.md +2 -0
  432. package/dist/templates/projects/starter/templates/dashboard/analytics/layout.tsx +14 -0
  433. package/dist/templates/proxy.ts +27 -9
  434. package/dist/templates/public/favicon.ico +0 -0
  435. package/dist/templates/public/uploads/README.md +5 -94
  436. package/migrations/029_sample_accounts_outside_development.sql +55 -0
  437. package/migrations/090_sample_data.sql +10 -0
  438. package/package.json +2 -2
  439. package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +3 -0
  440. package/scripts/build/registry/__tests__/billing-registry.test.mjs +50 -1
  441. package/scripts/build/registry/__tests__/block-registry.test.mjs +3 -0
  442. package/scripts/build/registry/__tests__/icons-discovery.test.mjs +3 -0
  443. package/scripts/build/registry/__tests__/quiet-console.mjs +17 -0
  444. package/scripts/build/registry/__tests__/safe-fs.test.mjs +3 -0
  445. package/scripts/build/registry/__tests__/team-roles.test.mjs +3 -0
  446. package/scripts/build/registry/discovery/permissions.test.mjs +3 -0
  447. package/scripts/build/registry/discovery/plugin-capabilities.mjs +2 -2
  448. package/scripts/build/registry/generators/billing-registry.mjs +7 -3
  449. package/scripts/build/registry/host/README.md +25 -1
  450. package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +32 -0
  451. package/scripts/build/registry/host/__tests__/host-entities.test.mjs +32 -1
  452. package/scripts/build/registry/host/__tests__/host-plan.test.mjs +12 -2
  453. package/scripts/build/registry/host/__tests__/host-proxy-areas.test.mjs +72 -1
  454. package/scripts/build/registry/host/entity-routes.mjs +9 -3
  455. package/scripts/build/registry/host/proxy-areas.mjs +65 -2
  456. package/scripts/build/registry/host/static-imports.mjs +4 -0
  457. package/scripts/build/routes-manifest.mjs +13 -1
  458. package/scripts/db/run-migrations.mjs +30 -10
  459. package/scripts/db/sample-data.mjs +44 -0
  460. package/scripts/db/ssl-config.mjs +12 -1
  461. package/scripts/db/verify-theme-migrations.mjs +6 -0
  462. package/templates/ci-workflows/github/cypress-regression.yml +1 -1
  463. package/templates/ci-workflows/github/cypress-smoke.yml +2 -1
  464. package/templates/next.config.mjs +2 -29
  465. package/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  466. package/templates/projects/blog/api/authors/route.ts +3 -0
  467. package/templates/projects/blog/api/posts/public/route.ts +3 -0
  468. package/templates/projects/starter/README.md +2 -0
  469. package/templates/projects/starter/docs/public/01-overview/01-introduction.md +2 -0
  470. package/templates/projects/starter/templates/dashboard/analytics/layout.tsx +14 -0
  471. package/templates/proxy.ts +27 -9
  472. package/templates/public/favicon.ico +0 -0
  473. package/templates/public/uploads/README.md +5 -94
  474. package/tests/jest/__mocks__/@nextsparkjs/registries/api-presets-registry.ts +2 -0
  475. package/tests/jest/__mocks__/@nextsparkjs/registries/mcp-registry.ts +2 -0
  476. package/dist/templates/projects/starter/public/brand/.gitkeep +0 -0
  477. package/dist/templates/public/uploads/.gitignore +0 -6
  478. package/dist/templates/public/uploads/temp/.gitkeep +0 -1
  479. package/templates/projects/starter/public/brand/.gitkeep +0 -0
  480. package/templates/public/uploads/.gitignore +0 -6
  481. package/templates/public/uploads/temp/.gitkeep +0 -1
@@ -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;AA2IvE,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,8 +5,9 @@ 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
- import { createMcpEngine } from "@nextsparkjs/core/lib/mcp";
10
+ import { createMcpEngine, RATE_LIMIT_MESSAGE } from "@nextsparkjs/core/lib/mcp";
10
11
  import { ENTITY_REGISTRY, ENTITY_METADATA } from "@nextsparkjs/registries/entity-registry";
11
12
  import { MCP_OVERRIDES } from "@nextsparkjs/registries/mcp-registry";
12
13
  import { API_PRESETS_REGISTRY } from "@nextsparkjs/registries/api-presets-registry";
@@ -55,6 +56,12 @@ async function handleMcpPost(request) {
55
56
  return jsonRpcError(403, -32e3, "Origin not allowed");
56
57
  }
57
58
  const authResult = await authenticateRequest(request, { allowAnyScope: true });
59
+ if (authResult.rateLimitResponse) {
60
+ const limited = jsonRpcError(429, -32e3, RATE_LIMIT_MESSAGE);
61
+ const retryAfter = authResult.rateLimitResponse.headers.get("Retry-After");
62
+ if (retryAfter) limited.headers.set("Retry-After", retryAfter);
63
+ return limited;
64
+ }
58
65
  if (!authResult.success || authResult.type !== "api-key" || !authResult.user) {
59
66
  return jsonRpcError(401, -32001, API_KEY_HELP);
60
67
  }
@@ -106,3 +113,4 @@ export async function DELETE() {
106
113
  { status: 405, headers: { Allow: "POST" } }
107
114
  );
108
115
  }
116
+ 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"}
@@ -1,6 +1,7 @@
1
1
  import { NextResponse } from "next/server";
2
2
  import { auth } from "@nextsparkjs/core/lib/auth";
3
3
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
4
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
4
5
  import { UserService } from "@nextsparkjs/core/lib/services";
5
6
  export const DELETE = withRateLimitTier(async (req) => {
6
7
  try {
@@ -42,3 +43,4 @@ export const DELETE = withRateLimitTier(async (req) => {
42
43
  );
43
44
  }
44
45
  }, "strict");
46
+ export const OPTIONS = corsPreflight;
@@ -5,6 +5,7 @@
5
5
  * for the entity system permission integration.
6
6
  */
7
7
  import { NextRequest, NextResponse } from 'next/server';
8
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
8
9
  /**
9
10
  * GET /api/user/plan-flags
10
11
  * Fetch user plan and flags data
@@ -20,4 +21,5 @@ export declare const PATCH: (request: NextRequest) => Promise<NextResponse>;
20
21
  * Bulk update user plans and flags (admin only)
21
22
  */
22
23
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
24
+ export declare const OPTIONS: typeof corsPreflight;
23
25
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/plan-flags/route.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkBvD;;;GAGG;AACH,eAAO,MAAM,GAAG,iDAwDN,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK,iDAgFP,CAAC;AAEZ;;;GAGG;AACH,eAAO,MAAM,IAAI,iDA4FL,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/plan-flags/route.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAMvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAavE;;;GAGG;AACH,eAAO,MAAM,GAAG,iDAwDN,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK,iDAgFP,CAAC;AAEZ;;;GAGG;AACH,eAAO,MAAM,IAAI,iDA4FL,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import { getTypedSession } from "@nextsparkjs/core/lib/auth";
3
3
  import { getUserPlanAndFlags, updateUserPlan, updateUserFlags } from "@nextsparkjs/core/lib/user-data";
4
4
  import * as z from "zod";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  const planFlagsQuerySchema = z.object({
7
8
  userId: z.string().optional()
8
9
  });
@@ -199,3 +200,4 @@ export const POST = withRateLimitTier(async (request) => {
199
200
  );
200
201
  }
201
202
  }, "strict");
203
+ export const OPTIONS = corsPreflight;
@@ -1,4 +1,6 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
2
3
  export declare const GET: (request: NextRequest) => Promise<NextResponse>;
3
4
  export declare const PATCH: (request: NextRequest) => Promise<NextResponse>;
5
+ export declare const OPTIONS: typeof corsPreflight;
4
6
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/profile/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQvD,eAAO,MAAM,GAAG,iDAgDN,CAAC;AAEX,eAAO,MAAM,KAAK,iDAsEP,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/user/profile/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAMvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDAgDN,CAAC;AAEX,eAAO,MAAM,KAAK,iDAsEP,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -1,15 +1,15 @@
1
1
  import { NextResponse } from "next/server";
2
2
  import { auth } from "@nextsparkjs/core/lib/auth";
3
- import { headers } from "next/headers";
4
3
  import { queryOneWithRLS, mutateWithRLS, queryOne } from "@nextsparkjs/core/lib/db";
5
4
  import { profileSchema } from "@nextsparkjs/core/lib/validation";
6
5
  import { MetaService, MetaValueTooLargeError } from "@nextsparkjs/core/lib/services/meta.service";
7
6
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
7
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
8
8
  export const GET = withRateLimitTier(async (request) => {
9
9
  const url = new URL(request.url);
10
10
  const includeMeta = url.searchParams.get("includeMeta") === "true";
11
11
  try {
12
- const sessionHeaders = await headers();
12
+ const sessionHeaders = request.headers;
13
13
  const session = await auth.api.getSession({ headers: sessionHeaders });
14
14
  if (!(session == null ? void 0 : session.user)) {
15
15
  return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
@@ -43,7 +43,7 @@ export const GET = withRateLimitTier(async (request) => {
43
43
  }, "read");
44
44
  export const PATCH = withRateLimitTier(async (request) => {
45
45
  try {
46
- const sessionHeaders = await headers();
46
+ const sessionHeaders = request.headers;
47
47
  const session = await auth.api.getSession({ headers: sessionHeaders });
48
48
  if (!(session == null ? void 0 : session.user)) {
49
49
  return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
@@ -94,3 +94,4 @@ export const PATCH = withRateLimitTier(async (request) => {
94
94
  return NextResponse.json({ error: "Internal server error" }, { status: 500 });
95
95
  }
96
96
  }, "write");
97
+ export const OPTIONS = corsPreflight;
@@ -4,6 +4,7 @@
4
4
  * DELETE /api/v1/[entity]/[id]/child/[childType]/[childId]
5
5
  */
6
6
  import { NextRequest, NextResponse } from 'next/server';
7
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
7
8
  interface RouteParams {
8
9
  entity: string;
9
10
  id: string;
@@ -16,5 +17,6 @@ export declare const PUT: (request: NextRequest, args_0: {
16
17
  export declare const DELETE: (request: NextRequest, args_0: {
17
18
  params: Promise<RouteParams>;
18
19
  }) => Promise<NextResponse>;
20
+ export declare const OPTIONS: typeof corsPreflight;
19
21
  export {};
20
22
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC,WAAW,CAAC;2BAyHjC,CAAA;AAEX,eAAO,MAAM,MAAM;YAEK,OAAO,CAAC,WAAW,CAAC;2BAwDjC,CAAA"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAOvE,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC,WAAW,CAAC;2BAyHjC,CAAA;AAEX,eAAO,MAAM,MAAM;YAEK,OAAO,CAAC,WAAW,CAAC;2BAwDjC,CAAA;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import { queryWithRLS } from "@nextsparkjs/core/lib/db";
3
3
  import { resolveEntityFromUrl } from "@nextsparkjs/core/lib/api/entity/resolver";
4
4
  import { getChildEntities, getEntity, setEntityRegistry } from "@nextsparkjs/core/lib/entities/queries";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  import { ENTITY_REGISTRY, ENTITY_METADATA } from "@nextsparkjs/registries/entity-registry";
7
8
  setEntityRegistry(ENTITY_REGISTRY, ENTITY_METADATA);
8
9
  export const PUT = withRateLimitTier(async (request, { params }) => {
@@ -142,3 +143,4 @@ export const DELETE = withRateLimitTier(async (request, { params }) => {
142
143
  );
143
144
  }
144
145
  }, "write");
146
+ export const OPTIONS = corsPreflight;
@@ -4,6 +4,7 @@
4
4
  * POST /api/v1/[entity]/[id]/child/[childType]
5
5
  */
6
6
  import { NextRequest, NextResponse } from 'next/server';
7
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
7
8
  interface RouteParams {
8
9
  entity: string;
9
10
  id: string;
@@ -15,5 +16,6 @@ export declare const GET: (request: NextRequest, args_0: {
15
16
  export declare const POST: (request: NextRequest, args_0: {
16
17
  params: Promise<RouteParams>;
17
18
  }) => Promise<NextResponse>;
19
+ export declare const OPTIONS: typeof corsPreflight;
18
20
  export {};
19
21
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/routes/api/v1/[entity]/[id]/child/[childType]/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAYvD,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC,WAAW,CAAC;2BA6DlC,CAAA;AAEV,eAAO,MAAM,IAAI;YAEO,OAAO,CAAC,WAAW,CAAC;2BA6OjC,CAAA"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/routes/api/v1/[entity]/[id]/child/[childType]/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAQvE,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC,WAAW,CAAC;2BA6DlC,CAAA;AAEV,eAAO,MAAM,IAAI;YAEO,OAAO,CAAC,WAAW,CAAC;2BA6OjC,CAAA;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import { queryWithRLS } from "@nextsparkjs/core/lib/db";
3
3
  import { resolveEntityFromUrl } from "@nextsparkjs/core/lib/api/entity/resolver";
4
4
  import { getChildEntities, getEntity, setEntityRegistry } from "@nextsparkjs/core/lib/entities/queries";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  import { ENTITY_REGISTRY, ENTITY_METADATA } from "@nextsparkjs/registries/entity-registry";
7
8
  setEntityRegistry(ENTITY_REGISTRY, ENTITY_METADATA);
8
9
  export const GET = withRateLimitTier(async (request, { params }) => {
@@ -247,3 +248,4 @@ export const POST = withRateLimitTier(async (request, { params }) => {
247
248
  );
248
249
  }
249
250
  }, "write");
251
+ export const OPTIONS = corsPreflight;
@@ -7,6 +7,7 @@
7
7
  * P1-4: Cancel subscription directo
8
8
  */
9
9
  import { NextRequest, NextResponse } from 'next/server';
10
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
10
11
  /**
11
12
  * POST /api/v1/billing/cancel
12
13
  * Cancel the team's active subscription
@@ -16,4 +17,5 @@ import { NextRequest, NextResponse } from 'next/server';
16
17
  * - reason: string (optional) - Reason for cancellation (stored in metadata)
17
18
  */
18
19
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
20
+ export declare const OPTIONS: typeof corsPreflight;
19
21
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/billing/cancel/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAavD;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,iDAyHL,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/billing/cancel/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAOvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAOvE;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,iDAyHL,CAAC;AAwDb,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -5,6 +5,7 @@ import { SubscriptionService, MembershipService } from "@nextsparkjs/core/lib/se
5
5
  import { getBillingGateway } from "@nextsparkjs/core/lib/billing/gateways/factory";
6
6
  import { queryWithRLS } from "@nextsparkjs/core/lib/db";
7
7
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
8
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
8
9
  const cancelSchema = z.object({
9
10
  immediate: z.boolean().optional().default(false),
10
11
  reason: z.string().optional()
@@ -151,3 +152,4 @@ async function handleReactivation(teamId) {
151
152
  );
152
153
  }
153
154
  }
155
+ export const OPTIONS = corsPreflight;
@@ -7,6 +7,7 @@
7
7
  * P1-3: Plan Change con Proration
8
8
  */
9
9
  import { NextRequest, NextResponse } from 'next/server';
10
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
10
11
  /**
11
12
  * POST /api/v1/billing/change-plan
12
13
  * Change the team's subscription plan (upgrade or downgrade)
@@ -16,4 +17,5 @@ import { NextRequest, NextResponse } from 'next/server';
16
17
  * - billingInterval: 'monthly' | 'yearly' (default: monthly)
17
18
  */
18
19
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
20
+ export declare const OPTIONS: typeof corsPreflight;
19
21
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/billing/change-plan/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,iDAsEL,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/billing/change-plan/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAOvE;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,iDAsEL,CAAC;AAEb,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import * as z from "zod";
3
3
  import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/core/lib/api/auth/dual-auth";
4
4
  import { SubscriptionService, MembershipService } from "@nextsparkjs/core/lib/services";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  const changePlanSchema = z.object({
7
8
  planSlug: z.string().min(1, "Plan slug is required"),
8
9
  billingInterval: z.enum(["monthly", "yearly"]).default("monthly")
@@ -61,3 +62,4 @@ export const POST = withRateLimitTier(async (request) => {
61
62
  }
62
63
  });
63
64
  }, "strict");
65
+ export const OPTIONS = corsPreflight;
@@ -9,5 +9,7 @@
9
9
  * FIX1: This endpoint was missing, causing useMembership.canDo() to fail
10
10
  */
11
11
  import { NextRequest, NextResponse } from 'next/server';
12
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
12
13
  export declare const POST: (request: NextRequest) => 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/v1/billing/check-action/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD,eAAO,MAAM,IAAI,iDA8DP,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/billing/check-action/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAOvE,eAAO,MAAM,IAAI,iDA8DP,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/cor
3
3
  import { SubscriptionService } from "@nextsparkjs/core/lib/services";
4
4
  import * as z from "zod";
5
5
  import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
6
+ import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
6
7
  const checkActionSchema = z.object({
7
8
  action: z.string().min(1, "Action is required"),
8
9
  teamId: z.string().uuid().optional()
@@ -53,3 +54,4 @@ export const POST = withRateLimitTier(async (request) => {
53
54
  data: result
54
55
  });
55
56
  }, "read");
57
+ export const OPTIONS = corsPreflight;
@@ -7,5 +7,7 @@
7
7
  * Security: Requires team owner/admin permission (team.billing.manage)
8
8
  */
9
9
  import { NextRequest, NextResponse } from 'next/server';
10
+ import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
10
11
  export declare const POST: (request: NextRequest) => Promise<NextResponse>;
12
+ export declare const OPTIONS: typeof corsPreflight;
11
13
  //# sourceMappingURL=route.d.ts.map