@nextsparkjs/core 0.1.0-beta.191 → 0.1.0-beta.192

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 (2978) hide show
  1. package/README.md +1 -1
  2. package/dist/components/app/layouts/CurrentYear.d.ts +10 -0
  3. package/dist/components/app/layouts/CurrentYear.d.ts.map +1 -0
  4. package/dist/components/app/layouts/CurrentYear.js +8 -0
  5. package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
  6. package/dist/components/app/layouts/PublicFooter.js +3 -3
  7. package/dist/components/app/layouts/PublicNavbar.js +1 -1
  8. package/dist/components/auth/DevKeyring.js +1 -1
  9. package/dist/components/auth/forms/LoginForm.d.ts.map +1 -1
  10. package/dist/components/auth/forms/LoginForm.js +47 -12
  11. package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
  12. package/dist/components/auth/forms/SignupForm.js +57 -5
  13. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  14. package/dist/components/dashboard/block-editor/block-picker.js +2 -1
  15. package/dist/components/dashboard/block-editor/pattern-card.js +2 -2
  16. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -2
  17. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts +5 -0
  18. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -0
  19. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +37 -0
  20. package/dist/components/dashboard/layouts/Sidebar.js +1 -1
  21. package/dist/components/dashboard/layouts/TopNavbar.js +1 -1
  22. package/dist/components/dashboard/mobile/MobileBottomNav.js +1 -1
  23. package/dist/components/dashboard/mobile/MobileMoreSheet.js +1 -1
  24. package/dist/components/dashboard/mobile/MobileTopBar.js +5 -5
  25. package/dist/components/dashboard/mobile/QuickCreateSheet.js +5 -5
  26. package/dist/components/dashboard/navigation/DynamicNavigation.d.ts.map +1 -1
  27. package/dist/components/dashboard/navigation/DynamicNavigation.js +6 -9
  28. package/dist/components/devtools/BlockDetailViewer.js +2 -2
  29. package/dist/components/devtools/BlocksViewer.js +1 -1
  30. package/dist/components/docs/docs-sidebar.d.ts.map +1 -1
  31. package/dist/components/docs/docs-sidebar.js +2 -5
  32. package/dist/components/entities/EntityChildManager.js +8 -8
  33. package/dist/components/entities/EntityDetail.js +8 -8
  34. package/dist/components/entities/ErrorBoundary.js +2 -2
  35. package/dist/components/entities/wrappers/EntityDetailWrapper.js +22 -22
  36. package/dist/components/entities/wrappers/EntityFormWrapper.d.ts +1 -1
  37. package/dist/components/entities/wrappers/EntityFormWrapper.js +3 -3
  38. package/dist/components/entities/wrappers/EntityListWrapper.js +2 -2
  39. package/dist/components/settings/layouts/SettingsSidebar.js +2 -2
  40. package/dist/components/teams/InviteMemberDialog.js +1 -1
  41. package/dist/components/teams/TeamMembersList.js +1 -1
  42. package/dist/components/ui/accordion.js +1 -1
  43. package/dist/components/ui/avatar.js +1 -1
  44. package/dist/components/ui/badge.js +1 -1
  45. package/dist/components/ui/button.js +1 -1
  46. package/dist/components/ui/calendar.d.ts.map +1 -1
  47. package/dist/components/ui/calendar.js +22 -30
  48. package/dist/components/ui/card.js +1 -1
  49. package/dist/components/ui/checkbox.js +1 -1
  50. package/dist/components/ui/command.d.ts +7 -7
  51. package/dist/components/ui/input.js +1 -1
  52. package/dist/components/ui/label.js +1 -1
  53. package/dist/components/ui/progress.js +1 -1
  54. package/dist/components/ui/relation-display.js +1 -1
  55. package/dist/components/ui/separator.js +1 -1
  56. package/dist/components/ui/sheet.d.ts +1 -1
  57. package/dist/components/ui/simple-relation-select.js +1 -1
  58. package/dist/components/ui/skeleton.js +1 -1
  59. package/dist/components/ui/slider.js +1 -1
  60. package/dist/components/ui/switch.js +1 -1
  61. package/dist/components/ui/tabs.js +1 -1
  62. package/dist/components/ui/textarea.js +1 -1
  63. package/dist/contexts/TeamContext.js +1 -1
  64. package/dist/emails/otp-verification.d.ts +1 -1
  65. package/dist/emails/reset-password.d.ts +1 -1
  66. package/dist/emails/team-invitation.d.ts +1 -1
  67. package/dist/emails/verify-email.d.ts +2 -2
  68. package/dist/hooks/index.d.ts +1 -0
  69. package/dist/hooks/index.d.ts.map +1 -1
  70. package/dist/hooks/index.js +1 -0
  71. package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -1
  72. package/dist/hooks/useAccountPreferencesSync.js +1 -1
  73. package/dist/hooks/useAuth.d.ts.map +1 -1
  74. package/dist/hooks/useAuth.js +1 -1
  75. package/dist/hooks/useAuthReadiness.d.ts +15 -0
  76. package/dist/hooks/useAuthReadiness.d.ts.map +1 -0
  77. package/dist/hooks/useAuthReadiness.js +62 -0
  78. package/dist/hooks/useContentTranslation.d.ts +7 -7
  79. package/dist/hooks/useContextAwareTranslations.js +10 -10
  80. package/dist/hooks/useEnabledEntities.js +2 -2
  81. package/dist/hooks/useEnsureUserMetadata.js +1 -1
  82. package/dist/hooks/useEntityConfig.js +4 -4
  83. package/dist/hooks/useEntityTranslations.d.ts.map +1 -1
  84. package/dist/hooks/useEntityTranslations.js +6 -2
  85. package/dist/hooks/useLocale.d.ts +3 -1
  86. package/dist/hooks/useLocale.d.ts.map +1 -1
  87. package/dist/hooks/useLocale.js +1 -1
  88. package/dist/hooks/useSubscription.d.ts +1 -1
  89. package/dist/hooks/useSubscription.d.ts.map +1 -1
  90. package/dist/hooks/useTeamsConfig.js +1 -1
  91. package/dist/hooks/useTranslationPreload.js +5 -5
  92. package/dist/i18n.d.ts +1 -14
  93. package/dist/i18n.d.ts.map +1 -1
  94. package/dist/i18n.js +13 -54
  95. package/dist/lib/api/auth/devtools-auth.d.ts +2 -2
  96. package/dist/lib/api/auth/devtools-auth.d.ts.map +1 -1
  97. package/dist/lib/api/auth/devtools-auth.js +3 -3
  98. package/dist/lib/api/entities.js +5 -5
  99. package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
  100. package/dist/lib/api/entity/audit-log.js +12 -3
  101. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  102. package/dist/lib/api/entity/generic-handler.js +24 -38
  103. package/dist/lib/api/entity/resolver.d.ts +1 -3
  104. package/dist/lib/api/entity/resolver.d.ts.map +1 -1
  105. package/dist/lib/api/entity/resolver.js +0 -25
  106. package/dist/lib/api/helpers.d.ts +2 -2
  107. package/dist/lib/api/helpers.d.ts.map +1 -1
  108. package/dist/lib/api/helpers.js +1 -4
  109. package/dist/lib/api/keys.js +1 -1
  110. package/dist/lib/api/rate-limit.d.ts.map +1 -1
  111. package/dist/lib/api/rate-limit.js +2 -0
  112. package/dist/lib/auth/readiness.d.ts +92 -0
  113. package/dist/lib/auth/readiness.d.ts.map +1 -0
  114. package/dist/lib/auth/readiness.js +192 -0
  115. package/dist/lib/auth/request-session.d.ts +15 -0
  116. package/dist/lib/auth/request-session.d.ts.map +1 -0
  117. package/dist/lib/auth/request-session.js +22 -0
  118. package/dist/lib/auth/runtime-readiness.d.ts +49 -0
  119. package/dist/lib/auth/runtime-readiness.d.ts.map +1 -0
  120. package/dist/lib/auth/runtime-readiness.js +183 -0
  121. package/dist/lib/auth-client.d.ts +2 -2
  122. package/dist/lib/auth.d.ts.map +1 -1
  123. package/dist/lib/auth.js +16 -12
  124. package/dist/lib/billing/gateways/factory.d.ts +1 -1
  125. package/dist/lib/billing/schema.d.ts +5 -5
  126. package/dist/lib/config/app.config.d.ts.map +1 -1
  127. package/dist/lib/config/app.config.js +3 -52
  128. package/dist/lib/config/config-client.d.ts +554 -0
  129. package/dist/lib/config/config-client.d.ts.map +1 -0
  130. package/dist/lib/config/config-client.js +68 -0
  131. package/dist/lib/config/config-sync.d.ts.map +1 -1
  132. package/dist/lib/config/config-sync.js +4 -28
  133. package/dist/lib/config/i18n-config-client.d.ts +9 -0
  134. package/dist/lib/config/i18n-config-client.d.ts.map +1 -0
  135. package/dist/lib/config/i18n-config-client.js +7 -0
  136. package/dist/lib/config/i18n.defaults.d.ts +7 -0
  137. package/dist/lib/config/i18n.defaults.d.ts.map +1 -0
  138. package/dist/lib/config/i18n.defaults.js +54 -0
  139. package/dist/lib/config/index.d.ts +2 -2
  140. package/dist/lib/config/index.d.ts.map +1 -1
  141. package/dist/lib/config/index.js +3 -2
  142. package/dist/lib/config/nextspark-types.d.ts +49 -20
  143. package/dist/lib/config/nextspark-types.d.ts.map +1 -1
  144. package/dist/lib/config/nextspark-types.js +174 -1
  145. package/dist/lib/config/public-config-client.d.ts +22 -0
  146. package/dist/lib/config/public-config-client.d.ts.map +1 -0
  147. package/dist/lib/config/public-config-client.js +25 -0
  148. package/dist/lib/config/types.d.ts +1 -1
  149. package/dist/lib/db.d.ts +1 -0
  150. package/dist/lib/db.d.ts.map +1 -1
  151. package/dist/lib/db.js +19 -9
  152. package/dist/lib/email/templates.d.ts +1 -1
  153. package/dist/lib/entities/client-config.d.ts +10 -0
  154. package/dist/lib/entities/client-config.d.ts.map +1 -0
  155. package/dist/lib/entities/client-config.js +44 -0
  156. package/dist/lib/entities/client-entity-meta.d.ts +41 -0
  157. package/dist/lib/entities/client-entity-meta.d.ts.map +1 -0
  158. package/dist/lib/entities/client-entity-meta.js +30 -0
  159. package/dist/lib/entities/portable/media-ref.d.ts +21 -0
  160. package/dist/lib/entities/portable/media-ref.d.ts.map +1 -0
  161. package/dist/lib/entities/portable/media-ref.js +13 -0
  162. package/dist/lib/entities/portable/response-shape.d.ts +57 -0
  163. package/dist/lib/entities/portable/response-shape.d.ts.map +1 -0
  164. package/dist/lib/entities/portable/response-shape.js +50 -0
  165. package/dist/lib/entities/portable/schema-generator.d.ts +48 -0
  166. package/dist/lib/entities/portable/schema-generator.d.ts.map +1 -0
  167. package/dist/lib/entities/portable/schema-generator.js +758 -0
  168. package/dist/lib/entities/portable/system-fields.d.ts +10 -0
  169. package/dist/lib/entities/portable/system-fields.d.ts.map +1 -0
  170. package/dist/lib/entities/portable/system-fields.js +4 -0
  171. package/dist/lib/entities/portable/types.d.ts +81 -0
  172. package/dist/lib/entities/portable/types.d.ts.map +1 -0
  173. package/dist/lib/entities/queries.d.ts +2 -2
  174. package/dist/lib/entities/queries.d.ts.map +1 -1
  175. package/dist/lib/entities/queries.js +2 -2
  176. package/dist/lib/entities/registry.client.js +2 -2
  177. package/dist/lib/entities/registry.d.ts +1 -1
  178. package/dist/lib/entities/registry.js +2 -2
  179. package/dist/lib/entities/schema-generator.d.ts +6 -19
  180. package/dist/lib/entities/schema-generator.d.ts.map +1 -1
  181. package/dist/lib/entities/schema-generator.js +1 -764
  182. package/dist/lib/entities/system-fields.d.ts +3 -5
  183. package/dist/lib/entities/system-fields.d.ts.map +1 -1
  184. package/dist/lib/entities/system-fields.js +1 -1
  185. package/dist/lib/entities/types.d.ts +1 -1
  186. package/dist/lib/entities/types.d.ts.map +1 -1
  187. package/dist/lib/i18n/client-messages.d.ts +49 -0
  188. package/dist/lib/i18n/client-messages.d.ts.map +1 -0
  189. package/dist/lib/i18n/client-messages.js +80 -0
  190. package/dist/lib/locale-client.d.ts +1 -2
  191. package/dist/lib/locale-client.d.ts.map +1 -1
  192. package/dist/lib/locale-client.js +1 -1
  193. package/dist/lib/media/schemas.d.ts +1 -1
  194. package/dist/lib/middleware/index.d.ts +6 -19
  195. package/dist/lib/middleware/index.d.ts.map +1 -1
  196. package/dist/lib/middleware/index.js +11 -14
  197. package/dist/lib/plugins/env-loader.d.ts +1 -1
  198. package/dist/lib/plugins/env-loader.js +1 -1
  199. package/dist/lib/plugins/nav-items.d.ts +3 -0
  200. package/dist/lib/plugins/nav-items.d.ts.map +1 -0
  201. package/dist/lib/plugins/nav-items.js +16 -0
  202. package/dist/lib/scheduled-actions/initializer.d.ts +7 -7
  203. package/dist/lib/scheduled-actions/initializer.d.ts.map +1 -1
  204. package/dist/lib/scheduled-actions/initializer.js +6 -12
  205. package/dist/lib/selectors/auth-sel.d.ts +8 -0
  206. package/dist/lib/selectors/auth-sel.d.ts.map +1 -0
  207. package/dist/lib/selectors/auth-sel.js +6 -0
  208. package/dist/lib/selectors/core-selectors.d.ts +12 -0
  209. package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
  210. package/dist/lib/selectors/domains/auth.selectors.d.ts +12 -0
  211. package/dist/lib/selectors/domains/auth.selectors.d.ts.map +1 -1
  212. package/dist/lib/selectors/domains/auth.selectors.js +18 -3
  213. package/dist/lib/selectors/selectors.d.ts +24 -0
  214. package/dist/lib/selectors/selectors.d.ts.map +1 -1
  215. package/dist/lib/services/index.d.ts +1 -5
  216. package/dist/lib/services/index.d.ts.map +1 -1
  217. package/dist/lib/services/index.js +1 -14
  218. package/dist/lib/services/plugin.service.d.ts +20 -3
  219. package/dist/lib/services/plugin.service.d.ts.map +1 -1
  220. package/dist/lib/services/plugin.service.js +31 -5
  221. package/dist/lib/services/theme.service.d.ts +8 -87
  222. package/dist/lib/services/theme.service.d.ts.map +1 -1
  223. package/dist/lib/services/theme.service.js +16 -128
  224. package/dist/lib/teams/dashboard-team.d.ts +1 -3
  225. package/dist/lib/teams/dashboard-team.d.ts.map +1 -1
  226. package/dist/lib/teams/dashboard-team.js +2 -4
  227. package/dist/lib/teams/schema.d.ts +1 -1
  228. package/dist/lib/theme/ThemeProvider.d.ts +2 -5
  229. package/dist/lib/theme/ThemeProvider.d.ts.map +1 -1
  230. package/dist/lib/theme/ThemeProvider.js +21 -66
  231. package/dist/lib/theme/forced-theme.d.ts +1 -1
  232. package/dist/lib/theme/get-default-theme-mode.d.ts.map +1 -1
  233. package/dist/lib/theme/get-default-theme-mode.js +2 -3
  234. package/dist/lib/theme/import-resolver.js +2 -2
  235. package/dist/lib/theme/override-resolver.js +9 -9
  236. package/dist/lib/theme/theme-styles.d.ts +12 -0
  237. package/dist/lib/theme/theme-styles.d.ts.map +1 -0
  238. package/dist/lib/theme/theme-styles.js +58 -0
  239. package/dist/lib/theme/types.d.ts +0 -2
  240. package/dist/lib/theme/types.d.ts.map +1 -1
  241. package/dist/lib/translations/i18n-integration.d.ts.map +1 -1
  242. package/dist/lib/translations/i18n-integration.js +11 -11
  243. package/dist/lib/translations/registry.d.ts +1 -1
  244. package/dist/lib/translations/registry.d.ts.map +1 -1
  245. package/dist/lib/translations/registry.js +10 -10
  246. package/dist/lib/utils/environment.server.d.ts +0 -1
  247. package/dist/lib/utils/environment.server.d.ts.map +1 -1
  248. package/dist/lib/utils/environment.server.js +5 -1
  249. package/dist/lib/utils/uuid.d.ts +2 -0
  250. package/dist/lib/utils/uuid.d.ts.map +1 -0
  251. package/dist/lib/utils/uuid.js +7 -0
  252. package/dist/lib/validation/invoices.d.ts +2 -2
  253. package/dist/messages/de/auth.json +11 -1
  254. package/dist/messages/de/index.d.ts +10 -0
  255. package/dist/messages/de/index.d.ts.map +1 -1
  256. package/dist/messages/en/auth.json +11 -1
  257. package/dist/messages/en/devtools.json +1 -1
  258. package/dist/messages/en/index.d.ts +10 -0
  259. package/dist/messages/en/index.d.ts.map +1 -1
  260. package/dist/messages/es/auth.json +11 -1
  261. package/dist/messages/es/index.d.ts +10 -0
  262. package/dist/messages/es/index.d.ts.map +1 -1
  263. package/dist/messages/fr/auth.json +11 -1
  264. package/dist/messages/fr/index.d.ts +10 -0
  265. package/dist/messages/fr/index.d.ts.map +1 -1
  266. package/dist/messages/it/auth.json +11 -1
  267. package/dist/messages/it/index.d.ts +10 -0
  268. package/dist/messages/it/index.d.ts.map +1 -1
  269. package/dist/messages/pt/auth.json +11 -1
  270. package/dist/messages/pt/index.d.ts +10 -0
  271. package/dist/messages/pt/index.d.ts.map +1 -1
  272. package/dist/migrations/028_api_audit_log_insert_policy.sql +18 -0
  273. package/dist/migrations/090_sample_data.sql +2 -2
  274. package/dist/migrations/README.md +7 -7
  275. package/dist/nextspark-registries.d.ts +83 -44
  276. package/dist/providers/PluginProvider.js +2 -2
  277. package/dist/providers/static-intl-provider.d.ts +6 -0
  278. package/dist/providers/static-intl-provider.d.ts.map +1 -1
  279. package/dist/providers/static-intl-provider.js +7 -2
  280. package/dist/providers/theme-provider.d.ts.map +1 -1
  281. package/dist/providers/theme-provider.js +7 -1
  282. package/dist/routes/(auth)/accept-invite/[token]/page.d.ts +3 -0
  283. package/dist/routes/(auth)/accept-invite/[token]/page.d.ts.map +1 -0
  284. package/dist/routes/(auth)/accept-invite/[token]/page.js +240 -0
  285. package/dist/routes/(auth)/auth-error/page.d.ts +5 -0
  286. package/dist/routes/(auth)/auth-error/page.d.ts.map +1 -0
  287. package/dist/routes/(auth)/auth-error/page.js +12 -0
  288. package/dist/routes/(auth)/forgot-password/page.d.ts +3 -0
  289. package/dist/routes/(auth)/forgot-password/page.d.ts.map +1 -0
  290. package/dist/routes/(auth)/forgot-password/page.js +203 -0
  291. package/dist/routes/(auth)/layout.cc.d.ts +7 -0
  292. package/dist/routes/(auth)/layout.cc.d.ts.map +1 -0
  293. package/dist/routes/(auth)/layout.cc.js +5 -0
  294. package/dist/routes/(auth)/layout.d.ts +7 -0
  295. package/dist/routes/(auth)/layout.d.ts.map +1 -0
  296. package/dist/routes/(auth)/layout.js +4 -0
  297. package/dist/routes/(auth)/login/page.cc.d.ts +9 -0
  298. package/dist/routes/(auth)/login/page.cc.d.ts.map +1 -0
  299. package/dist/routes/(auth)/login/page.cc.js +1 -0
  300. package/dist/routes/(auth)/login/page.d.ts +6 -0
  301. package/dist/routes/(auth)/login/page.d.ts.map +1 -0
  302. package/dist/routes/(auth)/login/page.js +12 -0
  303. package/dist/routes/(auth)/reset-password/page.d.ts +3 -0
  304. package/dist/routes/(auth)/reset-password/page.d.ts.map +1 -0
  305. package/dist/routes/(auth)/reset-password/page.js +153 -0
  306. package/dist/routes/(auth)/signup/page.cc.d.ts +9 -0
  307. package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -0
  308. package/dist/routes/(auth)/signup/page.cc.js +1 -0
  309. package/dist/routes/(auth)/signup/page.d.ts +6 -0
  310. package/dist/routes/(auth)/signup/page.d.ts.map +1 -0
  311. package/dist/routes/(auth)/signup/page.js +34 -0
  312. package/dist/routes/(auth)/verify-email/page.d.ts +3 -0
  313. package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -0
  314. package/dist/routes/(auth)/verify-email/page.js +138 -0
  315. package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts +12 -0
  316. package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts.map +1 -0
  317. package/dist/routes/(public)/docs/[section]/[page]/page.cc.js +64 -0
  318. package/dist/routes/(public)/docs/[section]/[page]/page.d.ts +13 -0
  319. package/dist/routes/(public)/docs/[section]/[page]/page.d.ts.map +1 -0
  320. package/dist/routes/(public)/docs/[section]/[page]/page.js +64 -0
  321. package/dist/routes/(public)/docs/layout.d.ts +4 -0
  322. package/dist/routes/(public)/docs/layout.d.ts.map +1 -0
  323. package/dist/routes/(public)/docs/layout.js +15 -0
  324. package/dist/routes/(public)/docs/page.d.ts +4 -0
  325. package/dist/routes/(public)/docs/page.d.ts.map +1 -0
  326. package/dist/routes/(public)/docs/page.js +53 -0
  327. package/dist/routes/(public)/layout.cc.d.ts +7 -0
  328. package/dist/routes/(public)/layout.cc.d.ts.map +1 -0
  329. package/dist/routes/(public)/layout.cc.js +5 -0
  330. package/dist/routes/(public)/layout.d.ts +7 -0
  331. package/dist/routes/(public)/layout.d.ts.map +1 -0
  332. package/dist/routes/(public)/layout.js +4 -0
  333. package/dist/routes/(public)/page.d.ts +12 -0
  334. package/dist/routes/(public)/page.d.ts.map +1 -0
  335. package/dist/routes/(public)/page.js +5 -0
  336. package/dist/routes/403/page.d.ts +3 -0
  337. package/dist/routes/403/page.d.ts.map +1 -0
  338. package/dist/routes/403/page.js +51 -0
  339. package/dist/routes/_internal/area-access.d.ts +61 -0
  340. package/dist/routes/_internal/area-access.d.ts.map +1 -0
  341. package/dist/routes/_internal/area-access.js +84 -0
  342. package/dist/routes/_internal/auth-layout.cc.d.ts +8 -0
  343. package/dist/routes/_internal/auth-layout.cc.d.ts.map +1 -0
  344. package/dist/routes/_internal/auth-layout.cc.js +2 -0
  345. package/dist/routes/_internal/auth-layout.d.ts +19 -0
  346. package/dist/routes/_internal/auth-layout.d.ts.map +1 -0
  347. package/dist/routes/_internal/auth-layout.js +22 -0
  348. package/dist/routes/_internal/billing-webhooks.d.ts +19 -0
  349. package/dist/routes/_internal/billing-webhooks.d.ts.map +1 -0
  350. package/dist/routes/_internal/billing-webhooks.js +14 -0
  351. package/dist/routes/_internal/default-auth-layout.d.ts +8 -0
  352. package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -0
  353. package/dist/routes/_internal/default-auth-layout.js +15 -0
  354. package/dist/routes/_internal/default-public-layout.d.ts +8 -0
  355. package/dist/routes/_internal/default-public-layout.d.ts.map +1 -0
  356. package/dist/routes/_internal/default-public-layout.js +13 -0
  357. package/dist/routes/_internal/devtools-layout.cc.d.ts +19 -0
  358. package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -0
  359. package/dist/routes/_internal/devtools-layout.cc.js +5 -0
  360. package/dist/routes/_internal/devtools-layout.d.ts +36 -0
  361. package/dist/routes/_internal/devtools-layout.d.ts.map +1 -0
  362. package/dist/routes/_internal/devtools-layout.js +41 -0
  363. package/dist/routes/_internal/entity-create-route.d.ts +18 -0
  364. package/dist/routes/_internal/entity-create-route.d.ts.map +1 -0
  365. package/dist/routes/_internal/entity-create-route.js +11 -0
  366. package/dist/routes/_internal/entity-create-view.d.ts +8 -0
  367. package/dist/routes/_internal/entity-create-view.d.ts.map +1 -0
  368. package/dist/routes/_internal/entity-create-view.js +72 -0
  369. package/dist/routes/_internal/entity-dashboard.d.ts +9 -0
  370. package/dist/routes/_internal/entity-dashboard.d.ts.map +1 -0
  371. package/dist/routes/_internal/entity-dashboard.js +8 -0
  372. package/dist/routes/_internal/entity-detail-metadata.d.ts +7 -0
  373. package/dist/routes/_internal/entity-detail-metadata.d.ts.map +1 -0
  374. package/dist/routes/_internal/entity-detail-metadata.js +4 -0
  375. package/dist/routes/_internal/entity-detail-route.d.ts +24 -0
  376. package/dist/routes/_internal/entity-detail-route.d.ts.map +1 -0
  377. package/dist/routes/_internal/entity-detail-route.js +14 -0
  378. package/dist/routes/_internal/entity-edit-route.d.ts +23 -0
  379. package/dist/routes/_internal/entity-edit-route.d.ts.map +1 -0
  380. package/dist/routes/_internal/entity-edit-route.js +12 -0
  381. package/dist/routes/_internal/entity-edit-view.d.ts +9 -0
  382. package/dist/routes/_internal/entity-edit-view.d.ts.map +1 -0
  383. package/dist/routes/_internal/entity-edit-view.js +88 -0
  384. package/dist/routes/_internal/entity-error.d.ts +7 -0
  385. package/dist/routes/_internal/entity-error.d.ts.map +1 -0
  386. package/dist/routes/_internal/entity-error.js +41 -0
  387. package/dist/routes/_internal/entity-layout-route.d.ts +13 -0
  388. package/dist/routes/_internal/entity-layout-route.d.ts.map +1 -0
  389. package/dist/routes/_internal/entity-layout-route.js +7 -0
  390. package/dist/routes/_internal/entity-list-metadata.d.ts +7 -0
  391. package/dist/routes/_internal/entity-list-metadata.d.ts.map +1 -0
  392. package/dist/routes/_internal/entity-list-metadata.js +4 -0
  393. package/dist/routes/_internal/entity-list-route.d.ts +31 -0
  394. package/dist/routes/_internal/entity-list-route.d.ts.map +1 -0
  395. package/dist/routes/_internal/entity-list-route.js +11 -0
  396. package/dist/routes/_internal/entity-loading.d.ts +3 -0
  397. package/dist/routes/_internal/entity-loading.d.ts.map +1 -0
  398. package/dist/routes/_internal/entity-loading.js +48 -0
  399. package/dist/routes/_internal/entity-permission-layout.d.ts +10 -0
  400. package/dist/routes/_internal/entity-permission-layout.d.ts.map +1 -0
  401. package/dist/routes/_internal/entity-permission-layout.js +50 -0
  402. package/dist/routes/_internal/group-layouts.cc.d.ts +35 -0
  403. package/dist/routes/_internal/group-layouts.cc.d.ts.map +1 -0
  404. package/dist/routes/_internal/group-layouts.cc.js +37 -0
  405. package/dist/routes/_internal/polar-webhook.d.ts +27 -0
  406. package/dist/routes/_internal/polar-webhook.d.ts.map +1 -0
  407. package/dist/routes/_internal/polar-webhook.js +321 -0
  408. package/dist/routes/_internal/public-archive-route.d.ts +20 -0
  409. package/dist/routes/_internal/public-archive-route.d.ts.map +1 -0
  410. package/dist/routes/_internal/public-archive-route.js +29 -0
  411. package/dist/routes/_internal/public-entity-shared.d.ts +61 -0
  412. package/dist/routes/_internal/public-entity-shared.d.ts.map +1 -0
  413. package/dist/routes/_internal/public-entity-shared.js +57 -0
  414. package/dist/routes/_internal/public-item-route.cc.d.ts +5 -0
  415. package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -0
  416. package/dist/routes/_internal/public-item-route.cc.js +32 -0
  417. package/dist/routes/_internal/public-item-route.d.ts +49 -0
  418. package/dist/routes/_internal/public-item-route.d.ts.map +1 -0
  419. package/dist/routes/_internal/public-item-route.js +60 -0
  420. package/dist/routes/_internal/public-layout.cc.d.ts +8 -0
  421. package/dist/routes/_internal/public-layout.cc.d.ts.map +1 -0
  422. package/dist/routes/_internal/public-layout.cc.js +2 -0
  423. package/dist/routes/_internal/public-layout.d.ts +19 -0
  424. package/dist/routes/_internal/public-layout.d.ts.map +1 -0
  425. package/dist/routes/_internal/public-layout.js +18 -0
  426. package/dist/routes/_internal/root-layout.d.ts +13 -0
  427. package/dist/routes/_internal/root-layout.d.ts.map +1 -0
  428. package/dist/routes/_internal/root-layout.js +7 -0
  429. package/dist/routes/_internal/root-layout.ppr.d.ts +11 -0
  430. package/dist/routes/_internal/root-layout.ppr.d.ts.map +1 -0
  431. package/dist/routes/_internal/root-layout.ppr.js +7 -0
  432. package/dist/routes/_internal/superadmin-layout.cc.d.ts +19 -0
  433. package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -0
  434. package/dist/routes/_internal/superadmin-layout.cc.js +5 -0
  435. package/dist/routes/_internal/superadmin-layout.d.ts +35 -0
  436. package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -0
  437. package/dist/routes/_internal/superadmin-layout.js +53 -0
  438. package/dist/routes/api/auth/[...all]/route.d.ts +9 -0
  439. package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -0
  440. package/dist/routes/api/auth/[...all]/route.js +124 -0
  441. package/dist/routes/api/cron/billing/lifecycle/route.d.ts +22 -0
  442. package/dist/routes/api/cron/billing/lifecycle/route.d.ts.map +1 -0
  443. package/dist/routes/api/cron/billing/lifecycle/route.js +60 -0
  444. package/dist/routes/api/csp-report/route.d.ts +4 -0
  445. package/dist/routes/api/csp-report/route.d.ts.map +1 -0
  446. package/dist/routes/api/csp-report/route.js +111 -0
  447. package/dist/routes/api/devtools/config/entities/route.d.ts +9 -0
  448. package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -0
  449. package/dist/routes/api/devtools/config/entities/route.js +63 -0
  450. package/dist/routes/api/devtools/config/theme/route.d.ts +9 -0
  451. package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -0
  452. package/dist/routes/api/devtools/config/theme/route.js +48 -0
  453. package/dist/routes/api/devtools/tests/[...path]/route.d.ts +15 -0
  454. package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -0
  455. package/dist/routes/api/devtools/tests/[...path]/route.js +93 -0
  456. package/dist/routes/api/devtools/tests/route.d.ts +9 -0
  457. package/dist/routes/api/devtools/tests/route.d.ts.map +1 -0
  458. package/dist/routes/api/devtools/tests/route.js +89 -0
  459. package/dist/routes/api/health/route.d.ts +3 -0
  460. package/dist/routes/api/health/route.d.ts.map +1 -0
  461. package/dist/routes/api/health/route.js +39 -0
  462. package/dist/routes/api/internal/user-metadata/route.d.ts +3 -0
  463. package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -0
  464. package/dist/routes/api/internal/user-metadata/route.js +33 -0
  465. package/dist/routes/api/mcp/route.d.ts +27 -0
  466. package/dist/routes/api/mcp/route.d.ts.map +1 -0
  467. package/dist/routes/api/mcp/route.js +108 -0
  468. package/dist/routes/api/superadmin/subscriptions/route.d.ts +9 -0
  469. package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -0
  470. package/dist/routes/api/superadmin/subscriptions/route.js +235 -0
  471. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +13 -0
  472. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -0
  473. package/dist/routes/api/superadmin/teams/[teamId]/route.js +204 -0
  474. package/dist/routes/api/superadmin/teams/route.d.ts +20 -0
  475. package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -0
  476. package/dist/routes/api/superadmin/teams/route.js +131 -0
  477. package/dist/routes/api/superadmin/users/[userId]/route.d.ts +45 -0
  478. package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -0
  479. package/dist/routes/api/superadmin/users/[userId]/route.js +362 -0
  480. package/dist/routes/api/superadmin/users/route.d.ts +37 -0
  481. package/dist/routes/api/superadmin/users/route.d.ts.map +1 -0
  482. package/dist/routes/api/superadmin/users/route.js +239 -0
  483. package/dist/routes/api/user/delete-account/route.d.ts +3 -0
  484. package/dist/routes/api/user/delete-account/route.d.ts.map +1 -0
  485. package/dist/routes/api/user/delete-account/route.js +44 -0
  486. package/dist/routes/api/user/plan-flags/route.d.ts +23 -0
  487. package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -0
  488. package/dist/routes/api/user/plan-flags/route.js +201 -0
  489. package/dist/routes/api/user/profile/route.d.ts +4 -0
  490. package/dist/routes/api/user/profile/route.d.ts.map +1 -0
  491. package/dist/routes/api/user/profile/route.js +96 -0
  492. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +20 -0
  493. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -0
  494. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +144 -0
  495. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +19 -0
  496. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -0
  497. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +249 -0
  498. package/dist/routes/api/v1/[entity]/[id]/route.d.ts +35 -0
  499. package/dist/routes/api/v1/[entity]/[id]/route.d.ts.map +1 -0
  500. package/dist/routes/api/v1/[entity]/[id]/route.js +14 -0
  501. package/dist/routes/api/v1/[entity]/route.d.ts +17 -0
  502. package/dist/routes/api/v1/[entity]/route.d.ts.map +1 -0
  503. package/dist/routes/api/v1/[entity]/route.js +12 -0
  504. package/dist/routes/api/v1/api-keys/[id]/route.d.ts +30 -0
  505. package/dist/routes/api/v1/api-keys/[id]/route.d.ts.map +1 -0
  506. package/dist/routes/api/v1/api-keys/[id]/route.js +189 -0
  507. package/dist/routes/api/v1/api-keys/route.d.ts +5 -0
  508. package/dist/routes/api/v1/api-keys/route.d.ts.map +1 -0
  509. package/dist/routes/api/v1/api-keys/route.js +177 -0
  510. package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts +4 -0
  511. package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts.map +1 -0
  512. package/dist/routes/api/v1/auth/signup-with-invite/route.js +187 -0
  513. package/dist/routes/api/v1/billing/cancel/route.d.ts +19 -0
  514. package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -0
  515. package/dist/routes/api/v1/billing/cancel/route.js +153 -0
  516. package/dist/routes/api/v1/billing/change-plan/route.d.ts +19 -0
  517. package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -0
  518. package/dist/routes/api/v1/billing/change-plan/route.js +63 -0
  519. package/dist/routes/api/v1/billing/check-action/route.d.ts +13 -0
  520. package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -0
  521. package/dist/routes/api/v1/billing/check-action/route.js +55 -0
  522. package/dist/routes/api/v1/billing/checkout/route.d.ts +11 -0
  523. package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -0
  524. package/dist/routes/api/v1/billing/checkout/route.js +114 -0
  525. package/dist/routes/api/v1/billing/plans/route.d.ts +10 -0
  526. package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -0
  527. package/dist/routes/api/v1/billing/plans/route.js +61 -0
  528. package/dist/routes/api/v1/billing/portal/route.d.ts +11 -0
  529. package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -0
  530. package/dist/routes/api/v1/billing/portal/route.js +66 -0
  531. package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts +17 -0
  532. package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts.map +1 -0
  533. package/dist/routes/api/v1/billing/webhooks/polar/route.js +3 -0
  534. package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts +17 -0
  535. package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts.map +1 -0
  536. package/dist/routes/api/v1/billing/webhooks/stripe/route.js +8 -0
  537. package/dist/routes/api/v1/blocks/[slug]/route.d.ts +7 -0
  538. package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -0
  539. package/dist/routes/api/v1/blocks/[slug]/route.js +25 -0
  540. package/dist/routes/api/v1/blocks/docs.md +173 -0
  541. package/dist/routes/api/v1/blocks/route.d.ts +3 -0
  542. package/dist/routes/api/v1/blocks/route.d.ts.map +1 -0
  543. package/dist/routes/api/v1/blocks/route.js +44 -0
  544. package/dist/routes/api/v1/blocks/validate/route.d.ts +3 -0
  545. package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -0
  546. package/dist/routes/api/v1/blocks/validate/route.js +38 -0
  547. package/dist/routes/api/v1/cron/process/route.d.ts +20 -0
  548. package/dist/routes/api/v1/cron/process/route.d.ts.map +1 -0
  549. package/dist/routes/api/v1/cron/process/route.js +73 -0
  550. package/dist/routes/api/v1/devtools/blocks/route.d.ts +12 -0
  551. package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -0
  552. package/dist/routes/api/v1/devtools/blocks/route.js +60 -0
  553. package/dist/routes/api/v1/devtools/docs/route.d.ts +14 -0
  554. package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -0
  555. package/dist/routes/api/v1/devtools/docs/route.js +108 -0
  556. package/dist/routes/api/v1/devtools/docs.md +204 -0
  557. package/dist/routes/api/v1/devtools/features/route.d.ts +12 -0
  558. package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -0
  559. package/dist/routes/api/v1/devtools/features/route.js +45 -0
  560. package/dist/routes/api/v1/devtools/flows/route.d.ts +12 -0
  561. package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -0
  562. package/dist/routes/api/v1/devtools/flows/route.js +45 -0
  563. package/dist/routes/api/v1/devtools/presets.ts +113 -0
  564. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +24 -0
  565. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -0
  566. package/dist/routes/api/v1/devtools/scheduled-actions/route.js +180 -0
  567. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +12 -0
  568. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -0
  569. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +82 -0
  570. package/dist/routes/api/v1/devtools/testing/route.d.ts +12 -0
  571. package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -0
  572. package/dist/routes/api/v1/devtools/testing/route.js +64 -0
  573. package/dist/routes/api/v1/media/[id]/route.d.ts +47 -0
  574. package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -0
  575. package/dist/routes/api/v1/media/[id]/route.js +86 -0
  576. package/dist/routes/api/v1/media/[id]/tags/route.d.ts +45 -0
  577. package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -0
  578. package/dist/routes/api/v1/media/[id]/tags/route.js +126 -0
  579. package/dist/routes/api/v1/media/check-duplicates/route.d.ts +12 -0
  580. package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -0
  581. package/dist/routes/api/v1/media/check-duplicates/route.js +45 -0
  582. package/dist/routes/api/v1/media/route.d.ts +20 -0
  583. package/dist/routes/api/v1/media/route.d.ts.map +1 -0
  584. package/dist/routes/api/v1/media/route.js +33 -0
  585. package/dist/routes/api/v1/media/upload/route.d.ts +24 -0
  586. package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -0
  587. package/dist/routes/api/v1/media/upload/route.js +196 -0
  588. package/dist/routes/api/v1/media-tags/route.d.ts +19 -0
  589. package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -0
  590. package/dist/routes/api/v1/media-tags/route.js +49 -0
  591. package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts +23 -0
  592. package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts.map +1 -0
  593. package/dist/routes/api/v1/patterns/[id]/usages/route.js +69 -0
  594. package/dist/routes/api/v1/post-categories/[id]/route.d.ts +17 -0
  595. package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -0
  596. package/dist/routes/api/v1/post-categories/[id]/route.js +203 -0
  597. package/dist/routes/api/v1/post-categories/route.d.ts +4 -0
  598. package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -0
  599. package/dist/routes/api/v1/post-categories/route.js +94 -0
  600. package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts +8 -0
  601. package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts.map +1 -0
  602. package/dist/routes/api/v1/team-invitations/[token]/accept/route.js +130 -0
  603. package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts +8 -0
  604. package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts.map +1 -0
  605. package/dist/routes/api/v1/team-invitations/[token]/decline/route.js +90 -0
  606. package/dist/routes/api/v1/team-invitations/[token]/route.d.ts +8 -0
  607. package/dist/routes/api/v1/team-invitations/[token]/route.d.ts.map +1 -0
  608. package/dist/routes/api/v1/team-invitations/[token]/route.js +66 -0
  609. package/dist/routes/api/v1/team-invitations/route.d.ts +4 -0
  610. package/dist/routes/api/v1/team-invitations/route.d.ts.map +1 -0
  611. package/dist/routes/api/v1/team-invitations/route.js +82 -0
  612. package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts +13 -0
  613. package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts.map +1 -0
  614. package/dist/routes/api/v1/teams/[teamId]/invitations/route.js +126 -0
  615. package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts +9 -0
  616. package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts.map +1 -0
  617. package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.js +80 -0
  618. package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts +8 -0
  619. package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts.map +1 -0
  620. package/dist/routes/api/v1/teams/[teamId]/invoices/route.js +98 -0
  621. package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts +15 -0
  622. package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts.map +1 -0
  623. package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.js +188 -0
  624. package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts +13 -0
  625. package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts.map +1 -0
  626. package/dist/routes/api/v1/teams/[teamId]/members/route.js +266 -0
  627. package/dist/routes/api/v1/teams/[teamId]/route.d.ts +18 -0
  628. package/dist/routes/api/v1/teams/[teamId]/route.d.ts.map +1 -0
  629. package/dist/routes/api/v1/teams/[teamId]/route.js +222 -0
  630. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +14 -0
  631. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -0
  632. package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +30 -0
  633. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +17 -0
  634. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -0
  635. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +67 -0
  636. package/dist/routes/api/v1/teams/route.d.ts +5 -0
  637. package/dist/routes/api/v1/teams/route.d.ts.map +1 -0
  638. package/dist/routes/api/v1/teams/route.js +231 -0
  639. package/dist/routes/api/v1/teams/switch/route.d.ts +4 -0
  640. package/dist/routes/api/v1/teams/switch/route.d.ts.map +1 -0
  641. package/dist/routes/api/v1/teams/switch/route.js +80 -0
  642. package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts +89 -0
  643. package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts.map +1 -0
  644. package/dist/routes/api/v1/users/[id]/meta/[key]/route.js +180 -0
  645. package/dist/routes/api/v1/users/[id]/route.d.ts +18 -0
  646. package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -0
  647. package/dist/routes/api/v1/users/[id]/route.js +189 -0
  648. package/dist/routes/api/v1/users/route.d.ts +5 -0
  649. package/dist/routes/api/v1/users/route.d.ts.map +1 -0
  650. package/dist/routes/api/v1/users/route.js +145 -0
  651. package/dist/routes/dashboard/(main)/layout.d.ts +5 -0
  652. package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -0
  653. package/dist/routes/dashboard/(main)/layout.js +50 -0
  654. package/dist/routes/dashboard/(main)/loading.d.ts +3 -0
  655. package/dist/routes/dashboard/(main)/loading.d.ts.map +1 -0
  656. package/dist/routes/dashboard/(main)/loading.js +6 -0
  657. package/dist/routes/dashboard/(main)/media/page.d.ts +3 -0
  658. package/dist/routes/dashboard/(main)/media/page.d.ts.map +1 -0
  659. package/dist/routes/dashboard/(main)/media/page.js +548 -0
  660. package/dist/routes/dashboard/(main)/page.d.ts +3 -0
  661. package/dist/routes/dashboard/(main)/page.d.ts.map +1 -0
  662. package/dist/routes/dashboard/(main)/page.js +168 -0
  663. package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts +8 -0
  664. package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts.map +1 -0
  665. package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.js +85 -0
  666. package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts +13 -0
  667. package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts.map +1 -0
  668. package/dist/routes/dashboard/(main)/patterns/[id]/page.js +6 -0
  669. package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts +9 -0
  670. package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts.map +1 -0
  671. package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.js +128 -0
  672. package/dist/routes/dashboard/(main)/patterns/create/page.d.ts +8 -0
  673. package/dist/routes/dashboard/(main)/patterns/create/page.d.ts.map +1 -0
  674. package/dist/routes/dashboard/(main)/patterns/create/page.js +64 -0
  675. package/dist/routes/dashboard/(main)/patterns/page.d.ts +9 -0
  676. package/dist/routes/dashboard/(main)/patterns/page.d.ts.map +1 -0
  677. package/dist/routes/dashboard/(main)/patterns/page.js +334 -0
  678. package/dist/routes/dashboard/features/analytics/page.d.ts +3 -0
  679. package/dist/routes/dashboard/features/analytics/page.d.ts.map +1 -0
  680. package/dist/routes/dashboard/features/analytics/page.js +32 -0
  681. package/dist/routes/dashboard/features/automation/page.d.ts +3 -0
  682. package/dist/routes/dashboard/features/automation/page.d.ts.map +1 -0
  683. package/dist/routes/dashboard/features/automation/page.js +32 -0
  684. package/dist/routes/dashboard/features/layout.d.ts +7 -0
  685. package/dist/routes/dashboard/features/layout.d.ts.map +1 -0
  686. package/dist/routes/dashboard/features/layout.js +5 -0
  687. package/dist/routes/dashboard/features/loading.d.ts +3 -0
  688. package/dist/routes/dashboard/features/loading.d.ts.map +1 -0
  689. package/dist/routes/dashboard/features/loading.js +6 -0
  690. package/dist/routes/dashboard/features/webhooks/page.d.ts +3 -0
  691. package/dist/routes/dashboard/features/webhooks/page.d.ts.map +1 -0
  692. package/dist/routes/dashboard/features/webhooks/page.js +32 -0
  693. package/dist/routes/dashboard/layout.cc.d.ts +6 -0
  694. package/dist/routes/dashboard/layout.cc.d.ts.map +1 -0
  695. package/dist/routes/dashboard/layout.cc.js +3 -0
  696. package/dist/routes/dashboard/layout.d.ts +9 -0
  697. package/dist/routes/dashboard/layout.d.ts.map +1 -0
  698. package/dist/routes/dashboard/layout.js +15 -0
  699. package/dist/routes/dashboard/permission-denied/page.d.ts +9 -0
  700. package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -0
  701. package/dist/routes/dashboard/permission-denied/page.js +17 -0
  702. package/dist/routes/dashboard/settings/api-keys/loading.d.ts +3 -0
  703. package/dist/routes/dashboard/settings/api-keys/loading.d.ts.map +1 -0
  704. package/dist/routes/dashboard/settings/api-keys/loading.js +6 -0
  705. package/dist/routes/dashboard/settings/api-keys/page.d.ts +3 -0
  706. package/dist/routes/dashboard/settings/api-keys/page.d.ts.map +1 -0
  707. package/dist/routes/dashboard/settings/api-keys/page.js +391 -0
  708. package/dist/routes/dashboard/settings/billing/loading.d.ts +3 -0
  709. package/dist/routes/dashboard/settings/billing/loading.d.ts.map +1 -0
  710. package/dist/routes/dashboard/settings/billing/loading.js +6 -0
  711. package/dist/routes/dashboard/settings/billing/page.d.ts +3 -0
  712. package/dist/routes/dashboard/settings/billing/page.d.ts.map +1 -0
  713. package/dist/routes/dashboard/settings/billing/page.js +240 -0
  714. package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts +8 -0
  715. package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts.map +1 -0
  716. package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.js +151 -0
  717. package/dist/routes/dashboard/settings/invoices/loading.d.ts +3 -0
  718. package/dist/routes/dashboard/settings/invoices/loading.d.ts.map +1 -0
  719. package/dist/routes/dashboard/settings/invoices/loading.js +6 -0
  720. package/dist/routes/dashboard/settings/invoices/page.d.ts +3 -0
  721. package/dist/routes/dashboard/settings/invoices/page.d.ts.map +1 -0
  722. package/dist/routes/dashboard/settings/invoices/page.js +65 -0
  723. package/dist/routes/dashboard/settings/layout.d.ts +5 -0
  724. package/dist/routes/dashboard/settings/layout.d.ts.map +1 -0
  725. package/dist/routes/dashboard/settings/layout.js +142 -0
  726. package/dist/routes/dashboard/settings/loading.d.ts +3 -0
  727. package/dist/routes/dashboard/settings/loading.d.ts.map +1 -0
  728. package/dist/routes/dashboard/settings/loading.js +6 -0
  729. package/dist/routes/dashboard/settings/notifications/loading.d.ts +3 -0
  730. package/dist/routes/dashboard/settings/notifications/loading.d.ts.map +1 -0
  731. package/dist/routes/dashboard/settings/notifications/loading.js +6 -0
  732. package/dist/routes/dashboard/settings/notifications/page.d.ts +3 -0
  733. package/dist/routes/dashboard/settings/notifications/page.d.ts.map +1 -0
  734. package/dist/routes/dashboard/settings/notifications/page.js +399 -0
  735. package/dist/routes/dashboard/settings/page.d.ts +3 -0
  736. package/dist/routes/dashboard/settings/page.d.ts.map +1 -0
  737. package/dist/routes/dashboard/settings/page.js +82 -0
  738. package/dist/routes/dashboard/settings/password/loading.d.ts +3 -0
  739. package/dist/routes/dashboard/settings/password/loading.d.ts.map +1 -0
  740. package/dist/routes/dashboard/settings/password/loading.js +6 -0
  741. package/dist/routes/dashboard/settings/password/page.d.ts +3 -0
  742. package/dist/routes/dashboard/settings/password/page.d.ts.map +1 -0
  743. package/dist/routes/dashboard/settings/password/page.js +302 -0
  744. package/dist/routes/dashboard/settings/plans/loading.d.ts +3 -0
  745. package/dist/routes/dashboard/settings/plans/loading.d.ts.map +1 -0
  746. package/dist/routes/dashboard/settings/plans/loading.js +6 -0
  747. package/dist/routes/dashboard/settings/plans/page.d.ts +9 -0
  748. package/dist/routes/dashboard/settings/plans/page.d.ts.map +1 -0
  749. package/dist/routes/dashboard/settings/plans/page.js +43 -0
  750. package/dist/routes/dashboard/settings/profile/loading.d.ts +3 -0
  751. package/dist/routes/dashboard/settings/profile/loading.d.ts.map +1 -0
  752. package/dist/routes/dashboard/settings/profile/loading.js +6 -0
  753. package/dist/routes/dashboard/settings/profile/page.d.ts +3 -0
  754. package/dist/routes/dashboard/settings/profile/page.d.ts.map +1 -0
  755. package/dist/routes/dashboard/settings/profile/page.js +615 -0
  756. package/dist/routes/dashboard/settings/security/loading.d.ts +3 -0
  757. package/dist/routes/dashboard/settings/security/loading.d.ts.map +1 -0
  758. package/dist/routes/dashboard/settings/security/loading.js +6 -0
  759. package/dist/routes/dashboard/settings/security/page.d.ts +3 -0
  760. package/dist/routes/dashboard/settings/security/page.d.ts.map +1 -0
  761. package/dist/routes/dashboard/settings/security/page.js +400 -0
  762. package/dist/routes/dashboard/settings/teams/loading.d.ts +3 -0
  763. package/dist/routes/dashboard/settings/teams/loading.d.ts.map +1 -0
  764. package/dist/routes/dashboard/settings/teams/loading.js +6 -0
  765. package/dist/routes/dashboard/settings/teams/page.d.ts +3 -0
  766. package/dist/routes/dashboard/settings/teams/page.d.ts.map +1 -0
  767. package/dist/routes/dashboard/settings/teams/page.js +205 -0
  768. package/dist/routes/dashboard/settings/teams/permissions/page.d.ts +9 -0
  769. package/dist/routes/dashboard/settings/teams/permissions/page.d.ts.map +1 -0
  770. package/dist/routes/dashboard/settings/teams/permissions/page.js +50 -0
  771. package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts +19 -0
  772. package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts.map +1 -0
  773. package/dist/routes/devtools/api/[[...endpoint]]/page.js +14 -0
  774. package/dist/routes/devtools/api/layout.d.ts +20 -0
  775. package/dist/routes/devtools/api/layout.d.ts.map +1 -0
  776. package/dist/routes/devtools/api/layout.js +6 -0
  777. package/dist/routes/devtools/blocks/[slug]/page.d.ts +20 -0
  778. package/dist/routes/devtools/blocks/[slug]/page.d.ts.map +1 -0
  779. package/dist/routes/devtools/blocks/[slug]/page.js +16 -0
  780. package/dist/routes/devtools/blocks/page.d.ts +2 -0
  781. package/dist/routes/devtools/blocks/page.d.ts.map +1 -0
  782. package/dist/routes/devtools/blocks/page.js +21 -0
  783. package/dist/routes/devtools/config/page.d.ts +2 -0
  784. package/dist/routes/devtools/config/page.d.ts.map +1 -0
  785. package/dist/routes/devtools/config/page.js +21 -0
  786. package/dist/routes/devtools/features/page.d.ts +2 -0
  787. package/dist/routes/devtools/features/page.d.ts.map +1 -0
  788. package/dist/routes/devtools/features/page.js +21 -0
  789. package/dist/routes/devtools/flows/page.d.ts +2 -0
  790. package/dist/routes/devtools/flows/page.d.ts.map +1 -0
  791. package/dist/routes/devtools/flows/page.js +21 -0
  792. package/dist/routes/devtools/layout.cc.d.ts +7 -0
  793. package/dist/routes/devtools/layout.cc.d.ts.map +1 -0
  794. package/dist/routes/devtools/layout.cc.js +4 -0
  795. package/dist/routes/devtools/layout.d.ts +5 -0
  796. package/dist/routes/devtools/layout.d.ts.map +1 -0
  797. package/dist/routes/devtools/layout.js +3 -0
  798. package/dist/routes/devtools/page.d.ts +2 -0
  799. package/dist/routes/devtools/page.d.ts.map +1 -0
  800. package/dist/routes/devtools/page.js +92 -0
  801. package/dist/routes/devtools/plugins/[plugin]/page.d.ts +8 -0
  802. package/dist/routes/devtools/plugins/[plugin]/page.d.ts.map +1 -0
  803. package/dist/routes/devtools/plugins/[plugin]/page.js +11 -0
  804. package/dist/routes/devtools/scheduled-actions/page.d.ts +15 -0
  805. package/dist/routes/devtools/scheduled-actions/page.d.ts.map +1 -0
  806. package/dist/routes/devtools/scheduled-actions/page.js +121 -0
  807. package/dist/routes/devtools/style/page.d.ts +8 -0
  808. package/dist/routes/devtools/style/page.d.ts.map +1 -0
  809. package/dist/routes/devtools/style/page.js +241 -0
  810. package/dist/routes/devtools/tags/page.d.ts +2 -0
  811. package/dist/routes/devtools/tags/page.d.ts.map +1 -0
  812. package/dist/routes/devtools/tags/page.js +21 -0
  813. package/dist/routes/devtools/tests/[[...path]]/page.d.ts +8 -0
  814. package/dist/routes/devtools/tests/[[...path]]/page.d.ts.map +1 -0
  815. package/dist/routes/devtools/tests/[[...path]]/page.js +30 -0
  816. package/dist/routes/layout.d.ts +10 -0
  817. package/dist/routes/layout.d.ts.map +1 -0
  818. package/dist/routes/layout.js +73 -0
  819. package/dist/routes/layout.ppr.d.ts +26 -0
  820. package/dist/routes/layout.ppr.d.ts.map +1 -0
  821. package/dist/routes/layout.ppr.js +58 -0
  822. package/dist/routes/manifest.json +784 -0
  823. package/dist/routes/public/page.d.ts +3 -0
  824. package/dist/routes/public/page.d.ts.map +1 -0
  825. package/dist/routes/public/page.js +12 -0
  826. package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts +15 -0
  827. package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts.map +1 -0
  828. package/dist/routes/superadmin/docs/[section]/[page]/page.cc.js +63 -0
  829. package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts +16 -0
  830. package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts.map +1 -0
  831. package/dist/routes/superadmin/docs/[section]/[page]/page.js +61 -0
  832. package/dist/routes/superadmin/docs/page.d.ts +4 -0
  833. package/dist/routes/superadmin/docs/page.d.ts.map +1 -0
  834. package/dist/routes/superadmin/docs/page.js +50 -0
  835. package/dist/routes/superadmin/layout.cc.d.ts +7 -0
  836. package/dist/routes/superadmin/layout.cc.d.ts.map +1 -0
  837. package/dist/routes/superadmin/layout.cc.js +4 -0
  838. package/dist/routes/superadmin/layout.d.ts +5 -0
  839. package/dist/routes/superadmin/layout.d.ts.map +1 -0
  840. package/dist/routes/superadmin/layout.js +3 -0
  841. package/dist/routes/superadmin/page.d.ts +8 -0
  842. package/dist/routes/superadmin/page.d.ts.map +1 -0
  843. package/dist/routes/superadmin/page.js +91 -0
  844. package/dist/routes/superadmin/plugins/[plugin]/page.d.ts +8 -0
  845. package/dist/routes/superadmin/plugins/[plugin]/page.d.ts.map +1 -0
  846. package/dist/routes/superadmin/plugins/[plugin]/page.js +11 -0
  847. package/dist/routes/superadmin/subscriptions/page.d.ts +9 -0
  848. package/dist/routes/superadmin/subscriptions/page.d.ts.map +1 -0
  849. package/dist/routes/superadmin/subscriptions/page.js +470 -0
  850. package/dist/routes/superadmin/team-roles/page.d.ts +12 -0
  851. package/dist/routes/superadmin/team-roles/page.d.ts.map +1 -0
  852. package/dist/routes/superadmin/team-roles/page.js +385 -0
  853. package/dist/routes/superadmin/teams/[teamId]/page.d.ts +8 -0
  854. package/dist/routes/superadmin/teams/[teamId]/page.d.ts.map +1 -0
  855. package/dist/routes/superadmin/teams/[teamId]/page.js +429 -0
  856. package/dist/routes/superadmin/teams/page.d.ts +9 -0
  857. package/dist/routes/superadmin/teams/page.d.ts.map +1 -0
  858. package/dist/routes/superadmin/teams/page.js +259 -0
  859. package/dist/routes/superadmin/users/[userId]/page.d.ts +8 -0
  860. package/dist/routes/superadmin/users/[userId]/page.d.ts.map +1 -0
  861. package/dist/routes/superadmin/users/[userId]/page.js +342 -0
  862. package/dist/routes/superadmin/users/page.d.ts +9 -0
  863. package/dist/routes/superadmin/users/page.d.ts.map +1 -0
  864. package/dist/routes/superadmin/users/page.js +410 -0
  865. package/dist/routes/variants.json +86 -0
  866. package/dist/templates/blocks/README.md +6 -12
  867. package/dist/templates/blocks/cta-section/config.ts +0 -1
  868. package/dist/templates/blocks/cta-section/thumbnail.png +0 -0
  869. package/dist/templates/blocks/features-grid/config.ts +0 -1
  870. package/dist/templates/blocks/features-grid/thumbnail.png +0 -0
  871. package/dist/templates/blocks/hero/config.ts +0 -1
  872. package/dist/templates/blocks/hero/thumbnail.png +0 -0
  873. package/dist/templates/blocks/testimonials/config.ts +0 -1
  874. package/dist/templates/blocks/testimonials/thumbnail.png +0 -0
  875. package/dist/templates/blocks/text-content/config.ts +0 -1
  876. package/dist/templates/blocks/text-content/thumbnail.png +0 -0
  877. package/dist/templates/ci-workflows/README.md +4 -5
  878. package/dist/templates/ci-workflows/github/cypress-regression.yml +7 -14
  879. package/dist/templates/ci-workflows/github/cypress-smoke.yml +3 -5
  880. package/dist/templates/eslint.config.mjs +3 -3
  881. package/dist/templates/features/blog/blocks/post-content/config.ts +0 -1
  882. package/dist/templates/features/blog/entities/posts/posts.config.ts +1 -1
  883. package/dist/templates/features/pages/blocks/hero/config.ts +0 -1
  884. package/dist/templates/features/pages/entities/pages/pages.config.ts +1 -1
  885. package/dist/templates/instrumentation.ts +9 -0
  886. package/dist/templates/migrations/README.md +2 -2
  887. package/dist/templates/next.config.mjs +34 -8
  888. package/dist/templates/plugins/README.md +42 -0
  889. package/dist/templates/plugins/starter/plugin/README.md.template +97 -0
  890. package/dist/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
  891. package/dist/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
  892. package/dist/templates/pnpm-workspace.yaml +3 -5
  893. package/dist/templates/projects/blog/README.md +62 -0
  894. package/dist/templates/projects/blog/about.md +93 -0
  895. package/dist/templates/projects/blog/api/authors/[username]/route.ts +153 -0
  896. package/dist/templates/projects/blog/api/authors/docs.md +135 -0
  897. package/dist/templates/projects/blog/api/authors/presets.ts +45 -0
  898. package/dist/templates/projects/blog/api/authors/route.ts +66 -0
  899. package/dist/templates/projects/blog/api/posts/public/docs.md +124 -0
  900. package/dist/templates/projects/blog/api/posts/public/presets.ts +65 -0
  901. package/dist/templates/projects/blog/api/posts/public/route.ts +154 -0
  902. package/dist/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
  903. package/dist/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
  904. package/dist/templates/projects/blog/components/PostsToolbar.tsx +24 -0
  905. package/dist/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
  906. package/dist/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
  907. package/dist/templates/projects/blog/components/index.ts +4 -0
  908. package/dist/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
  909. package/dist/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
  910. package/dist/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
  911. package/dist/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
  912. package/dist/templates/projects/blog/components/public/PostCard.tsx +307 -0
  913. package/dist/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
  914. package/dist/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
  915. package/dist/templates/projects/blog/config/app.config.ts +193 -0
  916. package/dist/templates/projects/blog/config/billing.config.ts +143 -0
  917. package/dist/templates/projects/blog/config/dashboard.config.ts +346 -0
  918. package/dist/templates/projects/blog/config/dev.config.ts +48 -0
  919. package/dist/templates/projects/blog/config/features.config.ts +196 -0
  920. package/dist/templates/projects/blog/config/flows.config.ts +333 -0
  921. package/dist/templates/projects/blog/config/permissions.config.ts +112 -0
  922. package/dist/templates/projects/blog/config/theme.config.ts +128 -0
  923. package/dist/templates/projects/blog/entities/categories/api/docs.md +119 -0
  924. package/dist/templates/projects/blog/entities/categories/api/presets.ts +67 -0
  925. package/dist/templates/projects/blog/entities/categories/categories.config.ts +60 -0
  926. package/dist/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
  927. package/dist/templates/projects/blog/entities/categories/categories.service.ts +333 -0
  928. package/dist/templates/projects/blog/entities/categories/categories.types.ts +58 -0
  929. package/dist/templates/projects/blog/entities/categories/messages/en.json +33 -0
  930. package/dist/templates/projects/blog/entities/categories/messages/es.json +33 -0
  931. package/dist/templates/projects/blog/entities/posts/api/docs.md +174 -0
  932. package/dist/templates/projects/blog/entities/posts/api/presets.ts +137 -0
  933. package/dist/templates/projects/blog/entities/posts/messages/en.json +100 -0
  934. package/dist/templates/projects/blog/entities/posts/messages/es.json +100 -0
  935. package/dist/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
  936. package/dist/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
  937. package/dist/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
  938. package/dist/templates/projects/blog/entities/posts/posts.config.ts +61 -0
  939. package/dist/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
  940. package/dist/templates/projects/blog/entities/posts/posts.service.ts +464 -0
  941. package/dist/templates/projects/blog/entities/posts/posts.types.ts +80 -0
  942. package/dist/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
  943. package/dist/templates/projects/blog/lib/selectors.ts +178 -0
  944. package/dist/templates/projects/blog/messages/en.json +113 -0
  945. package/dist/templates/projects/blog/messages/es.json +113 -0
  946. package/dist/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
  947. package/dist/templates/projects/blog/migrations/003_categories_table.sql +90 -0
  948. package/dist/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
  949. package/dist/templates/projects/blog/migrations/999_sample_data.sql +412 -0
  950. package/dist/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
  951. package/dist/templates/projects/blog/package.json +30 -0
  952. package/dist/templates/projects/blog/permissions-matrix.md +63 -0
  953. package/dist/templates/projects/blog/styles/article.css +333 -0
  954. package/dist/templates/projects/blog/styles/components.css +204 -0
  955. package/dist/templates/projects/blog/styles/globals.css +384 -0
  956. package/dist/templates/projects/blog/styles/theme.css +167 -0
  957. package/dist/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
  958. package/dist/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
  959. package/dist/templates/projects/blog/templates/(public)/layout.tsx +44 -0
  960. package/dist/templates/projects/blog/templates/(public)/page.tsx +277 -0
  961. package/dist/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
  962. package/dist/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
  963. package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
  964. package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
  965. package/dist/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
  966. package/dist/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
  967. package/dist/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
  968. package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
  969. package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
  970. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
  971. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
  972. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
  973. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
  974. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
  975. package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
  976. package/dist/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
  977. package/dist/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
  978. package/dist/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
  979. package/dist/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
  980. package/dist/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
  981. package/dist/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
  982. package/dist/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
  983. package/dist/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
  984. package/dist/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
  985. package/dist/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
  986. package/dist/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
  987. package/dist/templates/projects/blog/tests/cypress/src/index.js +33 -0
  988. package/dist/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
  989. package/dist/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
  990. package/dist/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
  991. package/dist/templates/projects/blog/tests/cypress.config.ts +149 -0
  992. package/dist/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
  993. package/dist/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
  994. package/dist/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
  995. package/dist/templates/projects/blog/tests/jest/setup.ts +170 -0
  996. package/dist/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
  997. package/dist/templates/projects/blog/tests/tsconfig.json +7 -0
  998. package/dist/templates/projects/crm/CRM_PLAN.md +343 -0
  999. package/dist/templates/projects/crm/about.md +122 -0
  1000. package/dist/templates/projects/crm/config/app.config.ts +178 -0
  1001. package/dist/templates/projects/crm/config/billing.config.ts +184 -0
  1002. package/dist/templates/projects/crm/config/dashboard.config.ts +385 -0
  1003. package/dist/templates/projects/crm/config/dev.config.ts +55 -0
  1004. package/dist/templates/projects/crm/config/features.config.ts +336 -0
  1005. package/dist/templates/projects/crm/config/flows.config.ts +511 -0
  1006. package/dist/templates/projects/crm/config/permissions.config.ts +308 -0
  1007. package/dist/templates/projects/crm/config/theme.config.ts +111 -0
  1008. package/dist/templates/projects/crm/entities/activities/activities.config.ts +61 -0
  1009. package/dist/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
  1010. package/dist/templates/projects/crm/entities/activities/activities.service.ts +503 -0
  1011. package/dist/templates/projects/crm/entities/activities/activities.types.ts +117 -0
  1012. package/dist/templates/projects/crm/entities/activities/api/docs.md +146 -0
  1013. package/dist/templates/projects/crm/entities/activities/api/presets.ts +132 -0
  1014. package/dist/templates/projects/crm/entities/activities/messages/en.json +123 -0
  1015. package/dist/templates/projects/crm/entities/activities/messages/es.json +123 -0
  1016. package/dist/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
  1017. package/dist/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
  1018. package/dist/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
  1019. package/dist/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
  1020. package/dist/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
  1021. package/dist/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
  1022. package/dist/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
  1023. package/dist/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
  1024. package/dist/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
  1025. package/dist/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
  1026. package/dist/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
  1027. package/dist/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
  1028. package/dist/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
  1029. package/dist/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
  1030. package/dist/templates/projects/crm/entities/companies/api/docs.md +139 -0
  1031. package/dist/templates/projects/crm/entities/companies/api/presets.ts +107 -0
  1032. package/dist/templates/projects/crm/entities/companies/companies.config.ts +61 -0
  1033. package/dist/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
  1034. package/dist/templates/projects/crm/entities/companies/companies.service.ts +566 -0
  1035. package/dist/templates/projects/crm/entities/companies/companies.types.ts +125 -0
  1036. package/dist/templates/projects/crm/entities/companies/messages/en.json +146 -0
  1037. package/dist/templates/projects/crm/entities/companies/messages/es.json +146 -0
  1038. package/dist/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
  1039. package/dist/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
  1040. package/dist/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
  1041. package/dist/templates/projects/crm/entities/contacts/api/docs.md +139 -0
  1042. package/dist/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
  1043. package/dist/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
  1044. package/dist/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
  1045. package/dist/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
  1046. package/dist/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
  1047. package/dist/templates/projects/crm/entities/contacts/messages/en.json +117 -0
  1048. package/dist/templates/projects/crm/entities/contacts/messages/es.json +117 -0
  1049. package/dist/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
  1050. package/dist/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
  1051. package/dist/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
  1052. package/dist/templates/projects/crm/entities/leads/api/docs.md +132 -0
  1053. package/dist/templates/projects/crm/entities/leads/api/presets.ts +109 -0
  1054. package/dist/templates/projects/crm/entities/leads/leads.config.ts +61 -0
  1055. package/dist/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
  1056. package/dist/templates/projects/crm/entities/leads/leads.service.ts +496 -0
  1057. package/dist/templates/projects/crm/entities/leads/leads.types.ts +114 -0
  1058. package/dist/templates/projects/crm/entities/leads/messages/en.json +132 -0
  1059. package/dist/templates/projects/crm/entities/leads/messages/es.json +132 -0
  1060. package/dist/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
  1061. package/dist/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
  1062. package/dist/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
  1063. package/dist/templates/projects/crm/entities/notes/api/docs.md +135 -0
  1064. package/dist/templates/projects/crm/entities/notes/api/presets.ts +115 -0
  1065. package/dist/templates/projects/crm/entities/notes/messages/en.json +114 -0
  1066. package/dist/templates/projects/crm/entities/notes/messages/es.json +114 -0
  1067. package/dist/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
  1068. package/dist/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
  1069. package/dist/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
  1070. package/dist/templates/projects/crm/entities/notes/notes.config.ts +61 -0
  1071. package/dist/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
  1072. package/dist/templates/projects/crm/entities/notes/notes.service.ts +320 -0
  1073. package/dist/templates/projects/crm/entities/notes/notes.types.ts +102 -0
  1074. package/dist/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
  1075. package/dist/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
  1076. package/dist/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
  1077. package/dist/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
  1078. package/dist/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
  1079. package/dist/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
  1080. package/dist/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
  1081. package/dist/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
  1082. package/dist/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
  1083. package/dist/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
  1084. package/dist/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
  1085. package/dist/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
  1086. package/dist/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
  1087. package/dist/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
  1088. package/dist/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
  1089. package/dist/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
  1090. package/dist/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
  1091. package/dist/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
  1092. package/dist/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
  1093. package/dist/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
  1094. package/dist/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
  1095. package/dist/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
  1096. package/dist/templates/projects/crm/entities/products/api/docs.md +137 -0
  1097. package/dist/templates/projects/crm/entities/products/api/presets.ts +132 -0
  1098. package/dist/templates/projects/crm/entities/products/messages/en.json +135 -0
  1099. package/dist/templates/projects/crm/entities/products/messages/es.json +135 -0
  1100. package/dist/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
  1101. package/dist/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
  1102. package/dist/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
  1103. package/dist/templates/projects/crm/entities/products/products.config.ts +62 -0
  1104. package/dist/templates/projects/crm/entities/products/products.fields.ts +361 -0
  1105. package/dist/templates/projects/crm/entities/products/products.service.ts +437 -0
  1106. package/dist/templates/projects/crm/entities/products/products.types.ts +125 -0
  1107. package/dist/templates/projects/crm/lib/crm-constants.ts +77 -0
  1108. package/dist/templates/projects/crm/lib/crm-utils.ts +185 -0
  1109. package/dist/templates/projects/crm/lib/selectors.ts +332 -0
  1110. package/dist/templates/projects/crm/messages/en.json +131 -0
  1111. package/dist/templates/projects/crm/messages/es.json +131 -0
  1112. package/dist/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
  1113. package/dist/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
  1114. package/dist/templates/projects/crm/package.json +26 -0
  1115. package/dist/templates/projects/crm/pendings.md +204 -0
  1116. package/dist/templates/projects/crm/permissions-matrix.md +216 -0
  1117. package/dist/templates/projects/crm/styles/components.css +414 -0
  1118. package/dist/templates/projects/crm/styles/crm-theme.css +358 -0
  1119. package/dist/templates/projects/crm/styles/globals.css +624 -0
  1120. package/dist/templates/projects/crm/styles/variables.css +111 -0
  1121. package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
  1122. package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
  1123. package/dist/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
  1124. package/dist/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
  1125. package/dist/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
  1126. package/dist/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
  1127. package/dist/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
  1128. package/dist/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
  1129. package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
  1130. package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
  1131. package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
  1132. package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
  1133. package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
  1134. package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
  1135. package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
  1136. package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
  1137. package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
  1138. package/dist/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
  1139. package/dist/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
  1140. package/dist/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
  1141. package/dist/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
  1142. package/dist/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
  1143. package/dist/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
  1144. package/dist/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
  1145. package/dist/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
  1146. package/dist/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
  1147. package/dist/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
  1148. package/dist/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
  1149. package/dist/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
  1150. package/dist/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
  1151. package/dist/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
  1152. package/dist/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
  1153. package/dist/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
  1154. package/dist/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
  1155. package/dist/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
  1156. package/dist/templates/projects/crm/templates/shared/index.ts +9 -0
  1157. package/dist/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
  1158. package/dist/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
  1159. package/dist/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
  1160. package/dist/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
  1161. package/dist/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
  1162. package/dist/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
  1163. package/dist/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
  1164. package/dist/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
  1165. package/dist/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
  1166. package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
  1167. package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
  1168. package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
  1169. package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
  1170. package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
  1171. package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
  1172. package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
  1173. package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
  1174. package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
  1175. package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
  1176. package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
  1177. package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
  1178. package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
  1179. package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
  1180. package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
  1181. package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
  1182. package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
  1183. package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
  1184. package/dist/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
  1185. package/dist/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
  1186. package/dist/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
  1187. package/dist/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
  1188. package/dist/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
  1189. package/dist/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
  1190. package/dist/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
  1191. package/dist/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
  1192. package/dist/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
  1193. package/dist/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
  1194. package/dist/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
  1195. package/dist/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
  1196. package/dist/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
  1197. package/dist/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
  1198. package/dist/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
  1199. package/dist/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
  1200. package/dist/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
  1201. package/dist/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
  1202. package/dist/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
  1203. package/dist/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
  1204. package/dist/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
  1205. package/dist/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
  1206. package/dist/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
  1207. package/dist/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
  1208. package/dist/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
  1209. package/dist/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
  1210. package/dist/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
  1211. package/dist/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
  1212. package/dist/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
  1213. package/dist/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
  1214. package/dist/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
  1215. package/dist/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
  1216. package/dist/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
  1217. package/dist/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
  1218. package/dist/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
  1219. package/dist/templates/projects/crm/tests/cypress/src/index.js +22 -0
  1220. package/dist/templates/projects/crm/tests/cypress/src/index.ts +68 -0
  1221. package/dist/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
  1222. package/dist/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
  1223. package/dist/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
  1224. package/dist/templates/projects/crm/tests/cypress.config.ts +149 -0
  1225. package/dist/templates/projects/crm/tests/tsconfig.json +7 -0
  1226. package/dist/templates/projects/productivity/README.md +73 -0
  1227. package/dist/templates/projects/productivity/about.md +123 -0
  1228. package/dist/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
  1229. package/dist/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
  1230. package/dist/templates/projects/productivity/components/KanbanCard.tsx +218 -0
  1231. package/dist/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
  1232. package/dist/templates/projects/productivity/components/SortableList.tsx +46 -0
  1233. package/dist/templates/projects/productivity/components/index.ts +4 -0
  1234. package/dist/templates/projects/productivity/config/app.config.ts +165 -0
  1235. package/dist/templates/projects/productivity/config/billing.config.ts +184 -0
  1236. package/dist/templates/projects/productivity/config/dashboard.config.ts +370 -0
  1237. package/dist/templates/projects/productivity/config/dev.config.ts +55 -0
  1238. package/dist/templates/projects/productivity/config/features.config.ts +256 -0
  1239. package/dist/templates/projects/productivity/config/flows.config.ts +484 -0
  1240. package/dist/templates/projects/productivity/config/permissions.config.ts +178 -0
  1241. package/dist/templates/projects/productivity/config/theme.config.ts +106 -0
  1242. package/dist/templates/projects/productivity/entities/boards/api/docs.md +131 -0
  1243. package/dist/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
  1244. package/dist/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
  1245. package/dist/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
  1246. package/dist/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
  1247. package/dist/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
  1248. package/dist/templates/projects/productivity/entities/boards/messages/en.json +80 -0
  1249. package/dist/templates/projects/productivity/entities/boards/messages/es.json +80 -0
  1250. package/dist/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
  1251. package/dist/templates/projects/productivity/entities/cards/api/docs.md +162 -0
  1252. package/dist/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
  1253. package/dist/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
  1254. package/dist/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
  1255. package/dist/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
  1256. package/dist/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
  1257. package/dist/templates/projects/productivity/entities/cards/messages/en.json +114 -0
  1258. package/dist/templates/projects/productivity/entities/cards/messages/es.json +114 -0
  1259. package/dist/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
  1260. package/dist/templates/projects/productivity/entities/lists/api/docs.md +143 -0
  1261. package/dist/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
  1262. package/dist/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
  1263. package/dist/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
  1264. package/dist/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
  1265. package/dist/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
  1266. package/dist/templates/projects/productivity/entities/lists/messages/en.json +60 -0
  1267. package/dist/templates/projects/productivity/entities/lists/messages/es.json +60 -0
  1268. package/dist/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
  1269. package/dist/templates/projects/productivity/lib/selectors.ts +205 -0
  1270. package/dist/templates/projects/productivity/messages/en.json +79 -0
  1271. package/dist/templates/projects/productivity/messages/es.json +79 -0
  1272. package/dist/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
  1273. package/dist/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
  1274. package/dist/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
  1275. package/dist/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
  1276. package/dist/templates/projects/productivity/package.json +29 -0
  1277. package/dist/templates/projects/productivity/permissions-matrix.md +122 -0
  1278. package/dist/templates/projects/productivity/styles/components.css +460 -0
  1279. package/dist/templates/projects/productivity/styles/globals.css +608 -0
  1280. package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
  1281. package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
  1282. package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
  1283. package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
  1284. package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
  1285. package/dist/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
  1286. package/dist/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
  1287. package/dist/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
  1288. package/dist/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
  1289. package/dist/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
  1290. package/dist/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
  1291. package/dist/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
  1292. package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
  1293. package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
  1294. package/dist/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
  1295. package/dist/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
  1296. package/dist/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
  1297. package/dist/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
  1298. package/dist/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
  1299. package/dist/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
  1300. package/dist/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
  1301. package/dist/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
  1302. package/dist/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
  1303. package/dist/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
  1304. package/dist/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
  1305. package/dist/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
  1306. package/dist/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
  1307. package/dist/templates/projects/productivity/tests/cypress.config.ts +149 -0
  1308. package/dist/templates/projects/productivity/tests/tsconfig.json +7 -0
  1309. package/dist/templates/projects/starter/blocks/cta-section/config.ts +10 -0
  1310. package/dist/templates/projects/starter/blocks/features-grid/config.ts +10 -0
  1311. package/dist/templates/projects/starter/blocks/hero/config.ts +10 -0
  1312. package/dist/templates/projects/starter/blocks/testimonials/config.ts +10 -0
  1313. package/dist/templates/projects/starter/blocks/text-content/config.ts +10 -0
  1314. package/dist/templates/projects/starter/emails/_README.md +69 -0
  1315. package/dist/templates/projects/starter/entities/pages/pages.config.ts +95 -0
  1316. package/dist/templates/projects/starter/entities/posts/posts.config.ts +102 -0
  1317. package/dist/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
  1318. package/dist/templates/projects/starter/styles/globals.css +213 -0
  1319. package/dist/templates/projects/starter/templates/(public)/page.tsx +49 -0
  1320. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
  1321. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
  1322. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
  1323. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
  1324. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
  1325. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
  1326. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
  1327. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
  1328. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
  1329. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
  1330. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
  1331. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
  1332. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
  1333. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
  1334. package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
  1335. package/dist/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
  1336. package/dist/templates/projects/starter/tests/cypress.config.ts +215 -0
  1337. package/dist/templates/projects/starter/tests/jest/example.test.tsx +87 -0
  1338. package/dist/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
  1339. package/dist/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
  1340. package/dist/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
  1341. package/dist/templates/projects/starter/tests/tsconfig.json +7 -0
  1342. package/dist/templates/proxy.ts +366 -107
  1343. package/dist/templates/public/uploads/README.md +1 -1
  1344. package/dist/templates/scripts/cy-run-prod.cjs +6 -34
  1345. package/dist/templates/tsconfig.cypress.json +4 -5
  1346. package/dist/templates/tsconfig.json +8 -16
  1347. package/dist/types/api-presets.d.ts +2 -2
  1348. package/dist/types/blocks.d.ts +15 -18
  1349. package/dist/types/blocks.d.ts.map +1 -1
  1350. package/dist/types/blocks.js +1 -8
  1351. package/dist/types/index.d.ts +2 -0
  1352. package/dist/types/index.d.ts.map +1 -1
  1353. package/dist/types/index.js +3 -0
  1354. package/dist/types/plugin.d.ts +40 -0
  1355. package/dist/types/plugin.d.ts.map +1 -1
  1356. package/dist/types/plugin.js +23 -0
  1357. package/dist/types/theme.d.ts +0 -25
  1358. package/dist/types/theme.d.ts.map +1 -1
  1359. package/dist/types/user.types.d.ts +3 -3
  1360. package/dist/types/user.types.d.ts.map +1 -1
  1361. package/dist/types/user.types.js +6 -6
  1362. package/globals.css +5 -7
  1363. package/migrations/028_api_audit_log_insert_policy.sql +18 -0
  1364. package/migrations/090_sample_data.sql +2 -2
  1365. package/migrations/README.md +7 -7
  1366. package/package.json +14 -20
  1367. package/scripts/build/auth-readiness-load.mjs +57 -0
  1368. package/scripts/build/auth-readiness.mjs +210 -0
  1369. package/scripts/build/config-loader.mjs +36 -60
  1370. package/scripts/build/docs-registry.mjs +6 -84
  1371. package/scripts/build/mobile-boundary.mjs +525 -0
  1372. package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +105 -0
  1373. package/scripts/build/registry/__tests__/billing-registry.test.mjs +8 -4
  1374. package/scripts/build/registry/__tests__/block-registry.test.mjs +101 -5
  1375. package/scripts/build/registry/__tests__/build-output.test.mjs +12 -87
  1376. package/scripts/build/registry/__tests__/config-loader-root-first.test.mjs +33 -0
  1377. package/scripts/build/registry/__tests__/icons-discovery.test.mjs +99 -29
  1378. package/scripts/build/registry/__tests__/mcp-registry.test.mjs +6 -6
  1379. package/scripts/build/registry/__tests__/packaged-plugin-discovery.test.mjs +42 -0
  1380. package/scripts/build/registry/__tests__/plugin-capabilities.test.mjs +1030 -0
  1381. package/scripts/build/registry/__tests__/plugin-registry-types.test.mjs +69 -0
  1382. package/scripts/build/registry/__tests__/project-mode-root-first.test.mjs +175 -0
  1383. package/scripts/build/registry/__tests__/safe-fs.test.mjs +5 -29
  1384. package/scripts/build/registry/__tests__/scheduled-actions-registry.test.mjs +2 -2
  1385. package/scripts/build/registry/__tests__/theme-registry.test.mjs +117 -0
  1386. package/scripts/build/registry/__tests__/translation-registry-root-first.test.mjs +38 -0
  1387. package/scripts/build/registry/__tests__/write-places.test.mjs +35 -128
  1388. package/scripts/build/registry/config.mjs +29 -167
  1389. package/scripts/build/registry/contracts/README.md +120 -0
  1390. package/scripts/build/registry/contracts/__tests__/contracts-wire.test.mjs +168 -0
  1391. package/scripts/build/registry/contracts/__tests__/contracts.test.mjs +590 -0
  1392. package/scripts/build/registry/contracts/index.mjs +162 -0
  1393. package/scripts/build/registry/contracts/portable.mjs +58 -0
  1394. package/scripts/build/registry/contracts/publish.mjs +191 -0
  1395. package/scripts/build/registry/contracts/read-columns.mjs +96 -0
  1396. package/scripts/build/registry/contracts/read-entities.mjs +418 -0
  1397. package/scripts/build/registry/contracts/render.mjs +341 -0
  1398. package/scripts/build/registry/discovery/all-entities.mjs +57 -0
  1399. package/scripts/build/registry/discovery/api-presets.mjs +23 -46
  1400. package/scripts/build/registry/discovery/auth.mjs +3 -4
  1401. package/scripts/build/registry/discovery/blocks.mjs +126 -17
  1402. package/scripts/build/registry/discovery/core-routes.mjs +23 -73
  1403. package/scripts/build/registry/discovery/emails.mjs +14 -19
  1404. package/scripts/build/registry/discovery/entities.mjs +14 -18
  1405. package/scripts/build/registry/discovery/icons.mjs +6 -15
  1406. package/scripts/build/registry/discovery/index.mjs +0 -1
  1407. package/scripts/build/registry/discovery/mcp-overrides.mjs +6 -12
  1408. package/scripts/build/registry/discovery/mcp-overrides.test.mjs +24 -63
  1409. package/scripts/build/registry/discovery/middlewares.mjs +21 -82
  1410. package/scripts/build/registry/discovery/parent-child.mjs +2 -6
  1411. package/scripts/build/registry/discovery/permissions.mjs +8 -13
  1412. package/scripts/build/registry/discovery/plugin-capabilities.mjs +912 -0
  1413. package/scripts/build/registry/discovery/plugins.mjs +55 -90
  1414. package/scripts/build/registry/discovery/themes.mjs +79 -385
  1415. package/scripts/build/registry/generators/api-presets-registry.mjs +4 -4
  1416. package/scripts/build/registry/generators/billing-registry.mjs +17 -40
  1417. package/scripts/build/registry/generators/block-registry.mjs +42 -3
  1418. package/scripts/build/registry/generators/docs-registry.mjs +11 -30
  1419. package/scripts/build/registry/generators/email-registry.mjs +4 -4
  1420. package/scripts/build/registry/generators/entity-registry.mjs +3 -3
  1421. package/scripts/build/registry/generators/feature-registry.mjs +5 -7
  1422. package/scripts/build/registry/generators/index.mjs +2 -2
  1423. package/scripts/build/registry/generators/middleware-registry.mjs +2 -2
  1424. package/scripts/build/registry/generators/permissions-registry.mjs +5 -11
  1425. package/scripts/build/registry/generators/plugin-catalog.mjs +73 -0
  1426. package/scripts/build/registry/generators/plugin-registry.mjs +3 -1
  1427. package/scripts/build/registry/generators/route-handlers.mjs +11 -105
  1428. package/scripts/build/registry/generators/theme-registry.mjs +170 -1
  1429. package/scripts/build/registry/generators/translation-registry.mjs +37 -71
  1430. package/scripts/build/registry/generators/unified-registry.mjs +4 -10
  1431. package/scripts/build/registry/host/README.md +296 -0
  1432. package/scripts/build/registry/host/__tests__/diag-write-child.mjs +6 -0
  1433. package/scripts/build/registry/host/__tests__/facade-emitter.test.mjs +659 -0
  1434. package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +278 -0
  1435. package/scripts/build/registry/host/__tests__/host-composition.test.mjs +286 -0
  1436. package/scripts/build/registry/host/__tests__/host-entities.test.mjs +886 -0
  1437. package/scripts/build/registry/host/__tests__/host-generation.test.mjs +382 -0
  1438. package/scripts/build/registry/host/__tests__/host-helpers.mjs +88 -0
  1439. package/scripts/build/registry/host/__tests__/host-mode.test.mjs +153 -0
  1440. package/scripts/build/registry/host/__tests__/host-plan.test.mjs +362 -0
  1441. package/scripts/build/registry/host/__tests__/host-project-composition.test.mjs +269 -0
  1442. package/scripts/build/registry/host/__tests__/host-project.test.mjs +80 -0
  1443. package/scripts/build/registry/host/__tests__/host-proxy-areas.test.mjs +69 -0
  1444. package/scripts/build/registry/host/__tests__/host-robustness.test.mjs +525 -0
  1445. package/scripts/build/registry/host/__tests__/host-watch.test.mjs +162 -0
  1446. package/scripts/build/registry/host/__tests__/lock-race-child.mjs +19 -0
  1447. package/scripts/build/registry/host/__tests__/publish-crash-child.mjs +6 -0
  1448. package/scripts/build/registry/host/__tests__/static-imports.test.mjs +254 -0
  1449. package/scripts/build/registry/host/core-routes.mjs +307 -0
  1450. package/scripts/build/registry/host/entity-routes.mjs +392 -0
  1451. package/scripts/build/registry/host/facade-emitter.mjs +666 -0
  1452. package/scripts/build/registry/host/generation.mjs +723 -0
  1453. package/scripts/build/registry/host/mode.mjs +57 -0
  1454. package/scripts/build/registry/host/next-literal.mjs +87 -0
  1455. package/scripts/build/registry/host/next-route-exports.json +366 -0
  1456. package/scripts/build/registry/host/plan.mjs +668 -0
  1457. package/scripts/build/registry/host/prepare-cli.mjs +191 -0
  1458. package/scripts/build/registry/host/prepare.mjs +722 -0
  1459. package/scripts/build/registry/host/proxy-areas.mjs +56 -0
  1460. package/scripts/build/registry/host/render.mjs +437 -0
  1461. package/scripts/build/registry/host/static-imports.mjs +317 -0
  1462. package/scripts/build/registry/host/webhooks.mjs +93 -0
  1463. package/scripts/build/registry/index.mjs +4 -13
  1464. package/scripts/build/registry/post-build/index.mjs +1 -8
  1465. package/scripts/build/registry/post-build/own-gitignores.mjs +3 -4
  1466. package/scripts/build/registry/post-build/test-fixtures.mjs +20 -30
  1467. package/scripts/build/registry/post-build/tree-display.mjs +6 -6
  1468. package/scripts/build/registry/project-mode.mjs +224 -51
  1469. package/scripts/build/registry/validate-env.test.mjs +4 -89
  1470. package/scripts/build/registry/validation/entity-validator.mjs +5 -6
  1471. package/scripts/build/registry/write-places.mjs +26 -85
  1472. package/scripts/build/registry.mjs +54 -195
  1473. package/scripts/build/routes-manifest.mjs +214 -0
  1474. package/scripts/build/safe-fs.mjs +1 -2
  1475. package/scripts/build/update-tsconfig.mjs +26 -204
  1476. package/scripts/create-plugin.mjs +10 -8
  1477. package/scripts/create-theme.mjs +2 -305
  1478. package/scripts/db/run-migrations.mjs +24 -86
  1479. package/scripts/db/theme-location.mjs +23 -44
  1480. package/scripts/db/verify-theme-migrations.mjs +16 -5
  1481. package/scripts/deploy/vercel-deploy.mjs +8 -10
  1482. package/scripts/dev/watch-plugins.mjs +39 -130
  1483. package/scripts/maintenance/core-updater.mjs +29 -36
  1484. package/scripts/maintenance/step-guard.mjs +1 -1
  1485. package/scripts/postinstall.mjs +25 -43
  1486. package/scripts/setup/setup-ci.mjs +2 -3
  1487. package/scripts/test/build-entities.mjs +27 -107
  1488. package/scripts/test/cy.mjs +29 -125
  1489. package/scripts/test/jest.mjs +22 -50
  1490. package/scripts/update-registry-imports.mjs +0 -1
  1491. package/scripts/validation/check-imports.sh +33 -213
  1492. package/src/lib/entities/portable/media-ref.ts +24 -0
  1493. package/src/lib/entities/portable/response-shape.ts +80 -0
  1494. package/src/lib/entities/portable/schema-generator.ts +965 -0
  1495. package/src/lib/entities/portable/system-fields.ts +11 -0
  1496. package/src/lib/entities/portable/types.ts +71 -0
  1497. package/templates/blocks/README.md +6 -12
  1498. package/templates/blocks/cta-section/config.ts +0 -1
  1499. package/templates/blocks/cta-section/thumbnail.png +0 -0
  1500. package/templates/blocks/features-grid/config.ts +0 -1
  1501. package/templates/blocks/features-grid/thumbnail.png +0 -0
  1502. package/templates/blocks/hero/config.ts +0 -1
  1503. package/templates/blocks/hero/thumbnail.png +0 -0
  1504. package/templates/blocks/testimonials/config.ts +0 -1
  1505. package/templates/blocks/testimonials/thumbnail.png +0 -0
  1506. package/templates/blocks/text-content/config.ts +0 -1
  1507. package/templates/blocks/text-content/thumbnail.png +0 -0
  1508. package/templates/ci-workflows/README.md +4 -5
  1509. package/templates/ci-workflows/github/cypress-regression.yml +7 -14
  1510. package/templates/ci-workflows/github/cypress-smoke.yml +3 -5
  1511. package/templates/eslint.config.mjs +3 -3
  1512. package/templates/features/blog/blocks/post-content/config.ts +0 -1
  1513. package/templates/features/blog/entities/posts/posts.config.ts +1 -1
  1514. package/templates/features/pages/blocks/hero/config.ts +0 -1
  1515. package/templates/features/pages/entities/pages/pages.config.ts +1 -1
  1516. package/templates/instrumentation.ts +9 -0
  1517. package/templates/migrations/README.md +2 -2
  1518. package/templates/next.config.mjs +34 -8
  1519. package/templates/plugins/README.md +42 -0
  1520. package/templates/plugins/starter/plugin/README.md.template +97 -0
  1521. package/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
  1522. package/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
  1523. package/templates/pnpm-workspace.yaml +3 -5
  1524. package/templates/projects/blog/README.md +62 -0
  1525. package/templates/projects/blog/about.md +93 -0
  1526. package/templates/projects/blog/api/authors/[username]/route.ts +153 -0
  1527. package/templates/projects/blog/api/authors/docs.md +135 -0
  1528. package/templates/projects/blog/api/authors/presets.ts +45 -0
  1529. package/templates/projects/blog/api/authors/route.ts +66 -0
  1530. package/templates/projects/blog/api/posts/public/docs.md +124 -0
  1531. package/templates/projects/blog/api/posts/public/presets.ts +65 -0
  1532. package/templates/projects/blog/api/posts/public/route.ts +154 -0
  1533. package/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
  1534. package/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
  1535. package/templates/projects/blog/components/PostsToolbar.tsx +24 -0
  1536. package/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
  1537. package/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
  1538. package/templates/projects/blog/components/index.ts +4 -0
  1539. package/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
  1540. package/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
  1541. package/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
  1542. package/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
  1543. package/templates/projects/blog/components/public/PostCard.tsx +307 -0
  1544. package/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
  1545. package/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
  1546. package/templates/projects/blog/config/app.config.ts +193 -0
  1547. package/templates/projects/blog/config/billing.config.ts +143 -0
  1548. package/templates/projects/blog/config/dashboard.config.ts +346 -0
  1549. package/templates/projects/blog/config/dev.config.ts +48 -0
  1550. package/templates/projects/blog/config/features.config.ts +196 -0
  1551. package/templates/projects/blog/config/flows.config.ts +333 -0
  1552. package/templates/projects/blog/config/permissions.config.ts +112 -0
  1553. package/templates/projects/blog/config/theme.config.ts +128 -0
  1554. package/templates/projects/blog/entities/categories/api/docs.md +119 -0
  1555. package/templates/projects/blog/entities/categories/api/presets.ts +67 -0
  1556. package/templates/projects/blog/entities/categories/categories.config.ts +60 -0
  1557. package/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
  1558. package/templates/projects/blog/entities/categories/categories.service.ts +333 -0
  1559. package/templates/projects/blog/entities/categories/categories.types.ts +58 -0
  1560. package/templates/projects/blog/entities/categories/messages/en.json +33 -0
  1561. package/templates/projects/blog/entities/categories/messages/es.json +33 -0
  1562. package/templates/projects/blog/entities/posts/api/docs.md +174 -0
  1563. package/templates/projects/blog/entities/posts/api/presets.ts +137 -0
  1564. package/templates/projects/blog/entities/posts/messages/en.json +100 -0
  1565. package/templates/projects/blog/entities/posts/messages/es.json +100 -0
  1566. package/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
  1567. package/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
  1568. package/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
  1569. package/templates/projects/blog/entities/posts/posts.config.ts +61 -0
  1570. package/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
  1571. package/templates/projects/blog/entities/posts/posts.service.ts +464 -0
  1572. package/templates/projects/blog/entities/posts/posts.types.ts +80 -0
  1573. package/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
  1574. package/templates/projects/blog/lib/selectors.ts +178 -0
  1575. package/templates/projects/blog/messages/en.json +113 -0
  1576. package/templates/projects/blog/messages/es.json +113 -0
  1577. package/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
  1578. package/templates/projects/blog/migrations/003_categories_table.sql +90 -0
  1579. package/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
  1580. package/templates/projects/blog/migrations/999_sample_data.sql +412 -0
  1581. package/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
  1582. package/templates/projects/blog/package.json +30 -0
  1583. package/templates/projects/blog/permissions-matrix.md +63 -0
  1584. package/templates/projects/blog/styles/article.css +333 -0
  1585. package/templates/projects/blog/styles/components.css +204 -0
  1586. package/templates/projects/blog/styles/globals.css +384 -0
  1587. package/templates/projects/blog/styles/theme.css +167 -0
  1588. package/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
  1589. package/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
  1590. package/templates/projects/blog/templates/(public)/layout.tsx +44 -0
  1591. package/templates/projects/blog/templates/(public)/page.tsx +277 -0
  1592. package/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
  1593. package/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
  1594. package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
  1595. package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
  1596. package/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
  1597. package/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
  1598. package/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
  1599. package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
  1600. package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
  1601. package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
  1602. package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
  1603. package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
  1604. package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
  1605. package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
  1606. package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
  1607. package/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
  1608. package/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
  1609. package/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
  1610. package/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
  1611. package/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
  1612. package/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
  1613. package/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
  1614. package/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
  1615. package/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
  1616. package/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
  1617. package/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
  1618. package/templates/projects/blog/tests/cypress/src/index.js +33 -0
  1619. package/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
  1620. package/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
  1621. package/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
  1622. package/templates/projects/blog/tests/cypress.config.ts +149 -0
  1623. package/templates/projects/blog/tests/jest/__mocks__/jose.js +22 -0
  1624. package/templates/projects/blog/tests/jest/__mocks__/next-server.js +56 -0
  1625. package/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
  1626. package/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
  1627. package/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
  1628. package/templates/projects/blog/tests/jest/setup.ts +170 -0
  1629. package/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
  1630. package/templates/projects/blog/tests/tsconfig.json +7 -0
  1631. package/templates/projects/crm/CRM_PLAN.md +343 -0
  1632. package/templates/projects/crm/about.md +122 -0
  1633. package/templates/projects/crm/config/app.config.ts +178 -0
  1634. package/templates/projects/crm/config/billing.config.ts +184 -0
  1635. package/templates/projects/crm/config/dashboard.config.ts +385 -0
  1636. package/templates/projects/crm/config/dev.config.ts +55 -0
  1637. package/templates/projects/crm/config/features.config.ts +336 -0
  1638. package/templates/projects/crm/config/flows.config.ts +511 -0
  1639. package/templates/projects/crm/config/permissions.config.ts +308 -0
  1640. package/templates/projects/crm/config/theme.config.ts +111 -0
  1641. package/templates/projects/crm/entities/activities/activities.config.ts +61 -0
  1642. package/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
  1643. package/templates/projects/crm/entities/activities/activities.service.ts +503 -0
  1644. package/templates/projects/crm/entities/activities/activities.types.ts +117 -0
  1645. package/templates/projects/crm/entities/activities/api/docs.md +146 -0
  1646. package/templates/projects/crm/entities/activities/api/presets.ts +132 -0
  1647. package/templates/projects/crm/entities/activities/messages/en.json +123 -0
  1648. package/templates/projects/crm/entities/activities/messages/es.json +123 -0
  1649. package/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
  1650. package/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
  1651. package/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
  1652. package/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
  1653. package/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
  1654. package/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
  1655. package/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
  1656. package/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
  1657. package/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
  1658. package/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
  1659. package/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
  1660. package/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
  1661. package/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
  1662. package/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
  1663. package/templates/projects/crm/entities/companies/api/docs.md +139 -0
  1664. package/templates/projects/crm/entities/companies/api/presets.ts +107 -0
  1665. package/templates/projects/crm/entities/companies/companies.config.ts +61 -0
  1666. package/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
  1667. package/templates/projects/crm/entities/companies/companies.service.ts +566 -0
  1668. package/templates/projects/crm/entities/companies/companies.types.ts +125 -0
  1669. package/templates/projects/crm/entities/companies/messages/en.json +146 -0
  1670. package/templates/projects/crm/entities/companies/messages/es.json +146 -0
  1671. package/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
  1672. package/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
  1673. package/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
  1674. package/templates/projects/crm/entities/contacts/api/docs.md +139 -0
  1675. package/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
  1676. package/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
  1677. package/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
  1678. package/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
  1679. package/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
  1680. package/templates/projects/crm/entities/contacts/messages/en.json +117 -0
  1681. package/templates/projects/crm/entities/contacts/messages/es.json +117 -0
  1682. package/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
  1683. package/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
  1684. package/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
  1685. package/templates/projects/crm/entities/leads/api/docs.md +132 -0
  1686. package/templates/projects/crm/entities/leads/api/presets.ts +109 -0
  1687. package/templates/projects/crm/entities/leads/leads.config.ts +61 -0
  1688. package/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
  1689. package/templates/projects/crm/entities/leads/leads.service.ts +496 -0
  1690. package/templates/projects/crm/entities/leads/leads.types.ts +114 -0
  1691. package/templates/projects/crm/entities/leads/messages/en.json +132 -0
  1692. package/templates/projects/crm/entities/leads/messages/es.json +132 -0
  1693. package/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
  1694. package/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
  1695. package/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
  1696. package/templates/projects/crm/entities/notes/api/docs.md +135 -0
  1697. package/templates/projects/crm/entities/notes/api/presets.ts +115 -0
  1698. package/templates/projects/crm/entities/notes/messages/en.json +114 -0
  1699. package/templates/projects/crm/entities/notes/messages/es.json +114 -0
  1700. package/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
  1701. package/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
  1702. package/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
  1703. package/templates/projects/crm/entities/notes/notes.config.ts +61 -0
  1704. package/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
  1705. package/templates/projects/crm/entities/notes/notes.service.ts +320 -0
  1706. package/templates/projects/crm/entities/notes/notes.types.ts +102 -0
  1707. package/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
  1708. package/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
  1709. package/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
  1710. package/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
  1711. package/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
  1712. package/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
  1713. package/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
  1714. package/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
  1715. package/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
  1716. package/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
  1717. package/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
  1718. package/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
  1719. package/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
  1720. package/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
  1721. package/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
  1722. package/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
  1723. package/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
  1724. package/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
  1725. package/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
  1726. package/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
  1727. package/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
  1728. package/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
  1729. package/templates/projects/crm/entities/products/api/docs.md +137 -0
  1730. package/templates/projects/crm/entities/products/api/presets.ts +132 -0
  1731. package/templates/projects/crm/entities/products/messages/en.json +135 -0
  1732. package/templates/projects/crm/entities/products/messages/es.json +135 -0
  1733. package/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
  1734. package/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
  1735. package/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
  1736. package/templates/projects/crm/entities/products/products.config.ts +62 -0
  1737. package/templates/projects/crm/entities/products/products.fields.ts +361 -0
  1738. package/templates/projects/crm/entities/products/products.service.ts +437 -0
  1739. package/templates/projects/crm/entities/products/products.types.ts +125 -0
  1740. package/templates/projects/crm/lib/crm-constants.ts +77 -0
  1741. package/templates/projects/crm/lib/crm-utils.ts +185 -0
  1742. package/templates/projects/crm/lib/selectors.ts +332 -0
  1743. package/templates/projects/crm/messages/en.json +131 -0
  1744. package/templates/projects/crm/messages/es.json +131 -0
  1745. package/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
  1746. package/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
  1747. package/templates/projects/crm/package.json +26 -0
  1748. package/templates/projects/crm/pendings.md +204 -0
  1749. package/templates/projects/crm/permissions-matrix.md +216 -0
  1750. package/templates/projects/crm/styles/components.css +414 -0
  1751. package/templates/projects/crm/styles/crm-theme.css +358 -0
  1752. package/templates/projects/crm/styles/globals.css +624 -0
  1753. package/templates/projects/crm/styles/variables.css +111 -0
  1754. package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
  1755. package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
  1756. package/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
  1757. package/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
  1758. package/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
  1759. package/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
  1760. package/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
  1761. package/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
  1762. package/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
  1763. package/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
  1764. package/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
  1765. package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
  1766. package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
  1767. package/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
  1768. package/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
  1769. package/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
  1770. package/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
  1771. package/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
  1772. package/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
  1773. package/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
  1774. package/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
  1775. package/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
  1776. package/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
  1777. package/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
  1778. package/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
  1779. package/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
  1780. package/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
  1781. package/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
  1782. package/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
  1783. package/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
  1784. package/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
  1785. package/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
  1786. package/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
  1787. package/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
  1788. package/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
  1789. package/templates/projects/crm/templates/shared/index.ts +9 -0
  1790. package/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
  1791. package/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
  1792. package/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
  1793. package/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
  1794. package/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
  1795. package/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
  1796. package/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
  1797. package/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
  1798. package/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
  1799. package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
  1800. package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
  1801. package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
  1802. package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
  1803. package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
  1804. package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
  1805. package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
  1806. package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
  1807. package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
  1808. package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
  1809. package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
  1810. package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
  1811. package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
  1812. package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
  1813. package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
  1814. package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
  1815. package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
  1816. package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
  1817. package/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
  1818. package/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
  1819. package/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
  1820. package/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
  1821. package/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
  1822. package/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
  1823. package/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
  1824. package/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
  1825. package/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
  1826. package/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
  1827. package/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
  1828. package/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
  1829. package/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
  1830. package/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
  1831. package/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
  1832. package/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
  1833. package/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
  1834. package/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
  1835. package/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
  1836. package/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
  1837. package/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
  1838. package/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
  1839. package/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
  1840. package/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
  1841. package/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
  1842. package/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
  1843. package/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
  1844. package/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
  1845. package/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
  1846. package/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
  1847. package/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
  1848. package/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
  1849. package/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
  1850. package/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
  1851. package/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
  1852. package/templates/projects/crm/tests/cypress/src/index.js +22 -0
  1853. package/templates/projects/crm/tests/cypress/src/index.ts +68 -0
  1854. package/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
  1855. package/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
  1856. package/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
  1857. package/templates/projects/crm/tests/cypress.config.ts +149 -0
  1858. package/templates/projects/crm/tests/tsconfig.json +7 -0
  1859. package/templates/projects/productivity/README.md +73 -0
  1860. package/templates/projects/productivity/about.md +123 -0
  1861. package/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
  1862. package/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
  1863. package/templates/projects/productivity/components/KanbanCard.tsx +218 -0
  1864. package/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
  1865. package/templates/projects/productivity/components/SortableList.tsx +46 -0
  1866. package/templates/projects/productivity/components/index.ts +4 -0
  1867. package/templates/projects/productivity/config/app.config.ts +165 -0
  1868. package/templates/projects/productivity/config/billing.config.ts +184 -0
  1869. package/templates/projects/productivity/config/dashboard.config.ts +370 -0
  1870. package/templates/projects/productivity/config/dev.config.ts +55 -0
  1871. package/templates/projects/productivity/config/features.config.ts +256 -0
  1872. package/templates/projects/productivity/config/flows.config.ts +484 -0
  1873. package/templates/projects/productivity/config/permissions.config.ts +178 -0
  1874. package/templates/projects/productivity/config/theme.config.ts +106 -0
  1875. package/templates/projects/productivity/entities/boards/api/docs.md +131 -0
  1876. package/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
  1877. package/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
  1878. package/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
  1879. package/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
  1880. package/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
  1881. package/templates/projects/productivity/entities/boards/messages/en.json +80 -0
  1882. package/templates/projects/productivity/entities/boards/messages/es.json +80 -0
  1883. package/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
  1884. package/templates/projects/productivity/entities/cards/api/docs.md +162 -0
  1885. package/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
  1886. package/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
  1887. package/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
  1888. package/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
  1889. package/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
  1890. package/templates/projects/productivity/entities/cards/messages/en.json +114 -0
  1891. package/templates/projects/productivity/entities/cards/messages/es.json +114 -0
  1892. package/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
  1893. package/templates/projects/productivity/entities/lists/api/docs.md +143 -0
  1894. package/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
  1895. package/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
  1896. package/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
  1897. package/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
  1898. package/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
  1899. package/templates/projects/productivity/entities/lists/messages/en.json +60 -0
  1900. package/templates/projects/productivity/entities/lists/messages/es.json +60 -0
  1901. package/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
  1902. package/templates/projects/productivity/lib/selectors.ts +205 -0
  1903. package/templates/projects/productivity/messages/en.json +79 -0
  1904. package/templates/projects/productivity/messages/es.json +79 -0
  1905. package/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
  1906. package/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
  1907. package/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
  1908. package/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
  1909. package/templates/projects/productivity/package.json +29 -0
  1910. package/templates/projects/productivity/permissions-matrix.md +122 -0
  1911. package/templates/projects/productivity/styles/components.css +460 -0
  1912. package/templates/projects/productivity/styles/globals.css +608 -0
  1913. package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
  1914. package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
  1915. package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
  1916. package/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
  1917. package/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
  1918. package/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
  1919. package/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
  1920. package/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
  1921. package/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
  1922. package/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
  1923. package/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
  1924. package/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
  1925. package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
  1926. package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
  1927. package/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
  1928. package/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
  1929. package/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
  1930. package/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
  1931. package/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
  1932. package/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
  1933. package/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
  1934. package/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
  1935. package/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
  1936. package/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
  1937. package/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
  1938. package/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
  1939. package/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
  1940. package/templates/projects/productivity/tests/cypress.config.ts +149 -0
  1941. package/templates/projects/productivity/tests/tsconfig.json +7 -0
  1942. package/templates/projects/starter/blocks/cta-section/config.ts +10 -0
  1943. package/templates/projects/starter/blocks/features-grid/config.ts +10 -0
  1944. package/templates/projects/starter/blocks/hero/config.ts +10 -0
  1945. package/templates/projects/starter/blocks/testimonials/config.ts +10 -0
  1946. package/templates/projects/starter/blocks/text-content/config.ts +10 -0
  1947. package/templates/projects/starter/emails/_README.md +69 -0
  1948. package/templates/projects/starter/entities/pages/pages.config.ts +95 -0
  1949. package/templates/projects/starter/entities/posts/posts.config.ts +102 -0
  1950. package/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
  1951. package/templates/projects/starter/styles/globals.css +213 -0
  1952. package/templates/projects/starter/templates/(public)/page.tsx +49 -0
  1953. package/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
  1954. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
  1955. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
  1956. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
  1957. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
  1958. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
  1959. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
  1960. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
  1961. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
  1962. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
  1963. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
  1964. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
  1965. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
  1966. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
  1967. package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
  1968. package/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
  1969. package/templates/projects/starter/tests/cypress.config.ts +215 -0
  1970. package/templates/projects/starter/tests/jest/__mocks__/jose.js +22 -0
  1971. package/templates/projects/starter/tests/jest/__mocks__/next-server.js +56 -0
  1972. package/templates/projects/starter/tests/jest/example.test.tsx +87 -0
  1973. package/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
  1974. package/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
  1975. package/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
  1976. package/templates/projects/starter/tests/tsconfig.json +7 -0
  1977. package/templates/proxy.ts +366 -107
  1978. package/templates/public/uploads/README.md +1 -1
  1979. package/templates/scripts/cy-run-prod.cjs +6 -34
  1980. package/templates/tsconfig.cypress.json +4 -5
  1981. package/templates/tsconfig.json +8 -16
  1982. package/tests/jest/__mocks__/@nextsparkjs/registries/app-config.client.ts +3 -0
  1983. package/tests/jest/__mocks__/@nextsparkjs/registries/block-schemas.ts +5 -0
  1984. package/tests/jest/__mocks__/@nextsparkjs/registries/dashboard-config.client.ts +2 -0
  1985. package/tests/jest/__mocks__/@nextsparkjs/registries/dev-keyring.client.ts +2 -0
  1986. package/tests/jest/__mocks__/@nextsparkjs/registries/docs-registry.ts +7 -7
  1987. package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-catalog.ts +21 -0
  1988. package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-registry.client.ts +9 -0
  1989. package/tests/jest/__mocks__/@nextsparkjs/registries/route-handlers.ts +1 -11
  1990. package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.client.ts +41 -0
  1991. package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.ts +2 -3
  1992. package/tests/jest/__mocks__/@nextsparkjs/registries/translation-registry.ts +6 -0
  1993. package/dist/lib/api/entity/public-resolver.d.ts +0 -28
  1994. package/dist/lib/api/entity/public-resolver.d.ts.map +0 -1
  1995. package/dist/lib/api/entity/public-resolver.js +0 -95
  1996. package/dist/lib/services/middleware.service.d.ts +0 -66
  1997. package/dist/lib/services/middleware.service.d.ts.map +0 -1
  1998. package/dist/lib/services/middleware.service.js +0 -111
  1999. package/dist/lib/services/route-handler.service.d.ts +0 -155
  2000. package/dist/lib/services/route-handler.service.d.ts.map +0 -1
  2001. package/dist/lib/services/route-handler.service.js +0 -160
  2002. package/dist/lib/services/template.service.d.ts +0 -148
  2003. package/dist/lib/services/template.service.d.ts.map +0 -1
  2004. package/dist/lib/services/template.service.js +0 -184
  2005. package/dist/lib/template-resolver.d.ts +0 -103
  2006. package/dist/lib/template-resolver.d.ts.map +0 -1
  2007. package/dist/lib/template-resolver.js +0 -120
  2008. package/dist/lib/theme/theme-loader.d.ts +0 -59
  2009. package/dist/lib/theme/theme-loader.d.ts.map +0 -1
  2010. package/dist/lib/theme/theme-loader.js +0 -191
  2011. package/dist/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
  2012. package/dist/templates/app/(auth)/auth-error/page.tsx +0 -25
  2013. package/dist/templates/app/(auth)/forgot-password/page.tsx +0 -215
  2014. package/dist/templates/app/(auth)/layout.tsx +0 -54
  2015. package/dist/templates/app/(auth)/login/page.tsx +0 -22
  2016. package/dist/templates/app/(auth)/reset-password/page.tsx +0 -211
  2017. package/dist/templates/app/(auth)/signup/page.tsx +0 -63
  2018. package/dist/templates/app/(auth)/verify-email/page.tsx +0 -190
  2019. package/dist/templates/app/(public)/[...slug]/page.tsx +0 -386
  2020. package/dist/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
  2021. package/dist/templates/app/(public)/docs/layout.tsx +0 -25
  2022. package/dist/templates/app/(public)/docs/page.tsx +0 -81
  2023. package/dist/templates/app/(public)/layout.tsx +0 -44
  2024. package/dist/templates/app/(public)/page.tsx +0 -19
  2025. package/dist/templates/app/403/page.tsx +0 -89
  2026. package/dist/templates/app/api/auth/[...all]/route.ts +0 -214
  2027. package/dist/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
  2028. package/dist/templates/app/api/csp-report/route.ts +0 -181
  2029. package/dist/templates/app/api/devtools/config/entities/route.ts +0 -115
  2030. package/dist/templates/app/api/devtools/config/theme/route.ts +0 -67
  2031. package/dist/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
  2032. package/dist/templates/app/api/devtools/tests/route.ts +0 -135
  2033. package/dist/templates/app/api/health/route.ts +0 -53
  2034. package/dist/templates/app/api/internal/user-metadata/route.ts +0 -47
  2035. package/dist/templates/app/api/mcp/route.ts +0 -176
  2036. package/dist/templates/app/api/superadmin/subscriptions/route.ts +0 -315
  2037. package/dist/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
  2038. package/dist/templates/app/api/superadmin/teams/route.ts +0 -187
  2039. package/dist/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
  2040. package/dist/templates/app/api/superadmin/users/route.ts +0 -322
  2041. package/dist/templates/app/api/user/delete-account/route.ts +0 -58
  2042. package/dist/templates/app/api/user/plan-flags/route.ts +0 -270
  2043. package/dist/templates/app/api/user/profile/route.ts +0 -129
  2044. package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
  2045. package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
  2046. package/dist/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
  2047. package/dist/templates/app/api/v1/[entity]/route.ts +0 -29
  2048. package/dist/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
  2049. package/dist/templates/app/api/v1/api-keys/route.ts +0 -241
  2050. package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
  2051. package/dist/templates/app/api/v1/billing/cancel/route.ts +0 -206
  2052. package/dist/templates/app/api/v1/billing/change-plan/route.ts +0 -99
  2053. package/dist/templates/app/api/v1/billing/check-action/route.ts +0 -85
  2054. package/dist/templates/app/api/v1/billing/checkout/route.ts +0 -153
  2055. package/dist/templates/app/api/v1/billing/plans/route.ts +0 -82
  2056. package/dist/templates/app/api/v1/billing/portal/route.ts +0 -93
  2057. package/dist/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
  2058. package/dist/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
  2059. package/dist/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
  2060. package/dist/templates/app/api/v1/blocks/docs.md +0 -173
  2061. package/dist/templates/app/api/v1/blocks/route.ts +0 -46
  2062. package/dist/templates/app/api/v1/blocks/validate/route.ts +0 -47
  2063. package/dist/templates/app/api/v1/cron/process/route.ts +0 -106
  2064. package/dist/templates/app/api/v1/devtools/blocks/route.ts +0 -84
  2065. package/dist/templates/app/api/v1/devtools/docs/route.ts +0 -153
  2066. package/dist/templates/app/api/v1/devtools/docs.md +0 -204
  2067. package/dist/templates/app/api/v1/devtools/features/route.ts +0 -63
  2068. package/dist/templates/app/api/v1/devtools/flows/route.ts +0 -63
  2069. package/dist/templates/app/api/v1/devtools/presets.ts +0 -113
  2070. package/dist/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
  2071. package/dist/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
  2072. package/dist/templates/app/api/v1/devtools/testing/route.ts +0 -84
  2073. package/dist/templates/app/api/v1/media/[id]/route.ts +0 -168
  2074. package/dist/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
  2075. package/dist/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
  2076. package/dist/templates/app/api/v1/media/route.ts +0 -64
  2077. package/dist/templates/app/api/v1/media/upload/route.ts +0 -274
  2078. package/dist/templates/app/api/v1/media-tags/route.ts +0 -81
  2079. package/dist/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
  2080. package/dist/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
  2081. package/dist/templates/app/api/v1/plugin/docs.md +0 -79
  2082. package/dist/templates/app/api/v1/plugin/presets.ts +0 -21
  2083. package/dist/templates/app/api/v1/plugin/route.ts +0 -97
  2084. package/dist/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
  2085. package/dist/templates/app/api/v1/post-categories/route.ts +0 -121
  2086. package/dist/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
  2087. package/dist/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
  2088. package/dist/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
  2089. package/dist/templates/app/api/v1/team-invitations/route.ts +0 -113
  2090. package/dist/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
  2091. package/dist/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
  2092. package/dist/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
  2093. package/dist/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
  2094. package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
  2095. package/dist/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
  2096. package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
  2097. package/dist/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
  2098. package/dist/templates/app/api/v1/teams/route.ts +0 -305
  2099. package/dist/templates/app/api/v1/teams/switch/route.ts +0 -106
  2100. package/dist/templates/app/api/v1/theme/[...path]/route.ts +0 -383
  2101. package/dist/templates/app/api/v1/theme/docs.md +0 -74
  2102. package/dist/templates/app/api/v1/theme/presets.ts +0 -21
  2103. package/dist/templates/app/api/v1/theme/route.ts +0 -97
  2104. package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
  2105. package/dist/templates/app/api/v1/users/[id]/route.ts +0 -270
  2106. package/dist/templates/app/api/v1/users/route.ts +0 -194
  2107. package/dist/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
  2108. package/dist/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
  2109. package/dist/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
  2110. package/dist/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
  2111. package/dist/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
  2112. package/dist/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
  2113. package/dist/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
  2114. package/dist/templates/app/dashboard/(main)/layout.tsx +0 -99
  2115. package/dist/templates/app/dashboard/(main)/loading.tsx +0 -8
  2116. package/dist/templates/app/dashboard/(main)/media/page.tsx +0 -621
  2117. package/dist/templates/app/dashboard/(main)/page.tsx +0 -201
  2118. package/dist/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
  2119. package/dist/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
  2120. package/dist/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
  2121. package/dist/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
  2122. package/dist/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
  2123. package/dist/templates/app/dashboard/features/analytics/page.tsx +0 -38
  2124. package/dist/templates/app/dashboard/features/automation/page.tsx +0 -38
  2125. package/dist/templates/app/dashboard/features/layout.tsx +0 -16
  2126. package/dist/templates/app/dashboard/features/loading.tsx +0 -8
  2127. package/dist/templates/app/dashboard/features/webhooks/page.tsx +0 -38
  2128. package/dist/templates/app/dashboard/layout.tsx +0 -87
  2129. package/dist/templates/app/dashboard/permission-denied/page.tsx +0 -32
  2130. package/dist/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
  2131. package/dist/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
  2132. package/dist/templates/app/dashboard/settings/billing/loading.tsx +0 -8
  2133. package/dist/templates/app/dashboard/settings/billing/page.tsx +0 -289
  2134. package/dist/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
  2135. package/dist/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
  2136. package/dist/templates/app/dashboard/settings/invoices/page.tsx +0 -82
  2137. package/dist/templates/app/dashboard/settings/layout.tsx +0 -151
  2138. package/dist/templates/app/dashboard/settings/loading.tsx +0 -8
  2139. package/dist/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
  2140. package/dist/templates/app/dashboard/settings/notifications/page.tsx +0 -462
  2141. package/dist/templates/app/dashboard/settings/page.tsx +0 -93
  2142. package/dist/templates/app/dashboard/settings/password/loading.tsx +0 -8
  2143. package/dist/templates/app/dashboard/settings/password/page.tsx +0 -305
  2144. package/dist/templates/app/dashboard/settings/plans/loading.tsx +0 -8
  2145. package/dist/templates/app/dashboard/settings/plans/page.tsx +0 -62
  2146. package/dist/templates/app/dashboard/settings/profile/loading.tsx +0 -8
  2147. package/dist/templates/app/dashboard/settings/profile/page.tsx +0 -688
  2148. package/dist/templates/app/dashboard/settings/security/loading.tsx +0 -8
  2149. package/dist/templates/app/dashboard/settings/security/page.tsx +0 -506
  2150. package/dist/templates/app/dashboard/settings/teams/loading.tsx +0 -8
  2151. package/dist/templates/app/dashboard/settings/teams/page.tsx +0 -272
  2152. package/dist/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
  2153. package/dist/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
  2154. package/dist/templates/app/devtools/api/layout.tsx +0 -23
  2155. package/dist/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
  2156. package/dist/templates/app/devtools/blocks/page.tsx +0 -40
  2157. package/dist/templates/app/devtools/config/page.tsx +0 -40
  2158. package/dist/templates/app/devtools/features/page.tsx +0 -40
  2159. package/dist/templates/app/devtools/flows/page.tsx +0 -40
  2160. package/dist/templates/app/devtools/layout.tsx +0 -66
  2161. package/dist/templates/app/devtools/page.tsx +0 -130
  2162. package/dist/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
  2163. package/dist/templates/app/devtools/scheduled-actions/page.tsx +0 -158
  2164. package/dist/templates/app/devtools/style/page.tsx +0 -330
  2165. package/dist/templates/app/devtools/tags/page.tsx +0 -40
  2166. package/dist/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
  2167. package/dist/templates/app/favicon.ico +0 -0
  2168. package/dist/templates/app/globals.css +0 -12
  2169. package/dist/templates/app/layout.ppr.tsx +0 -105
  2170. package/dist/templates/app/layout.tsx +0 -118
  2171. package/dist/templates/app/public/page.tsx +0 -30
  2172. package/dist/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
  2173. package/dist/templates/app/superadmin/docs/page.tsx +0 -75
  2174. package/dist/templates/app/superadmin/layout.tsx +0 -96
  2175. package/dist/templates/app/superadmin/page.tsx +0 -149
  2176. package/dist/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
  2177. package/dist/templates/app/superadmin/subscriptions/page.tsx +0 -658
  2178. package/dist/templates/app/superadmin/team-roles/page.tsx +0 -493
  2179. package/dist/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
  2180. package/dist/templates/app/superadmin/teams/page.tsx +0 -302
  2181. package/dist/templates/app/superadmin/users/[userId]/page.tsx +0 -549
  2182. package/dist/templates/app/superadmin/users/page.tsx +0 -529
  2183. package/dist/templates/contents/plugins/README.md +0 -42
  2184. package/dist/templates/contents/plugins/starter/plugin/README.md.template +0 -97
  2185. package/dist/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
  2186. package/dist/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
  2187. package/dist/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
  2188. package/dist/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
  2189. package/dist/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
  2190. package/dist/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
  2191. package/dist/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
  2192. package/dist/templates/contents/themes/starter/emails/_README.md +0 -69
  2193. package/dist/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
  2194. package/dist/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
  2195. package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
  2196. package/dist/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
  2197. package/dist/templates/contents/themes/starter/styles/globals.css +0 -214
  2198. package/dist/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
  2199. package/dist/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
  2200. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
  2201. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
  2202. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
  2203. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
  2204. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
  2205. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
  2206. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
  2207. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
  2208. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
  2209. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
  2210. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
  2211. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
  2212. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
  2213. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
  2214. package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
  2215. package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
  2216. package/dist/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
  2217. package/dist/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
  2218. package/dist/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
  2219. package/dist/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
  2220. package/dist/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
  2221. package/dist/templates/contents/themes/starter/tests/tsconfig.json +0 -15
  2222. package/dist/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
  2223. package/dist/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
  2224. package/dist/templates/public/theme/blocks/hero/thumbnail.png +0 -1
  2225. package/dist/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
  2226. package/dist/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
  2227. package/scripts/build/registry/__tests__/globals-css-tag.test.mjs +0 -66
  2228. package/scripts/build/registry/__tests__/page-generator.test.mjs +0 -604
  2229. package/scripts/build/registry/__tests__/published-signatures.test.mjs +0 -239
  2230. package/scripts/build/registry/__tests__/route-file-rule.test.mjs +0 -170
  2231. package/scripts/build/registry/__tests__/template-analysis.test.mjs +0 -142
  2232. package/scripts/build/registry/__tests__/template-registry.test.mjs +0 -693
  2233. package/scripts/build/registry/__tests__/templates-plan.test.mjs +0 -128
  2234. package/scripts/build/registry/__tests__/templates-tree.test.mjs +0 -367
  2235. package/scripts/build/registry/discovery/templates.mjs +0 -250
  2236. package/scripts/build/registry/generators/template-registry.mjs +0 -560
  2237. package/scripts/build/registry/post-build/page-generator.mjs +0 -1066
  2238. package/scripts/build/registry/post-build/route-cleanup.mjs +0 -199
  2239. package/scripts/build/registry/watch.mjs +0 -80
  2240. package/scripts/build/templates-plan.mjs +0 -44
  2241. package/scripts/build/theme.mjs +0 -452
  2242. package/scripts/generate-app.mjs +0 -190
  2243. package/scripts/setup/npm-postinstall.mjs +0 -193
  2244. package/scripts/setup/postinstall.mjs +0 -155
  2245. package/scripts/test/jest-theme.mjs +0 -65
  2246. package/scripts/utils/generated-tag.mjs +0 -66
  2247. package/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
  2248. package/templates/app/(auth)/auth-error/page.tsx +0 -25
  2249. package/templates/app/(auth)/forgot-password/page.tsx +0 -215
  2250. package/templates/app/(auth)/layout.tsx +0 -54
  2251. package/templates/app/(auth)/login/page.tsx +0 -22
  2252. package/templates/app/(auth)/reset-password/page.tsx +0 -211
  2253. package/templates/app/(auth)/signup/page.tsx +0 -63
  2254. package/templates/app/(auth)/verify-email/page.tsx +0 -190
  2255. package/templates/app/(public)/[...slug]/page.tsx +0 -386
  2256. package/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
  2257. package/templates/app/(public)/docs/layout.tsx +0 -25
  2258. package/templates/app/(public)/docs/page.tsx +0 -81
  2259. package/templates/app/(public)/layout.tsx +0 -44
  2260. package/templates/app/(public)/page.tsx +0 -19
  2261. package/templates/app/403/page.tsx +0 -89
  2262. package/templates/app/api/auth/[...all]/route.ts +0 -214
  2263. package/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
  2264. package/templates/app/api/csp-report/route.ts +0 -181
  2265. package/templates/app/api/devtools/config/entities/route.ts +0 -115
  2266. package/templates/app/api/devtools/config/theme/route.ts +0 -67
  2267. package/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
  2268. package/templates/app/api/devtools/tests/route.ts +0 -135
  2269. package/templates/app/api/health/route.ts +0 -53
  2270. package/templates/app/api/internal/user-metadata/route.ts +0 -47
  2271. package/templates/app/api/mcp/route.ts +0 -176
  2272. package/templates/app/api/superadmin/subscriptions/route.ts +0 -315
  2273. package/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
  2274. package/templates/app/api/superadmin/teams/route.ts +0 -187
  2275. package/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
  2276. package/templates/app/api/superadmin/users/route.ts +0 -322
  2277. package/templates/app/api/user/delete-account/route.ts +0 -58
  2278. package/templates/app/api/user/plan-flags/route.ts +0 -270
  2279. package/templates/app/api/user/profile/route.ts +0 -129
  2280. package/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
  2281. package/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
  2282. package/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
  2283. package/templates/app/api/v1/[entity]/docs.md +0 -369
  2284. package/templates/app/api/v1/[entity]/presets.ts +0 -194
  2285. package/templates/app/api/v1/[entity]/route.ts +0 -29
  2286. package/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
  2287. package/templates/app/api/v1/api-keys/docs.md +0 -101
  2288. package/templates/app/api/v1/api-keys/presets.ts +0 -31
  2289. package/templates/app/api/v1/api-keys/route.ts +0 -241
  2290. package/templates/app/api/v1/auth/docs.md +0 -184
  2291. package/templates/app/api/v1/auth/presets.ts +0 -44
  2292. package/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
  2293. package/templates/app/api/v1/billing/cancel/route.ts +0 -206
  2294. package/templates/app/api/v1/billing/change-plan/route.ts +0 -99
  2295. package/templates/app/api/v1/billing/check-action/route.ts +0 -85
  2296. package/templates/app/api/v1/billing/checkout/route.ts +0 -153
  2297. package/templates/app/api/v1/billing/docs.md +0 -209
  2298. package/templates/app/api/v1/billing/plans/route.ts +0 -82
  2299. package/templates/app/api/v1/billing/portal/route.ts +0 -93
  2300. package/templates/app/api/v1/billing/presets.ts +0 -121
  2301. package/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
  2302. package/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
  2303. package/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
  2304. package/templates/app/api/v1/blocks/docs.md +0 -173
  2305. package/templates/app/api/v1/blocks/presets.ts +0 -121
  2306. package/templates/app/api/v1/blocks/route.ts +0 -46
  2307. package/templates/app/api/v1/blocks/validate/route.ts +0 -47
  2308. package/templates/app/api/v1/cron/docs.md +0 -116
  2309. package/templates/app/api/v1/cron/presets.ts +0 -26
  2310. package/templates/app/api/v1/cron/process/route.ts +0 -106
  2311. package/templates/app/api/v1/devtools/blocks/route.ts +0 -84
  2312. package/templates/app/api/v1/devtools/docs/route.ts +0 -153
  2313. package/templates/app/api/v1/devtools/docs.md +0 -204
  2314. package/templates/app/api/v1/devtools/features/route.ts +0 -63
  2315. package/templates/app/api/v1/devtools/flows/route.ts +0 -63
  2316. package/templates/app/api/v1/devtools/presets.ts +0 -113
  2317. package/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
  2318. package/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
  2319. package/templates/app/api/v1/devtools/testing/route.ts +0 -84
  2320. package/templates/app/api/v1/media/[id]/route.ts +0 -168
  2321. package/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
  2322. package/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
  2323. package/templates/app/api/v1/media/docs.md +0 -117
  2324. package/templates/app/api/v1/media/presets.ts +0 -24
  2325. package/templates/app/api/v1/media/route.ts +0 -64
  2326. package/templates/app/api/v1/media/upload/route.ts +0 -274
  2327. package/templates/app/api/v1/media-tags/route.ts +0 -81
  2328. package/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
  2329. package/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
  2330. package/templates/app/api/v1/plugin/docs.md +0 -79
  2331. package/templates/app/api/v1/plugin/presets.ts +0 -21
  2332. package/templates/app/api/v1/plugin/route.ts +0 -97
  2333. package/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
  2334. package/templates/app/api/v1/post-categories/docs.md +0 -134
  2335. package/templates/app/api/v1/post-categories/presets.ts +0 -78
  2336. package/templates/app/api/v1/post-categories/route.ts +0 -121
  2337. package/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
  2338. package/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
  2339. package/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
  2340. package/templates/app/api/v1/team-invitations/docs.md +0 -88
  2341. package/templates/app/api/v1/team-invitations/presets.ts +0 -43
  2342. package/templates/app/api/v1/team-invitations/route.ts +0 -113
  2343. package/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
  2344. package/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
  2345. package/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
  2346. package/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
  2347. package/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
  2348. package/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
  2349. package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
  2350. package/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
  2351. package/templates/app/api/v1/teams/docs.md +0 -315
  2352. package/templates/app/api/v1/teams/presets.ts +0 -178
  2353. package/templates/app/api/v1/teams/route.ts +0 -305
  2354. package/templates/app/api/v1/teams/switch/route.ts +0 -106
  2355. package/templates/app/api/v1/theme/[...path]/route.ts +0 -383
  2356. package/templates/app/api/v1/theme/docs.md +0 -74
  2357. package/templates/app/api/v1/theme/presets.ts +0 -21
  2358. package/templates/app/api/v1/theme/route.ts +0 -97
  2359. package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
  2360. package/templates/app/api/v1/users/[id]/route.ts +0 -270
  2361. package/templates/app/api/v1/users/docs.md +0 -93
  2362. package/templates/app/api/v1/users/presets.ts +0 -59
  2363. package/templates/app/api/v1/users/route.ts +0 -194
  2364. package/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
  2365. package/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
  2366. package/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
  2367. package/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
  2368. package/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
  2369. package/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
  2370. package/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
  2371. package/templates/app/dashboard/(main)/layout.tsx +0 -99
  2372. package/templates/app/dashboard/(main)/loading.tsx +0 -8
  2373. package/templates/app/dashboard/(main)/media/page.tsx +0 -621
  2374. package/templates/app/dashboard/(main)/page.tsx +0 -201
  2375. package/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
  2376. package/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
  2377. package/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
  2378. package/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
  2379. package/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
  2380. package/templates/app/dashboard/features/analytics/page.tsx +0 -38
  2381. package/templates/app/dashboard/features/automation/page.tsx +0 -38
  2382. package/templates/app/dashboard/features/layout.tsx +0 -16
  2383. package/templates/app/dashboard/features/loading.tsx +0 -8
  2384. package/templates/app/dashboard/features/webhooks/page.tsx +0 -38
  2385. package/templates/app/dashboard/layout.tsx +0 -87
  2386. package/templates/app/dashboard/permission-denied/page.tsx +0 -32
  2387. package/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
  2388. package/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
  2389. package/templates/app/dashboard/settings/billing/loading.tsx +0 -8
  2390. package/templates/app/dashboard/settings/billing/page.tsx +0 -289
  2391. package/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
  2392. package/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
  2393. package/templates/app/dashboard/settings/invoices/page.tsx +0 -82
  2394. package/templates/app/dashboard/settings/layout.tsx +0 -151
  2395. package/templates/app/dashboard/settings/loading.tsx +0 -8
  2396. package/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
  2397. package/templates/app/dashboard/settings/notifications/page.tsx +0 -462
  2398. package/templates/app/dashboard/settings/page.tsx +0 -93
  2399. package/templates/app/dashboard/settings/password/loading.tsx +0 -8
  2400. package/templates/app/dashboard/settings/password/page.tsx +0 -305
  2401. package/templates/app/dashboard/settings/plans/loading.tsx +0 -8
  2402. package/templates/app/dashboard/settings/plans/page.tsx +0 -62
  2403. package/templates/app/dashboard/settings/profile/loading.tsx +0 -8
  2404. package/templates/app/dashboard/settings/profile/page.tsx +0 -688
  2405. package/templates/app/dashboard/settings/security/loading.tsx +0 -8
  2406. package/templates/app/dashboard/settings/security/page.tsx +0 -506
  2407. package/templates/app/dashboard/settings/teams/loading.tsx +0 -8
  2408. package/templates/app/dashboard/settings/teams/page.tsx +0 -272
  2409. package/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
  2410. package/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
  2411. package/templates/app/devtools/api/layout.tsx +0 -23
  2412. package/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
  2413. package/templates/app/devtools/blocks/page.tsx +0 -40
  2414. package/templates/app/devtools/config/page.tsx +0 -40
  2415. package/templates/app/devtools/features/page.tsx +0 -40
  2416. package/templates/app/devtools/flows/page.tsx +0 -40
  2417. package/templates/app/devtools/layout.tsx +0 -66
  2418. package/templates/app/devtools/page.tsx +0 -130
  2419. package/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
  2420. package/templates/app/devtools/scheduled-actions/page.tsx +0 -158
  2421. package/templates/app/devtools/style/page.tsx +0 -330
  2422. package/templates/app/devtools/tags/page.tsx +0 -40
  2423. package/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
  2424. package/templates/app/favicon.ico +0 -0
  2425. package/templates/app/globals.css +0 -12
  2426. package/templates/app/layout.ppr.tsx +0 -105
  2427. package/templates/app/layout.tsx +0 -118
  2428. package/templates/app/public/page.tsx +0 -30
  2429. package/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
  2430. package/templates/app/superadmin/docs/page.tsx +0 -75
  2431. package/templates/app/superadmin/layout.tsx +0 -96
  2432. package/templates/app/superadmin/page.tsx +0 -149
  2433. package/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
  2434. package/templates/app/superadmin/subscriptions/page.tsx +0 -658
  2435. package/templates/app/superadmin/team-roles/page.tsx +0 -493
  2436. package/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
  2437. package/templates/app/superadmin/teams/page.tsx +0 -302
  2438. package/templates/app/superadmin/users/[userId]/page.tsx +0 -549
  2439. package/templates/app/superadmin/users/page.tsx +0 -529
  2440. package/templates/contents/plugins/README.md +0 -42
  2441. package/templates/contents/plugins/starter/plugin/README.md.template +0 -97
  2442. package/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
  2443. package/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
  2444. package/templates/contents/themes/.gitkeep +0 -0
  2445. package/templates/contents/themes/starter/blocks/.gitkeep +0 -0
  2446. package/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
  2447. package/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
  2448. package/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
  2449. package/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
  2450. package/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
  2451. package/templates/contents/themes/starter/emails/_README.md +0 -69
  2452. package/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
  2453. package/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
  2454. package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
  2455. package/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
  2456. package/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
  2457. package/templates/contents/themes/starter/styles/globals.css +0 -214
  2458. package/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
  2459. package/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
  2460. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
  2461. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
  2462. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
  2463. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
  2464. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
  2465. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
  2466. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
  2467. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
  2468. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
  2469. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
  2470. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
  2471. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
  2472. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
  2473. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
  2474. package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
  2475. package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
  2476. package/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
  2477. package/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
  2478. package/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
  2479. package/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
  2480. package/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
  2481. package/templates/contents/themes/starter/tests/tsconfig.json +0 -15
  2482. package/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
  2483. package/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
  2484. package/templates/public/theme/blocks/hero/thumbnail.png +0 -1
  2485. package/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
  2486. package/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
  2487. package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.client.ts +0 -11
  2488. package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.ts +0 -11
  2489. package/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/client.ts +0 -21
  2490. package/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/server.ts +0 -23
  2491. /package/dist/{templates/contents/plugins/.gitkeep → lib/entities/portable/types.js} +0 -0
  2492. /package/dist/{templates/app → routes}/api/v1/[entity]/docs.md +0 -0
  2493. /package/dist/{templates/app → routes}/api/v1/[entity]/presets.ts +0 -0
  2494. /package/dist/{templates/app → routes}/api/v1/api-keys/docs.md +0 -0
  2495. /package/dist/{templates/app → routes}/api/v1/api-keys/presets.ts +0 -0
  2496. /package/dist/{templates/app → routes}/api/v1/auth/docs.md +0 -0
  2497. /package/dist/{templates/app → routes}/api/v1/auth/presets.ts +0 -0
  2498. /package/dist/{templates/app → routes}/api/v1/billing/docs.md +0 -0
  2499. /package/dist/{templates/app → routes}/api/v1/billing/presets.ts +0 -0
  2500. /package/dist/{templates/app → routes}/api/v1/blocks/presets.ts +0 -0
  2501. /package/dist/{templates/app → routes}/api/v1/cron/docs.md +0 -0
  2502. /package/dist/{templates/app → routes}/api/v1/cron/presets.ts +0 -0
  2503. /package/dist/{templates/app → routes}/api/v1/media/docs.md +0 -0
  2504. /package/dist/{templates/app → routes}/api/v1/media/presets.ts +0 -0
  2505. /package/dist/{templates/app → routes}/api/v1/post-categories/docs.md +0 -0
  2506. /package/dist/{templates/app → routes}/api/v1/post-categories/presets.ts +0 -0
  2507. /package/dist/{templates/app → routes}/api/v1/team-invitations/docs.md +0 -0
  2508. /package/dist/{templates/app → routes}/api/v1/team-invitations/presets.ts +0 -0
  2509. /package/dist/{templates/app → routes}/api/v1/teams/docs.md +0 -0
  2510. /package/dist/{templates/app → routes}/api/v1/teams/presets.ts +0 -0
  2511. /package/dist/{templates/app → routes}/api/v1/users/docs.md +0 -0
  2512. /package/dist/{templates/app → routes}/api/v1/users/presets.ts +0 -0
  2513. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
  2514. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
  2515. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
  2516. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
  2517. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
  2518. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
  2519. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
  2520. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
  2521. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
  2522. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
  2523. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
  2524. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
  2525. /package/dist/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
  2526. /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/jose.js +0 -0
  2527. /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/next-server.js +0 -0
  2528. /package/dist/templates/{contents/themes → projects}/starter/README.md +0 -0
  2529. /package/dist/templates/{contents/themes → projects}/starter/about/business.md +0 -0
  2530. /package/dist/templates/{contents/themes → projects}/starter/about/features.json +0 -0
  2531. /package/dist/templates/{contents/themes → projects/starter/blocks}/.gitkeep +0 -0
  2532. /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
  2533. /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
  2534. /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
  2535. /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
  2536. /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
  2537. /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
  2538. /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
  2539. /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
  2540. /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
  2541. /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
  2542. /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
  2543. /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
  2544. /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
  2545. /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
  2546. /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
  2547. /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
  2548. /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
  2549. /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
  2550. /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
  2551. /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
  2552. /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
  2553. /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
  2554. /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
  2555. /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
  2556. /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
  2557. /package/dist/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
  2558. /package/dist/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
  2559. /package/dist/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
  2560. /package/dist/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
  2561. /package/dist/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
  2562. /package/dist/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
  2563. /package/dist/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
  2564. /package/dist/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
  2565. /package/dist/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
  2566. /package/dist/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
  2567. /package/dist/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
  2568. /package/dist/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
  2569. /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
  2570. /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
  2571. /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
  2572. /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
  2573. /package/dist/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
  2574. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
  2575. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
  2576. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
  2577. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
  2578. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
  2579. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
  2580. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
  2581. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
  2582. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
  2583. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
  2584. /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
  2585. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
  2586. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
  2587. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
  2588. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
  2589. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
  2590. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
  2591. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
  2592. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
  2593. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
  2594. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
  2595. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
  2596. /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
  2597. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
  2598. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
  2599. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
  2600. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
  2601. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
  2602. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
  2603. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
  2604. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
  2605. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
  2606. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
  2607. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
  2608. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
  2609. /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
  2610. /package/dist/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
  2611. /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
  2612. /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
  2613. /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
  2614. /package/dist/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
  2615. /package/dist/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
  2616. /package/dist/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
  2617. /package/dist/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
  2618. /package/dist/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
  2619. /package/dist/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
  2620. /package/dist/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
  2621. /package/dist/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
  2622. /package/dist/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
  2623. /package/dist/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
  2624. /package/dist/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
  2625. /package/dist/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
  2626. /package/dist/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
  2627. /package/dist/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
  2628. /package/dist/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
  2629. /package/dist/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
  2630. /package/dist/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
  2631. /package/dist/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
  2632. /package/dist/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
  2633. /package/dist/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
  2634. /package/dist/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
  2635. /package/dist/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
  2636. /package/dist/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
  2637. /package/dist/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
  2638. /package/dist/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
  2639. /package/dist/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
  2640. /package/dist/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
  2641. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
  2642. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
  2643. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
  2644. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
  2645. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
  2646. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
  2647. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
  2648. /package/dist/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
  2649. /package/dist/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
  2650. /package/dist/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
  2651. /package/dist/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
  2652. /package/dist/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
  2653. /package/dist/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
  2654. /package/dist/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
  2655. /package/dist/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
  2656. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
  2657. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
  2658. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
  2659. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
  2660. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
  2661. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
  2662. /package/dist/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
  2663. /package/dist/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
  2664. /package/dist/templates/{contents/themes/starter/blocks → projects/starter/public/brand}/.gitkeep +0 -0
  2665. /package/dist/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
  2666. /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
  2667. /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
  2668. /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
  2669. /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
  2670. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
  2671. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
  2672. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
  2673. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
  2674. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
  2675. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
  2676. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
  2677. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
  2678. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
  2679. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
  2680. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
  2681. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
  2682. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
  2683. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
  2684. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
  2685. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
  2686. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
  2687. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
  2688. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
  2689. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
  2690. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
  2691. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
  2692. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
  2693. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
  2694. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
  2695. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
  2696. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
  2697. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
  2698. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
  2699. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
  2700. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
  2701. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
  2702. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
  2703. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
  2704. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
  2705. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
  2706. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
  2707. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
  2708. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
  2709. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
  2710. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
  2711. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
  2712. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
  2713. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
  2714. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
  2715. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
  2716. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
  2717. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
  2718. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
  2719. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
  2720. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
  2721. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
  2722. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
  2723. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
  2724. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
  2725. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
  2726. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
  2727. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
  2728. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
  2729. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
  2730. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
  2731. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
  2732. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
  2733. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
  2734. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
  2735. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
  2736. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
  2737. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
  2738. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
  2739. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
  2740. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
  2741. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
  2742. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
  2743. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
  2744. /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
  2745. /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/jose.js +0 -0
  2746. /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/next-server.js +0 -0
  2747. /package/dist/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
  2748. /package/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
  2749. /package/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
  2750. /package/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
  2751. /package/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
  2752. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
  2753. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
  2754. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
  2755. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
  2756. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
  2757. /package/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
  2758. /package/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
  2759. /package/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
  2760. /package/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
  2761. /package/templates/{contents/themes → projects}/starter/README.md +0 -0
  2762. /package/templates/{contents/themes → projects}/starter/about/business.md +0 -0
  2763. /package/templates/{contents/themes → projects}/starter/about/features.json +0 -0
  2764. /package/{dist/templates/contents/themes/starter/public/brand → templates/projects/starter/blocks}/.gitkeep +0 -0
  2765. /package/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
  2766. /package/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
  2767. /package/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
  2768. /package/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
  2769. /package/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
  2770. /package/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
  2771. /package/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
  2772. /package/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
  2773. /package/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
  2774. /package/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
  2775. /package/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
  2776. /package/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
  2777. /package/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
  2778. /package/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
  2779. /package/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
  2780. /package/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
  2781. /package/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
  2782. /package/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
  2783. /package/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
  2784. /package/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
  2785. /package/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
  2786. /package/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
  2787. /package/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
  2788. /package/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
  2789. /package/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
  2790. /package/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
  2791. /package/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
  2792. /package/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
  2793. /package/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
  2794. /package/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
  2795. /package/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
  2796. /package/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
  2797. /package/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
  2798. /package/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
  2799. /package/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
  2800. /package/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
  2801. /package/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
  2802. /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
  2803. /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
  2804. /package/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
  2805. /package/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
  2806. /package/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
  2807. /package/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
  2808. /package/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
  2809. /package/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
  2810. /package/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
  2811. /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
  2812. /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
  2813. /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
  2814. /package/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
  2815. /package/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
  2816. /package/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
  2817. /package/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
  2818. /package/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
  2819. /package/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
  2820. /package/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
  2821. /package/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
  2822. /package/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
  2823. /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
  2824. /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
  2825. /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
  2826. /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
  2827. /package/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
  2828. /package/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
  2829. /package/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
  2830. /package/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
  2831. /package/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
  2832. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
  2833. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
  2834. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
  2835. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
  2836. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
  2837. /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
  2838. /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
  2839. /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
  2840. /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
  2841. /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
  2842. /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
  2843. /package/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
  2844. /package/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
  2845. /package/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
  2846. /package/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
  2847. /package/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
  2848. /package/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
  2849. /package/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
  2850. /package/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
  2851. /package/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
  2852. /package/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
  2853. /package/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
  2854. /package/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
  2855. /package/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
  2856. /package/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
  2857. /package/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
  2858. /package/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
  2859. /package/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
  2860. /package/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
  2861. /package/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
  2862. /package/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
  2863. /package/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
  2864. /package/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
  2865. /package/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
  2866. /package/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
  2867. /package/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
  2868. /package/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
  2869. /package/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
  2870. /package/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
  2871. /package/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
  2872. /package/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
  2873. /package/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
  2874. /package/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
  2875. /package/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
  2876. /package/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
  2877. /package/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
  2878. /package/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
  2879. /package/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
  2880. /package/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
  2881. /package/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
  2882. /package/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
  2883. /package/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
  2884. /package/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
  2885. /package/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
  2886. /package/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
  2887. /package/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
  2888. /package/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
  2889. /package/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
  2890. /package/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
  2891. /package/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
  2892. /package/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
  2893. /package/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
  2894. /package/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
  2895. /package/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
  2896. /package/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
  2897. /package/templates/{contents/plugins → projects/starter/public/brand}/.gitkeep +0 -0
  2898. /package/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
  2899. /package/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
  2900. /package/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
  2901. /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
  2902. /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
  2903. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
  2904. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
  2905. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
  2906. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
  2907. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
  2908. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
  2909. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
  2910. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
  2911. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
  2912. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
  2913. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
  2914. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
  2915. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
  2916. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
  2917. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
  2918. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
  2919. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
  2920. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
  2921. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
  2922. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
  2923. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
  2924. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
  2925. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
  2926. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
  2927. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
  2928. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
  2929. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
  2930. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
  2931. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
  2932. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
  2933. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
  2934. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
  2935. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
  2936. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
  2937. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
  2938. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
  2939. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
  2940. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
  2941. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
  2942. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
  2943. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
  2944. /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
  2945. /package/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
  2946. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
  2947. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
  2948. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
  2949. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
  2950. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
  2951. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
  2952. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
  2953. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
  2954. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
  2955. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
  2956. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
  2957. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
  2958. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
  2959. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
  2960. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
  2961. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
  2962. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
  2963. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
  2964. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
  2965. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
  2966. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
  2967. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
  2968. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
  2969. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
  2970. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
  2971. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
  2972. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
  2973. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
  2974. /package/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
  2975. /package/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
  2976. /package/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
  2977. /package/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
  2978. /package/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
@@ -0,0 +1,668 @@
1
+ /**
2
+ * Host route plan (#203)
3
+ *
4
+ * Which module implements each `src/app` route file of the generated host. Three layers, in
5
+ * precedence order core < plugin < project:
6
+ *
7
+ * - core: the routes of the core route manifest (`core-routes.mjs`);
8
+ * - plugin: `plugins/<name>/templates/**` (same target as the file's path) and
9
+ * `plugins/<name>/api/**` (target `api/plugins/<name>/**`), only for the capabilities the plugin declares
10
+ * (`definePlugin({ capabilities })`, see discovery/plugin-capabilities.mjs): pages and layouts need
11
+ * 'web', Route Handlers need 'server'; a file in a surface the plugin did not declare is a diagnostic
12
+ * naming the plugin, the capability and the file;
13
+ * - project: `templates/**` (same path) and `api/**` (target `api/**`).
14
+ *
15
+ * A higher layer replaces a lower one at the same route file (same directory, file stem and
16
+ * cache-mode suffix). Everything else that would put two modules at one route is a collision,
17
+ * reported with both sources: two files of one layer, two plugins, a plugin or project file
18
+ * over a protected core route, and a page and a Route Handler left in one directory.
19
+ *
20
+ * Composition instead of replacement (stage 4):
21
+ * - a project or plugin layout over a core layout that declares `compose` (the root layout and the
22
+ * group layouts) keeps core's wrapper around it (`route.compose`), even over a route protected at
23
+ * the render or metadata level: core's wrapper still runs;
24
+ * - a project or plugin page over a per-entity route that accepts a template
25
+ * (`entityRoute.acceptsTemplate`) becomes that route's template (`route.template`), and the
26
+ * template of a public item page named after its old catch-all path (`entityRoute.absorbs`) is
27
+ * absorbed the same way instead of being a route of its own;
28
+ * - `webhooks` (nextspark.config.ts `billing.webhookExtensions`) replace the core webhook routes
29
+ * with a composed route (`route.webhook`);
30
+ * - every page, layout, template and default served under the URL of a core layout that declares `access` (the
31
+ * /superadmin and /devtools areas), core's, a plugin's or the project's, in any route group, is composed with
32
+ * that wrapper (`route.access`): it checks the session's role on the server before the segment renders (and before
33
+ * its `generateMetadata` resolves), an intercepting route (`@modal/(.)superadmin/...`) by the URL it intercepts, and
34
+ * a Route Handler's methods answer 401 / 403 JSON instead. A metadata file there (icon, opengraph-image, sitemap,
35
+ * ...) cannot be guarded and is a warning notice (`NS_HOST_AREA_FILE_UNGUARDED`). Only
36
+ * that layout itself is left out (its message wrapper checks). A layout cannot protect its pages: Next renders
37
+ * every segment of a route separately, so each one checks.
38
+ *
39
+ * "The template replaces": a project template in another route group that collides with an entity's
40
+ * generated dashboard routes (same URL, or another name for their dynamic segment) takes that URL over;
41
+ * the entity's generated dashboard subtree is dropped and its permission layout moves over the
42
+ * project's tree (`replaceEntityDashboards`, returned as `notices`). A template that only adds a URL
43
+ * coexists with the generated routes.
44
+ *
45
+ * API namespaces: core owns /api/v1/**, the project's `api/` is served at /api/<path> and a plugin's
46
+ * at /api/plugins/<plugin>/**. A project `api/` route in /api/v1/** or /api/plugins/**, and a plugin
47
+ * route outside /api/plugins/<its-name>/**, are diagnostics. The project's `templates/api/v1/...` and
48
+ * `templates/api/plugins/<plugin>/...` may only REPLACE a route core or that plugin already serves
49
+ * (a route added there is a diagnostic): a project never creates routes under /api/v1 or /api/plugins.
50
+ * One exception: `templates/api/v1/<entity>/<rest>`, for an entity of the project, is allowed when `<rest>` mirrors a route
51
+ * core serves under its dynamic `[entity]` (`route.ts`, `[id]/route.ts`, `[id]/child/[childType]/route.ts`, ...): the
52
+ * generated route is the static `/api/v1/<entity>/...`, which Next resolves before `[entity]` (notice ENTITY_API_OVERRIDDEN).
53
+ *
54
+ * Next.js refuses two pages for one URL and two dynamic segments of the same kind with different
55
+ * names at one level; both are diagnostics here, with the routes named, instead of a build failure.
56
+ *
57
+ * Pure apart from reading the source directories; the result is sorted by target (code unit
58
+ * order, independent of locale) so generation is deterministic.
59
+ *
60
+ * @module core/scripts/build/registry/host/plan
61
+ */
62
+
63
+ import { readdirSync } from 'node:fs'
64
+ import { join, posix, relative, sep } from 'node:path'
65
+
66
+ import { kindForFileStem } from './facade-emitter.mjs'
67
+ import { PLUGIN_DIAGNOSTICS, capabilitiesOf } from '../discovery/plugin-capabilities.mjs'
68
+
69
+ export const PLAN_DIAGNOSTICS = Object.freeze({
70
+ COLLISION: 'NS_HOST_ROUTE_COLLISION',
71
+ PROTECTED: 'NS_HOST_PROTECTED_ROUTE',
72
+ PAGE_ROUTE_CONFLICT: 'NS_HOST_PAGE_ROUTE_CONFLICT',
73
+ SOURCE_SYMLINK: 'NS_HOST_SOURCE_SYMLINK',
74
+ API_NAMESPACE: 'NS_HOST_API_NAMESPACE',
75
+ URL_CONFLICT: 'NS_HOST_URL_CONFLICT',
76
+ DYNAMIC_SEGMENT_CONFLICT: 'NS_HOST_DYNAMIC_SEGMENT_CONFLICT',
77
+ })
78
+
79
+ /** Information about the plan that is not a problem (printed by prepare, returned by `planHost` as `notices`). */
80
+ export const PLAN_NOTICES = Object.freeze({
81
+ ENTITY_ROUTES_REPLACED: 'NS_HOST_ENTITY_ROUTES_REPLACED',
82
+ ENTITY_API_OVERRIDDEN: 'NS_HOST_ENTITY_API_OVERRIDDEN',
83
+ CORE_API_REPLACED: 'NS_HOST_CORE_API_REPLACED',
84
+ AREA_FILE_UNGUARDED: 'NS_HOST_AREA_FILE_UNGUARDED',
85
+ })
86
+
87
+ export const DEFAULT_EXTENSIONS = ['tsx', 'ts', 'jsx', 'js']
88
+
89
+ const LAYER_RANK = { core: 0, plugin: 1, project: 2 }
90
+
91
+ /** The route kinds that render a segment's content, and so check an area's access (see the module comment). */
92
+ const ACCESS_KINDS = new Set(['page', 'layout', 'template', 'default'])
93
+ /** Metadata files: Next serves them as Route Handlers whose output is an image or a fixed document, so no refusal fits them. */
94
+ const METADATA_FILE_KINDS = new Set(['sitemap', 'robots', 'manifest', 'icon', 'apple-icon', 'opengraph-image', 'twitter-image'])
95
+
96
+ /**
97
+ * The URL a route file serves, as segments: route groups and slots dropped, and an intercepting segment
98
+ * (`(.)x`, `(..)x`, `(..)(..)x`, `(...)x`) resolved to the path it intercepts.
99
+ */
100
+ function servedUrlSegments(target) {
101
+ const served = []
102
+ for (const segment of urlSegments(target)) {
103
+ const markers = /^((?:\(\.{1,3}\))+)(.*)$/.exec(segment)
104
+ if (!markers) {
105
+ served.push(segment)
106
+ continue
107
+ }
108
+ for (const marker of markers[1].match(/\(\.{1,3}\)/g)) {
109
+ if (marker === '(...)') served.length = 0
110
+ else if (marker === '(..)') served.pop()
111
+ }
112
+ served.push(markers[2])
113
+ }
114
+ return served
115
+ }
116
+
117
+ /** Thrown with every diagnostic of a plan that cannot be generated. */
118
+ export class HostPlanError extends Error {
119
+ constructor(diagnostics) {
120
+ super(`Cannot plan the generated src/app:\n${diagnostics.map(d => ` - [${d.code}] ${d.message}`).join('\n')}`)
121
+ this.name = 'HostPlanError'
122
+ this.diagnostics = diagnostics
123
+ }
124
+ }
125
+
126
+ const toPosix = path => path.split(sep).join('/')
127
+ const escape = text => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
128
+
129
+ /** Code-unit order: the same on every machine and locale. */
130
+ export const compareTargets = (a, b) => (a < b ? -1 : a > b ? 1 : 0)
131
+
132
+ function sourceFilePattern(modes, extensions) {
133
+ const mode = modes.length > 0 ? `(?:\\.(?<mode>${modes.map(escape).join('|')}))?` : ''
134
+ return new RegExp(`^(?<name>[a-z-]+\\d?)${mode}\\.(?<ext>${extensions.map(escape).join('|')})$`)
135
+ }
136
+
137
+ /** Every file under `dir` (relative, posix), and the symlinks found, without following them. */
138
+ function walk(dir, base = dir, found = { files: [], symlinks: [] }) {
139
+ let entries
140
+ try {
141
+ entries = readdirSync(dir, { withFileTypes: true })
142
+ } catch (error) {
143
+ if (error.code === 'ENOENT' || error.code === 'ENOTDIR') return found
144
+ throw error
145
+ }
146
+ for (const entry of entries.sort((a, b) => compareTargets(a.name, b.name))) {
147
+ if (entry.name === 'node_modules' || entry.name.startsWith('.')) continue
148
+ const path = join(dir, entry.name)
149
+ if (entry.isSymbolicLink()) found.symlinks.push(toPosix(relative(base, path)))
150
+ else if (entry.isDirectory()) walk(path, base, found)
151
+ else if (entry.isFile()) found.files.push(toPosix(relative(base, path)))
152
+ }
153
+ return found
154
+ }
155
+
156
+ /** The route files of one source surface (a `templates/` or `api/` directory). */
157
+ function surfaceRoutes({ dir, importBase, surface, toTarget, layer, label, pattern, diagnostics, namespace }) {
158
+ const { files, symlinks } = walk(dir)
159
+ for (const link of symlinks) {
160
+ const match = pattern.exec(link.split('/').at(-1))
161
+ if (match && kindForFileStem(match.groups.name)) {
162
+ diagnostics.push({
163
+ code: PLAN_DIAGNOSTICS.SOURCE_SYMLINK,
164
+ message: `${label}/${surface}/${link} is a symlink; route sources must be regular files inside the project`,
165
+ })
166
+ }
167
+ }
168
+ const routes = []
169
+ for (const path of files) {
170
+ const match = pattern.exec(path.split('/').at(-1))
171
+ const kind = match && kindForFileStem(match.groups.name)
172
+ if (!kind) continue
173
+ const target = toTarget(path)
174
+ const withoutExtension = path.slice(0, -(match.groups.ext.length + 1))
175
+ const forbidden = namespace?.(target, path, match.groups.mode ?? null)
176
+ if (forbidden) {
177
+ diagnostics.push({ code: PLAN_DIAGNOSTICS.API_NAMESPACE, target, sources: [`${label}/${surface}/${path}`], message: `src/app/${target}: ${label}/${surface}/${path} ${forbidden}` })
178
+ continue
179
+ }
180
+ routes.push({
181
+ kind,
182
+ target,
183
+ mode: match.groups.mode ?? null,
184
+ specifier: `${importBase}/${surface}/${withoutExtension}`,
185
+ file: join(dir, path),
186
+ layer,
187
+ source: `${label}/${surface}/${path}`,
188
+ })
189
+ }
190
+ return routes
191
+ }
192
+
193
+ /** The key two files compete for: directory, stem and cache mode (the extension is Next's to pick). */
194
+ function slotOf(route) {
195
+ const directory = posix.dirname(route.target)
196
+ const name = posix.basename(route.target)
197
+ const stem = name.slice(0, name.indexOf('.'))
198
+ return `${directory}/${stem}${route.mode ? `.${route.mode}` : ''}`
199
+ }
200
+
201
+ function describe(route) {
202
+ return route.layer === 'core' && route.specifier ? `core route ${route.specifier}` : route.source
203
+ }
204
+
205
+ const API_V1 = /^api\/v1(\/|$)/
206
+ const API_PLUGINS = /^api\/plugins(\/|$)/
207
+ const PROJECT_API_HINT =
208
+ 'would be served in a namespace it does not own: core owns /api/v1/**, the project\'s api/ is served at /api/<path> and plugins at /api/plugins/<plugin>/**. ' +
209
+ 'Move it outside them, or to templates/api/v1/... to replace an existing core route on purpose'
210
+ const PROJECT_TEMPLATE_V1_HINT =
211
+ 'replaces no core route: templates/api/v1/... may only override a route core has at that path (core owns /api/v1/**, so it cannot add routes there) or, at templates/api/v1/<entity>/..., a route core serves for every entity (route.ts, [id]/route.ts, [id]/child/[childType]/route.ts, [id]/child/[childType]/[childId]/route.ts) of an entity of this project; put a new route in api/ (served at /api/<path>)'
212
+ /** The first segments core serves under `api/v1/` (`users`, `billing`, ...): its API namespaces, never an entity's. */
213
+ export const coreApiNamespaces = coreRoutes => new Set(coreRoutes.map(route => /^api\/v1\/([^/[][^/]*)\//.exec(route.target)?.[1]).filter(Boolean))
214
+ export const coreApiCollisionHint = name =>
215
+ `replaces no core route: "${name}" is an entity of this project, but core serves its own API under /api/v1/${name}/** (a project entity cannot take that namespace, so templates/api/v1/${name}/... can neither add routes there nor override the entity's API); rename the entity, or override a core route at its exact path`
216
+ const ENTITY_API = /^api\/v1\/(?<name>[^/[]+)\/(?<rest>.+)$/
217
+ const PROJECT_PLUGINS_HINT = 'would be served under /api/plugins/**, which belongs to the plugins (each serves only /api/plugins/<its-name>/**); a project cannot create routes there (templates/api/plugins/<plugin>/... may only replace a route that plugin already serves)'
218
+ const pluginApiHint = name =>
219
+ `would be served outside /api/plugins/${name}/**, the only namespace plugin "${name}" may serve; a plugin serves its API from api/ (at /api/plugins/${name}/**) or from templates/api/plugins/${name}/**`
220
+ const protectionOf = route => (route.protected ? route.protectionLevel ?? 'protected_all' : null)
221
+
222
+ /** The URL path segments of a route file's directory: route groups and parallel slots are not part of it. */
223
+ function urlSegments(target) {
224
+ return posix.dirname(target).split('/').filter(part => part !== '.' && !/^\(.*\)$/.test(part) && !part.startsWith('@'))
225
+ }
226
+
227
+ function dynamicKind(segment) {
228
+ if (/^\[\[\.\.\.[^\]]+\]\]$/.test(segment)) return 'optional catch-all'
229
+ if (/^\[\.\.\.[^\]]+\]$/.test(segment)) return 'catch-all'
230
+ if (/^\[[^\].]+\]$/.test(segment)) return 'dynamic'
231
+ return null
232
+ }
233
+
234
+ /**
235
+ * Resolve the route plan.
236
+ *
237
+ * @param {object} input
238
+ * @param {object[]} input.coreRoutes - `loadCoreRouteManifest(...).routes`
239
+ * @param {object[]} [input.entityRoutes] - `planEntityRoutes(...).routes`: per-entity route candidates
240
+ * @param {string[]} [input.entityNames] - `planEntityRoutes(...).entities`: the entities whose `/api/v1/<entity>/...` a project template may override
241
+ * @param {{ name: string, root: string, importBase: string, capabilities?: string[] }[]} [input.plugins] - enabled plugins; a plugin
242
+ * that declares no `capabilities` is legacy (server + web + build)
243
+ * @param {{ root: string, importBase?: string, label?: string }} input.project - project source root
244
+ * @param {string[]} [input.modes] - cache-mode file suffixes the host understands (`page.isr.tsx`)
245
+ * @param {string[]} [input.extensions] - source extensions
246
+ * @param {Record<string, object>} [input.webhooks] - composed webhook routes by target (`webhookRoutes`)
247
+ * @returns {{ routes: object[], diagnostics: object[], notices: object[] }}
248
+ */
249
+ export function planHost({ coreRoutes, entityRoutes = [], entityNames = [], plugins = [], project, modes = [], extensions = DEFAULT_EXTENSIONS, webhooks = {} }) {
250
+ const diagnostics = []
251
+ const pattern = sourceFilePattern(modes, extensions)
252
+ const candidates = [
253
+ ...coreRoutes.map(route => ({ ...route, mode: route.mode ?? null, layer: 'core', source: `core route ${route.specifier}` })),
254
+ ...entityRoutes.map(route => ({ ...route, mode: route.mode ?? null, layer: 'core' })),
255
+ ]
256
+
257
+ const slotKey = (target, mode) => slotOf({ target, mode })
258
+
259
+ for (const plugin of [...plugins].sort((a, b) => compareTargets(a.name, b.name))) {
260
+ const label = `plugins/${plugin.name}`
261
+ const capabilities = capabilitiesOf(plugin)
262
+ const contributed = [
263
+ ...surfaceRoutes({ dir: join(plugin.root, 'templates'), importBase: plugin.importBase, surface: 'templates', toTarget: path => path, layer: 'plugin', label, pattern, diagnostics, namespace: target => (target.startsWith('api/') && !target.startsWith(`api/plugins/${plugin.name}/`) ? pluginApiHint(plugin.name) : null) }),
264
+ ...surfaceRoutes({ dir: join(plugin.root, 'api'), importBase: plugin.importBase, surface: 'api', toTarget: path => `api/plugins/${plugin.name}/${path}`, layer: 'plugin', label, pattern, diagnostics }),
265
+ ]
266
+ // The host takes only what the plugin declares: pages and layouts need 'web', Route Handlers need 'server'.
267
+ for (const route of contributed) {
268
+ const capability = route.source.startsWith(`${label}/api/`) || route.kind === 'route' ? 'server' : 'web'
269
+ if (capabilities.includes(capability)) {
270
+ candidates.push(route)
271
+ continue
272
+ }
273
+ diagnostics.push({
274
+ code: PLUGIN_DIAGNOSTICS.UNDECLARED,
275
+ target: route.target,
276
+ plugin: plugin.name,
277
+ capability,
278
+ file: route.source,
279
+ sources: [route.source],
280
+ message: `${route.source}: contributes src/app/${route.target}, so plugin "${plugin.name}" needs the "${capability}" capability, but it declares [${capabilities.join(', ')}]`,
281
+ })
282
+ }
283
+ }
284
+ // The routes core and the plugins already serve: what a project's templates/api/... may replace, never add to
285
+ const servedSlots = new Set(candidates.map(route => slotOf(route)))
286
+ const projectBase = project?.importBase ?? '@'
287
+ const projectLabel = project?.label ?? '.'
288
+ // The names core serves its own API under (`api/v1/<name>/...`, `[entity]` is the generic handler): an entity cannot take them
289
+ const coreApiNames = coreApiNamespaces(coreRoutes)
290
+ // `api/v1/<entity>/<rest>` where `<rest>` is a route core serves under `[entity]`: the project's per-entity override
291
+ const entityApiOf = (target, mode) => {
292
+ const match = ENTITY_API.exec(target)
293
+ return match && entityNames.includes(match.groups.name) && !coreApiNames.has(match.groups.name) && servedSlots.has(slotKey(`api/v1/[entity]/${match.groups.rest}`, mode)) ? match.groups.name : null
294
+ }
295
+ const entityApiRefusal = target => {
296
+ const name = ENTITY_API.exec(target)?.groups.name
297
+ return name && entityNames.includes(name) && coreApiNames.has(name) ? coreApiCollisionHint(name) : null
298
+ }
299
+ const projectRoutes = !project?.root ? [] : [
300
+ ...surfaceRoutes({ dir: join(project.root, 'templates'), importBase: projectBase, surface: 'templates', toTarget: path => path, layer: 'project', label: projectLabel, pattern, diagnostics,
301
+ namespace: (target, path, mode) => (API_PLUGINS.test(target) && !servedSlots.has(slotKey(target, mode)) ? PROJECT_PLUGINS_HINT : API_V1.test(target) && !servedSlots.has(slotKey(target, mode)) && !entityApiOf(target, mode) ? entityApiRefusal(target) ?? PROJECT_TEMPLATE_V1_HINT : null) }),
302
+ ...surfaceRoutes({ dir: join(project.root, 'api'), importBase: projectBase, surface: 'api', toTarget: path => `api/${path}`, layer: 'project', label: projectLabel, pattern, diagnostics, namespace: target => (API_V1.test(target) || API_PLUGINS.test(target) ? PROJECT_API_HINT : null) }),
303
+ ]
304
+ for (const route of projectRoutes) route.source = route.source.replace(/^\.\//, '')
305
+ const notices = replaceEntityDashboards(candidates, projectRoutes.filter(route => route.specifier.startsWith(`${projectBase}/templates/`)))
306
+ notices.push(...coreApiNotices(projectRoutes.filter(route => route.specifier.startsWith(`${projectBase}/templates/`) && API_V1.test(route.target) && servedSlots.has(slotOf(route))), candidates))
307
+ notices.push(...entityApiNotices(projectRoutes.filter(route => route.specifier.startsWith(`${projectBase}/templates/`) && !servedSlots.has(slotOf(route)) && entityApiOf(route.target, route.mode))))
308
+ candidates.push(...projectRoutes)
309
+ for (const [target, webhook] of Object.entries(webhooks)) {
310
+ candidates.push({ kind: 'route', target, mode: null, specifier: webhook.specifier, file: webhook.file, layer: 'project', source: webhook.source, webhook, configured: true })
311
+ }
312
+
313
+ // The templates of public item pages are named after the catch-all path they replaced; the entity route
314
+ // that serves the item takes them as its template instead of emitting them as routes of their own.
315
+ const absorbing = new Map()
316
+ for (const route of candidates) {
317
+ if (route.entityRoute?.absorbs) absorbing.set(slotOf({ target: route.entityRoute.absorbs, mode: null }), route)
318
+ }
319
+
320
+ // Group by slot; within a slot the highest layer wins, and a tie is a collision.
321
+ const bySlot = new Map()
322
+ for (const route of candidates) {
323
+ const slot = slotOf(route)
324
+ if (!bySlot.has(slot)) bySlot.set(slot, [])
325
+ bySlot.get(slot).push(route)
326
+ }
327
+
328
+ const rank = contenders => [...contenders].sort((a, b) => LAYER_RANK[b.layer] - LAYER_RANK[a.layer] || compareTargets(a.source, b.source))
329
+ const reportTies = (winner, rest) => {
330
+ for (const other of rest.filter(route => route.layer === winner.layer)) {
331
+ diagnostics.push({
332
+ code: PLAN_DIAGNOSTICS.COLLISION,
333
+ target: winner.target,
334
+ sources: [winner.source, other.source],
335
+ message:
336
+ winner.layer === 'plugin' && other.layer === 'plugin'
337
+ ? `src/app/${winner.target}: two plugins provide this route: ${describe(winner)} and ${describe(other)}`
338
+ : `src/app/${winner.target}: two ${winner.layer} files provide this route: ${describe(winner)} and ${describe(other)}`,
339
+ })
340
+ }
341
+ }
342
+
343
+ const absorbed = new Map() // entity route target -> the template that replaced its default
344
+ for (const [slot, entityRoute] of absorbing) {
345
+ const inSlot = bySlot.get(slot) ?? []
346
+ // A core route of its own at that path is not a template: leave it alone.
347
+ if (inSlot.length === 0 || inSlot.some(route => route.layer === 'core')) continue
348
+ const contenders = inSlot
349
+ const [winner, ...rest] = rank(contenders)
350
+ reportTies(winner, rest)
351
+ absorbed.set(entityRoute.target, winner)
352
+ bySlot.delete(slot)
353
+ }
354
+
355
+ const routes = []
356
+ for (const [, contenders] of [...bySlot.entries()].sort(([a], [b]) => compareTargets(a, b))) {
357
+ const ranked = rank(contenders)
358
+ const [winner, ...rest] = ranked
359
+ reportTies(winner, rest)
360
+ const core = ranked.find(route => route.layer === 'core')
361
+ const composable = Boolean(core?.compose) && protectionOf(core) !== 'protected_all' && winner.kind === 'layout'
362
+ if (core?.protected && winner !== core && !winner.configured && !composable) {
363
+ for (const route of ranked.filter(route => route.layer !== 'core')) {
364
+ diagnostics.push({
365
+ code: PLAN_DIAGNOSTICS.PROTECTED,
366
+ target: core.target,
367
+ sources: [core.source, route.source],
368
+ message: `src/app/${core.target}: ${describe(route)} would replace the protected ${describe(core)}; protected core routes cannot be overridden`,
369
+ })
370
+ }
371
+ routes.push(core)
372
+ continue
373
+ }
374
+ const lower = ranked.find(route => LAYER_RANK[route.layer] < LAYER_RANK[winner.layer])
375
+ let chosen = lower ? { ...winner, overrides: lower.source } : winner
376
+ if (winner === core && core.entityRoute && absorbed.has(core.target)) {
377
+ const template = absorbed.get(core.target)
378
+ chosen = { ...core, template: { specifier: template.specifier, file: template.file, source: template.source } }
379
+ } else if (winner !== core && core?.compose) {
380
+ chosen = { ...chosen, compose: core.compose, composeOf: core.specifier, composeOfFile: core.file, composeProtection: protectionOf(core) }
381
+ } else if (winner !== core && core?.entityRoute?.acceptsTemplate) {
382
+ chosen = { ...core, template: { specifier: winner.specifier, file: winner.file, source: winner.source }, overrides: core.source }
383
+ }
384
+ routes.push(chosen)
385
+ }
386
+
387
+ // Next.js refuses a page and a Route Handler for the same path.
388
+ const byDirectory = new Map()
389
+ for (const route of routes) {
390
+ if (route.kind !== 'page' && route.kind !== 'route') continue
391
+ const key = `${posix.dirname(route.target)}|${route.mode ?? ''}`
392
+ if (!byDirectory.has(key)) byDirectory.set(key, [])
393
+ byDirectory.get(key).push(route)
394
+ }
395
+ for (const group of byDirectory.values()) {
396
+ const page = group.find(route => route.kind === 'page')
397
+ const handler = group.find(route => route.kind === 'route')
398
+ if (page && handler) {
399
+ diagnostics.push({
400
+ code: PLAN_DIAGNOSTICS.PAGE_ROUTE_CONFLICT,
401
+ target: handler.target,
402
+ sources: [page.source, handler.source],
403
+ message: `src/app/${posix.dirname(handler.target)}: a page (${describe(page)}) and a Route Handler (${describe(handler)}) resolve to the same path`,
404
+ })
405
+ }
406
+ }
407
+ diagnostics.push(...urlConflicts(routes))
408
+
409
+ const areas = coreRoutes.filter(route => route.access).map(route => ({ target: route.target, url: urlSegments(route.target).join('/'), access: route.access }))
410
+ for (const [index, { access: declared, ...route }] of routes.entries()) {
411
+ // `access` on a core layout declares the area; on a planned route it means "compose with this wrapper".
412
+ const url = servedUrlSegments(route.target).join('/')
413
+ const area = areas.find(candidate => route.target !== candidate.target && (url === candidate.url || url.startsWith(`${candidate.url}/`)))
414
+ routes[index] = area && (ACCESS_KINDS.has(route.kind) || (route.kind === 'route' && area.access.handler)) ? { ...route, access: area.access } : route
415
+ if (area && METADATA_FILE_KINDS.has(route.kind)) {
416
+ notices.push({
417
+ code: PLAN_NOTICES.AREA_FILE_UNGUARDED,
418
+ target: route.target,
419
+ by: [route.source],
420
+ message:
421
+ `src/app/${route.target}: ${route.source} is a metadata file under /${area.url}, which Next serves without the area's role check; ` +
422
+ `it is public whatever the role. Keep area data out of it, or move it outside /${area.url}`,
423
+ })
424
+ }
425
+ }
426
+
427
+ const clean = routes.map(({ layer, ...route }) => ({ ...route, origin: layer }))
428
+ return { routes: clean.sort((a, b) => compareTargets(a.target, b.target)), diagnostics, notices }
429
+ }
430
+
431
+ /**
432
+ * "The template replaces" (#203): a project template (`templates/**`, a page or a Route Handler) in a directory other than
433
+ * the generated one (`dashboard/(main)/<entity>/`, typically another route group) that COLLIDES with the entity's
434
+ * generated dashboard routes takes their URL over, as its static segment took over core's dynamic `[entity]` route in
435
+ * 0.x. It collides when it serves a URL a generated page serves (`/dashboard/<entity>`, `/create`, `/[id]`,
436
+ * `/[id]/edit`, any dynamic segment name matching), or puts a dynamic segment with another name where a generated one
437
+ * is (`[cohortId]` next to `[id]`): Next.js refuses both. A template that only adds a URL (`(staff)/<entity>/export`)
438
+ * does not collide: the generated routes stay and both are served (a static segment wins over `[id]`).
439
+ *
440
+ * On a collision the rule is the whole subtree, not the colliding files: every generated dashboard route of that entity
441
+ * (layout, error, loading, list, create, `[id]`, `[id]/edit`, with the metadata they forward) is dropped. Keeping some
442
+ * of them would serve the entity from two route groups at once, under two different layouts and loading states; the
443
+ * project's own pages, metadata, loading and error states (and its groups' error boundaries) serve the URL instead.
444
+ *
445
+ * The entity's permission layout is a security boundary, not presentation: it is kept, moved to the top directory of
446
+ * each project tree that serves the URL (`dashboard/(staff)/<entity>/layout.tsx`), so every replaced route stays
447
+ * behind the same check. A project layout at that exact file is reported as over a protected route.
448
+ *
449
+ * Templates inside the generated directory keep the existing behaviour (a page at a generated slot becomes that
450
+ * route's template, others add pages under the entity's layout). Mutates `candidates`; returns the notices.
451
+ */
452
+ function replaceEntityDashboards(candidates, templates) {
453
+ const notices = []
454
+ const generated = new Map() // entity -> its generated dashboard routes (error and loading are plain core facades)
455
+ const names = new Set(candidates.filter(route => route.generated && route.entityRoute?.name && route.target.startsWith(`dashboard/(main)/${route.entityRoute.name}/`)).map(route => route.entityRoute.name))
456
+ for (const route of candidates) {
457
+ const name = route.generated && route.target.startsWith('dashboard/(main)/') ? route.target.split('/')[2] : null
458
+ if (!names.has(name)) continue
459
+ if (!generated.has(name)) generated.set(name, [])
460
+ generated.get(name).push(route)
461
+ }
462
+ for (const [name, routes] of [...generated].sort(([a], [b]) => compareTargets(a, b))) {
463
+ const base = `dashboard/(main)/${name}/`
464
+ const under = templates.filter(route => {
465
+ const segments = urlSegments(route.target)
466
+ return segments[0] === 'dashboard' && segments[1] === name
467
+ })
468
+ const served = routes.filter(route => route.kind === 'page').map(route => urlSegments(route.target).slice(2))
469
+ const claims = under.filter(route => (route.kind === 'page' || route.kind === 'route') && !route.target.startsWith(base) && served.some(generated => collides(urlSegments(route.target).slice(2), generated)))
470
+ if (claims.length === 0) continue
471
+ const layout = routes.find(route => route.kind === 'layout')
472
+ for (const route of routes) candidates.splice(candidates.indexOf(route), 1)
473
+ // Every directory at the entity's URL that the project serves from, in or out of the generated directory
474
+ const roots = [...new Set(under.filter(route => route.kind === 'page' || route.kind === 'route').map(route => entityRoot(route.target, name)))].sort(compareTargets)
475
+ const guards = layout ? roots.map(root => ({ ...layout, target: `${root}/layout.tsx`, source: `${layout.source} (permission layout, kept over the project's templates)` })) : []
476
+ candidates.push(...guards)
477
+ notices.push({
478
+ code: PLAN_NOTICES.ENTITY_ROUTES_REPLACED,
479
+ entity: name,
480
+ url: `/dashboard/${name}`,
481
+ by: [...new Set(claims.map(route => route.source))].sort(compareTargets),
482
+ dropped: routes.map(route => route.target).sort(compareTargets),
483
+ guards: guards.map(route => route.target),
484
+ message:
485
+ `/dashboard/${name}: the project's templates (${[...new Set(claims.map(route => route.source))].sort(compareTargets).join(', ')}) collide with the entity's generated dashboard routes and replace all of them ` +
486
+ `(${routes.length} files under src/app/${base}); its permission layout is kept at ${guards.map(route => `src/app/${route.target}`).join(', ') || '(none)'}`,
487
+ })
488
+ }
489
+ return notices
490
+ }
491
+
492
+ /**
493
+ * "The project replaces a core API route" (#203): `templates/api/v1/<path>/route.ts` at a path core serves (`users/route.ts`,
494
+ * `[entity]/[id]/route.ts`, ...). Core's handler, with its authentication, permissions and hooks, no longer answers that URL.
495
+ */
496
+ function coreApiNotices(routes, candidates) {
497
+ return routes.map(route => {
498
+ const core = candidates.find(candidate => candidate.layer === 'core' && slotOf(candidate) === slotOf(route))
499
+ const url = `/${urlSegments(route.target).join('/')}`
500
+ return {
501
+ code: PLAN_NOTICES.CORE_API_REPLACED,
502
+ url,
503
+ by: [route.source],
504
+ replaces: core ? describe(core) : null,
505
+ message:
506
+ `${url}: the project's ${route.source} replaces ${core ? describe(core) : 'a core route'}; ` +
507
+ `authentication, permissions, rate limits and hooks of the core handler no longer run there and are the project's responsibility`,
508
+ }
509
+ }).sort((a, b) => compareTargets(a.url, b.url))
510
+ }
511
+
512
+ /**
513
+ * "The project overrides an entity's API" (#203): `templates/api/v1/<entity>/...` routes (already checked to mirror a core
514
+ * `[entity]` route) are served at the static `/api/v1/<entity>/...`, which Next matches before core's `[entity]`. For those
515
+ * URLs the project's handler replaces the generic one: its auth, permissions and entity hooks do not run unless the project
516
+ * calls them. One notice per entity.
517
+ */
518
+ function entityApiNotices(routes) {
519
+ const byEntity = new Map()
520
+ for (const route of routes) {
521
+ const name = ENTITY_API.exec(route.target).groups.name
522
+ if (!byEntity.has(name)) byEntity.set(name, [])
523
+ byEntity.get(name).push(route)
524
+ }
525
+ return [...byEntity].sort(([a], [b]) => compareTargets(a, b)).map(([entity, list]) => {
526
+ const urls = [...new Set(list.map(route => `/${urlSegments(route.target).join('/')}`))].sort(compareTargets)
527
+ const by = list.map(route => route.source).sort(compareTargets)
528
+ return {
529
+ code: PLAN_NOTICES.ENTITY_API_OVERRIDDEN,
530
+ entity,
531
+ urls,
532
+ by,
533
+ message:
534
+ `/api/v1/${entity}: the project's ${by.join(', ')} replace${by.length === 1 ? 's' : ''} the generic entity handler at ${urls.join(', ')}; ` +
535
+ `authentication, permissions, rate limits and the entity's hooks are the project's responsibility there (put business rules in entity hooks, so every path keeps them)`,
536
+ }
537
+ })
538
+ }
539
+
540
+ /** Same kind of dynamic segment (a plain `[x]`, or a catch-all of either form), whatever its name. */
541
+ const sameDynamicKind = (a, b) => (dynamicKind(a) === 'dynamic') === (dynamicKind(b) === 'dynamic')
542
+
543
+ /**
544
+ * Whether a project URL (segments below `/dashboard/<entity>`) collides with a generated one: the same URL (a dynamic
545
+ * segment matches a dynamic segment of the same kind, whatever the names; an optional catch-all also serves its
546
+ * parent's URL), or two names for one dynamic segment (`[cohortId]` where the generated routes have `[id]`) under the
547
+ * same prefix. Next.js refuses both.
548
+ */
549
+ function collides(project, generated) {
550
+ // An optional catch-all also serves the URL of its parent (`/x/[[...rest]]` answers `/x`)
551
+ if (dynamicKind(project.at(-1) ?? '') === 'optional catch-all' && collides(project.slice(0, -1), generated)) return true
552
+ for (let index = 0; index < Math.min(project.length, generated.length); index += 1) {
553
+ const [a, b] = [project[index], generated[index]]
554
+ const dynamic = dynamicKind(a) && dynamicKind(b) && sameDynamicKind(a, b)
555
+ if (dynamic && a !== b) return true
556
+ if (!dynamic && a !== b) return false
557
+ }
558
+ return project.length === generated.length
559
+ }
560
+
561
+ /** The directory of `target` whose URL is `/dashboard/<entity>` (route groups and slots included in the path). */
562
+ function entityRoot(target, entity) {
563
+ const parts = posix.dirname(target).split('/')
564
+ let url = 0
565
+ for (let index = 0; index < parts.length; index += 1) {
566
+ if (/^\(.*\)$/.test(parts[index]) || parts[index].startsWith('@')) continue
567
+ url += 1
568
+ if (url === 2 && parts[index] === entity) return parts.slice(0, index + 1).join('/')
569
+ }
570
+ return posix.dirname(target)
571
+ }
572
+
573
+ /**
574
+ * Two routes for one URL (in different route groups) and dynamic segments Next.js cannot tell apart.
575
+ * Only routes without a cache-mode suffix are compared: a `.cc` file is an alternative, not a sibling.
576
+ */
577
+ export function urlConflicts(routes) {
578
+ const diagnostics = []
579
+ const urls = new Map()
580
+ // Next sorts routes with the slots removed: an optional catch-all's parent URL is compared with every page at that URL, in any slot or none
581
+ const plainUrls = new Map()
582
+ const parents = new Map()
583
+ const tree = { children: new Map(), dynamic: new Map() }
584
+ for (const route of routes) {
585
+ if ((route.kind !== 'page' && route.kind !== 'route') || route.mode) continue
586
+ const segments = urlSegments(route.target)
587
+ // A parallel-route slot (`@slot/page`) renders beside the main page of the same URL: Next compares routes within one slot
588
+ const slot = posix.dirname(route.target).split('/').filter(part => part.startsWith('@')).join('/')
589
+ const url = `${slot ? `${slot}:` : ''}/${segments.join('/')}`
590
+ if (!urls.has(url)) urls.set(url, [])
591
+ urls.get(url).push(route)
592
+ const plain = `/${segments.join('/')}`
593
+ if (!plainUrls.has(plain)) plainUrls.set(plain, [])
594
+ plainUrls.get(plain).push(route)
595
+ // An optional catch-all also serves its parent's URL: a page there is the same URL twice for Next.js
596
+ if (dynamicKind(segments.at(-1) ?? '') === 'optional catch-all') {
597
+ const parent = `/${segments.slice(0, -1).join('/')}`
598
+ if (!parents.has(parent)) parents.set(parent, [])
599
+ parents.get(parent).push(route)
600
+ }
601
+
602
+ let node = tree
603
+ for (const segment of segments) {
604
+ const kind = dynamicKind(segment)
605
+ if (kind) {
606
+ const key = kind === 'optional catch-all' || kind === 'catch-all' ? 'catch-all' : 'dynamic'
607
+ const forms = node.dynamic.get(key) ?? new Map()
608
+ node.dynamic.set(key, forms)
609
+ if (!forms.has(segment)) forms.set(segment, [])
610
+ forms.get(segment).push(route)
611
+ }
612
+ if (!node.children.has(segment)) node.children.set(segment, { children: new Map(), dynamic: new Map() })
613
+ node = node.children.get(segment)
614
+ }
615
+ }
616
+ for (const [url, sameUrl] of urls) {
617
+ const files = new Set(sameUrl.map(route => `${posix.dirname(route.target)}|${route.kind}`))
618
+ if (sameUrl.length > 1 && files.size > 1 && new Set(sameUrl.map(route => posix.dirname(route.target))).size > 1) {
619
+ diagnostics.push({
620
+ code: PLAN_DIAGNOSTICS.URL_CONFLICT,
621
+ target: sameUrl[0].target,
622
+ sources: sameUrl.map(route => route.source),
623
+ message: `${url.replace(/^.*?:\//, '/')}: ${sameUrl.map(route => `${describe(route)} (src/app/${route.target})`).join(' and ')} resolve to the same URL`,
624
+ })
625
+ }
626
+ }
627
+ for (const [parent, catchAlls] of parents) {
628
+ // Only a page at the parent URL collides (next build measured): optional catch-alls of different slots share one path and are fine
629
+ const pages = plainUrls.get(parent) ?? []
630
+ const sameUrl = [...pages, ...catchAlls]
631
+ if (pages.length > 0) {
632
+ diagnostics.push({
633
+ code: PLAN_DIAGNOSTICS.URL_CONFLICT,
634
+ target: sameUrl[0].target,
635
+ sources: sameUrl.map(route => route.source),
636
+ message: `${parent}: ${sameUrl.map(route => `${describe(route)} (src/app/${route.target})`).join(' and ')} resolve to the same URL`,
637
+ })
638
+ }
639
+ }
640
+ const visit = (node, path) => {
641
+ for (const [key, forms] of node.dynamic) {
642
+ const catchAllKinds = new Set([...forms.keys()].map(dynamicKind))
643
+ const bad = key === 'dynamic' ? forms.size > 1 : forms.size > 1 && (new Set([...forms.keys()].map(form => form.replace(/^\[+\.\.\./, '').replace(/\]+$/, ''))).size > 1 || catchAllKinds.size > 1)
644
+ if (bad) {
645
+ const all = [...forms.values()].flat()
646
+ diagnostics.push({
647
+ code: PLAN_DIAGNOSTICS.DYNAMIC_SEGMENT_CONFLICT,
648
+ target: all[0].target,
649
+ sources: all.map(route => route.source),
650
+ message: `${path || '/'}: Next.js cannot tell the dynamic segments ${[...forms.keys()].join(' and ')} apart at one level (${[...new Set(all.map(route => describe(route)))].join(', ')})`,
651
+ })
652
+ }
653
+ }
654
+ for (const [segment, child] of node.children) visit(child, `${path}/${segment}`)
655
+ }
656
+ visit(tree, '')
657
+ return diagnostics
658
+ }
659
+
660
+ /** `planHost`, throwing a `HostPlanError` when there is any diagnostic. */
661
+ export function resolveHostPlan(input) {
662
+ const { routes, diagnostics } = planHost(input)
663
+ if (diagnostics.length > 0) throw new HostPlanError(diagnostics)
664
+ return routes
665
+ }
666
+
667
+ // Exposed for tests of the file-name grammar.
668
+ export { sourceFilePattern }