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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/components/app/guards/DeveloperGuard.d.ts +8 -1
  2. package/dist/components/app/guards/DeveloperGuard.d.ts.map +1 -1
  3. package/dist/components/app/guards/DeveloperGuard.js +2 -1
  4. package/dist/components/app/guards/SuperAdminGuard.d.ts +8 -1
  5. package/dist/components/app/guards/SuperAdminGuard.d.ts.map +1 -1
  6. package/dist/components/app/guards/SuperAdminGuard.js +2 -1
  7. package/dist/components/billing/InvoicesPagination.js +2 -2
  8. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  9. package/dist/components/dashboard/block-editor/block-picker.js +2 -1
  10. package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
  11. package/dist/components/dashboard/block-editor/builder-editor-view.js +39 -23
  12. package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
  13. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
  14. package/dist/components/dashboard/layouts/AuthGuard.d.ts.map +1 -1
  15. package/dist/components/dashboard/layouts/AuthGuard.js +3 -4
  16. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -1
  17. package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +9 -10
  18. package/dist/components/dashboard/layouts/DashboardAuthLayout.d.ts.map +1 -1
  19. package/dist/components/dashboard/layouts/DashboardAuthLayout.js +3 -4
  20. package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts +2 -2
  21. package/dist/components/dashboard/navigation/DynamicNavigation.js +2 -2
  22. package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
  23. package/dist/components/entities/wrappers/EntityDetailWrapper.js +5 -2
  24. package/dist/components/entities/wrappers/EntityFormWrapper.d.ts.map +1 -1
  25. package/dist/components/entities/wrappers/EntityFormWrapper.js +5 -2
  26. package/dist/components/entities/wrappers/EntityListWrapper.d.ts.map +1 -1
  27. package/dist/components/entities/wrappers/EntityListWrapper.js +5 -2
  28. package/dist/components/settings/layouts/SettingsSidebar.d.ts.map +1 -1
  29. package/dist/components/settings/layouts/SettingsSidebar.js +0 -1
  30. package/dist/components/teams/CreateTeamButton.js +2 -2
  31. package/dist/components/teams/CreateTeamDialog.js +1 -1
  32. package/dist/components/teams/InviteMemberButton.js +3 -3
  33. package/dist/components/teams/InviteMemberDialog.js +1 -1
  34. package/dist/components/teams/TeamPendingInvitations.js +2 -2
  35. package/dist/components/ui/relation-display.d.ts.map +1 -1
  36. package/dist/components/ui/relation-display.js +2 -1
  37. package/dist/components/ui/user-display.d.ts.map +1 -1
  38. package/dist/components/ui/user-display.js +2 -1
  39. package/dist/emails/otp-verification.d.ts.map +1 -1
  40. package/dist/emails/otp-verification.js +5 -3
  41. package/dist/emails/reset-password.d.ts.map +1 -1
  42. package/dist/emails/reset-password.js +5 -3
  43. package/dist/emails/team-invitation.d.ts.map +1 -1
  44. package/dist/emails/team-invitation.js +3 -2
  45. package/dist/emails/verify-email.d.ts.map +1 -1
  46. package/dist/emails/verify-email.js +5 -3
  47. package/dist/hooks/useAuth.d.ts.map +1 -1
  48. package/dist/hooks/useAuth.js +21 -4
  49. package/dist/hooks/usePatternUsages.d.ts.map +1 -1
  50. package/dist/hooks/usePatternUsages.js +3 -2
  51. package/dist/lib/api/api-error.d.ts +2 -0
  52. package/dist/lib/api/api-error.d.ts.map +1 -1
  53. package/dist/lib/api/api-error.js +3 -1
  54. package/dist/lib/api/auth/dual-auth.d.ts +2 -1
  55. package/dist/lib/api/auth/dual-auth.d.ts.map +1 -1
  56. package/dist/lib/api/auth/dual-auth.js +22 -4
  57. package/dist/lib/api/auth/scope-policy.d.ts +6 -3
  58. package/dist/lib/api/auth/scope-policy.d.ts.map +1 -1
  59. package/dist/lib/api/auth.d.ts +2 -0
  60. package/dist/lib/api/auth.d.ts.map +1 -1
  61. package/dist/lib/api/auth.js +10 -10
  62. package/dist/lib/api/client-headers.d.ts +11 -0
  63. package/dist/lib/api/client-headers.d.ts.map +1 -0
  64. package/dist/lib/api/client-headers.js +12 -0
  65. package/dist/lib/api/client-ip.d.ts +59 -0
  66. package/dist/lib/api/client-ip.d.ts.map +1 -0
  67. package/dist/lib/api/client-ip.js +91 -0
  68. package/dist/lib/api/cors-response.d.ts +55 -0
  69. package/dist/lib/api/cors-response.d.ts.map +1 -0
  70. package/dist/lib/api/cors-response.js +90 -0
  71. package/dist/lib/api/entities.d.ts.map +1 -1
  72. package/dist/lib/api/entities.js +4 -3
  73. package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
  74. package/dist/lib/api/entity/audit-log.js +2 -1
  75. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  76. package/dist/lib/api/entity/generic-handler.js +23 -8
  77. package/dist/lib/api/helpers.d.ts +8 -2
  78. package/dist/lib/api/helpers.d.ts.map +1 -1
  79. package/dist/lib/api/helpers.js +32 -103
  80. package/dist/lib/api/keys.d.ts +6 -0
  81. package/dist/lib/api/keys.d.ts.map +1 -1
  82. package/dist/lib/api/keys.js +7 -1
  83. package/dist/lib/api/permission-middleware.d.ts.map +1 -1
  84. package/dist/lib/api/permission-middleware.js +0 -2
  85. package/dist/lib/api/rate-limit.d.ts +12 -0
  86. package/dist/lib/api/rate-limit.d.ts.map +1 -1
  87. package/dist/lib/api/rate-limit.js +50 -43
  88. package/dist/lib/api/request-origin.d.ts +16 -7
  89. package/dist/lib/api/request-origin.d.ts.map +1 -1
  90. package/dist/lib/api/request-origin.js +43 -20
  91. package/dist/lib/auth/load-login-page.d.ts +10 -0
  92. package/dist/lib/auth/load-login-page.d.ts.map +1 -0
  93. package/dist/lib/auth/load-login-page.js +7 -0
  94. package/dist/lib/auth/runtime-readiness.d.ts.map +1 -1
  95. package/dist/lib/auth/runtime-readiness.js +4 -0
  96. package/dist/lib/auth/sample-accounts.d.ts +17 -0
  97. package/dist/lib/auth/sample-accounts.d.ts.map +1 -0
  98. package/dist/lib/auth/sample-accounts.js +22 -0
  99. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts +1 -8
  100. package/dist/lib/auth/security-notifications/device-fingerprint.d.ts.map +1 -1
  101. package/dist/lib/auth/security-notifications/device-fingerprint.js +2 -12
  102. package/dist/lib/auth-email-callbacks.js +3 -3
  103. package/dist/lib/auth.d.ts.map +1 -1
  104. package/dist/lib/auth.js +13 -5
  105. package/dist/lib/cache/public-entity-cache.d.ts +21 -0
  106. package/dist/lib/cache/public-entity-cache.d.ts.map +1 -0
  107. package/dist/lib/cache/public-entity-cache.js +25 -0
  108. package/dist/lib/config/config-client.d.ts.map +1 -1
  109. package/dist/lib/config/config-client.js +1 -1
  110. package/dist/lib/config/config-sync.d.ts.map +1 -1
  111. package/dist/lib/config/config-sync.js +1 -1
  112. package/dist/lib/config/public-config-client.d.ts +1 -0
  113. package/dist/lib/config/public-config-client.d.ts.map +1 -1
  114. package/dist/lib/config/public-config-client.js +3 -1
  115. package/dist/lib/config/types.d.ts +2 -0
  116. package/dist/lib/config/types.d.ts.map +1 -1
  117. package/dist/lib/constants/reserved-slugs.d.ts +17 -8
  118. package/dist/lib/constants/reserved-slugs.d.ts.map +1 -1
  119. package/dist/lib/constants/reserved-slugs.js +16 -52
  120. package/dist/lib/db.d.ts.map +1 -1
  121. package/dist/lib/db.js +9 -3
  122. package/dist/lib/entities/entity-hooks.d.ts.map +1 -1
  123. package/dist/lib/entities/entity-hooks.js +4 -0
  124. package/dist/lib/entities/external-api-generator.d.ts.map +1 -1
  125. package/dist/lib/entities/external-api-generator.js +2 -4
  126. package/dist/lib/entities/public-slug.d.ts +46 -0
  127. package/dist/lib/entities/public-slug.d.ts.map +1 -0
  128. package/dist/lib/entities/public-slug.js +39 -0
  129. package/dist/lib/mcp/errors.d.ts +2 -0
  130. package/dist/lib/mcp/errors.d.ts.map +1 -1
  131. package/dist/lib/mcp/errors.js +3 -1
  132. package/dist/lib/mcp/index.d.ts +1 -1
  133. package/dist/lib/mcp/index.d.ts.map +1 -1
  134. package/dist/lib/mcp/index.js +2 -1
  135. package/dist/lib/services/generic-entity.service.d.ts.map +1 -1
  136. package/dist/lib/services/generic-entity.service.js +2 -0
  137. package/dist/lib/teams/actions.d.ts.map +1 -1
  138. package/dist/lib/teams/actions.js +0 -1
  139. package/dist/messages/de/billing.json +12 -1
  140. package/dist/messages/de/common.json +2 -0
  141. package/dist/messages/de/docs.json +1 -0
  142. package/dist/messages/de/features.json +16 -4
  143. package/dist/messages/de/home.json +5 -0
  144. package/dist/messages/de/index.d.ts +68 -25
  145. package/dist/messages/de/index.d.ts.map +1 -1
  146. package/dist/messages/de/index.js +2 -0
  147. package/dist/messages/de/index.ts +2 -0
  148. package/dist/messages/de/settings.json +1 -0
  149. package/dist/messages/de/teams.json +3 -18
  150. package/dist/messages/en/billing.json +1 -1
  151. package/dist/messages/en/common.json +2 -0
  152. package/dist/messages/en/docs.json +1 -0
  153. package/dist/messages/en/features.json +16 -4
  154. package/dist/messages/en/home.json +5 -0
  155. package/dist/messages/en/index.d.ts +58 -25
  156. package/dist/messages/en/index.d.ts.map +1 -1
  157. package/dist/messages/en/index.js +2 -0
  158. package/dist/messages/en/index.ts +2 -0
  159. package/dist/messages/en/settings.json +1 -0
  160. package/dist/messages/en/teams.json +3 -18
  161. package/dist/messages/es/billing.json +1 -1
  162. package/dist/messages/es/common.json +2 -0
  163. package/dist/messages/es/docs.json +1 -0
  164. package/dist/messages/es/features.json +16 -4
  165. package/dist/messages/es/home.json +5 -0
  166. package/dist/messages/es/index.d.ts +41 -8
  167. package/dist/messages/es/index.d.ts.map +1 -1
  168. package/dist/messages/es/index.js +2 -0
  169. package/dist/messages/es/index.ts +2 -0
  170. package/dist/messages/es/settings.json +1 -0
  171. package/dist/messages/es/teams.json +3 -0
  172. package/dist/messages/fr/billing.json +12 -1
  173. package/dist/messages/fr/common.json +2 -0
  174. package/dist/messages/fr/docs.json +1 -0
  175. package/dist/messages/fr/features.json +16 -4
  176. package/dist/messages/fr/home.json +5 -0
  177. package/dist/messages/fr/index.d.ts +68 -25
  178. package/dist/messages/fr/index.d.ts.map +1 -1
  179. package/dist/messages/fr/index.js +2 -0
  180. package/dist/messages/fr/index.ts +2 -0
  181. package/dist/messages/fr/settings.json +1 -0
  182. package/dist/messages/fr/teams.json +3 -18
  183. package/dist/messages/it/billing.json +12 -1
  184. package/dist/messages/it/common.json +2 -0
  185. package/dist/messages/it/docs.json +1 -0
  186. package/dist/messages/it/features.json +16 -4
  187. package/dist/messages/it/home.json +5 -0
  188. package/dist/messages/it/index.d.ts +68 -25
  189. package/dist/messages/it/index.d.ts.map +1 -1
  190. package/dist/messages/it/index.js +2 -0
  191. package/dist/messages/it/index.ts +2 -0
  192. package/dist/messages/it/settings.json +1 -0
  193. package/dist/messages/it/teams.json +3 -18
  194. package/dist/messages/pt/billing.json +12 -1
  195. package/dist/messages/pt/common.json +2 -0
  196. package/dist/messages/pt/docs.json +1 -0
  197. package/dist/messages/pt/features.json +16 -4
  198. package/dist/messages/pt/home.json +5 -0
  199. package/dist/messages/pt/index.d.ts +68 -25
  200. package/dist/messages/pt/index.d.ts.map +1 -1
  201. package/dist/messages/pt/index.js +2 -0
  202. package/dist/messages/pt/index.ts +2 -0
  203. package/dist/messages/pt/settings.json +1 -0
  204. package/dist/messages/pt/teams.json +3 -18
  205. package/dist/migrations/029_sample_accounts_outside_development.sql +55 -0
  206. package/dist/migrations/090_sample_data.sql +10 -0
  207. package/dist/routes/(auth)/signup/page.cc.d.ts +3 -8
  208. package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -1
  209. package/dist/routes/(auth)/signup/page.cc.js +7 -1
  210. package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -1
  211. package/dist/routes/(auth)/verify-email/page.js +2 -1
  212. package/dist/routes/(public)/page.cc.d.ts +3 -0
  213. package/dist/routes/(public)/page.cc.d.ts.map +1 -0
  214. package/dist/routes/(public)/page.cc.js +3 -0
  215. package/dist/routes/_internal/area-access.cc.d.ts +21 -0
  216. package/dist/routes/_internal/area-access.cc.d.ts.map +1 -0
  217. package/dist/routes/_internal/area-access.cc.js +19 -0
  218. package/dist/routes/_internal/auth-layout.d.ts.map +1 -1
  219. package/dist/routes/_internal/auth-layout.js +3 -2
  220. package/dist/routes/_internal/dashboard-main-shared.d.ts +7 -0
  221. package/dist/routes/_internal/dashboard-main-shared.d.ts.map +1 -0
  222. package/dist/routes/_internal/dashboard-main-shared.js +49 -0
  223. package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -1
  224. package/dist/routes/_internal/default-auth-layout.js +3 -2
  225. package/dist/routes/_internal/devtools-layout.cc.d.ts +3 -2
  226. package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -1
  227. package/dist/routes/_internal/devtools-layout.cc.js +1 -1
  228. package/dist/routes/_internal/devtools-layout.d.ts +7 -2
  229. package/dist/routes/_internal/devtools-layout.d.ts.map +1 -1
  230. package/dist/routes/_internal/devtools-layout.js +4 -4
  231. package/dist/routes/_internal/entity-detail-route.cc.d.ts +8 -0
  232. package/dist/routes/_internal/entity-detail-route.cc.d.ts.map +1 -0
  233. package/dist/routes/_internal/entity-detail-route.cc.js +5 -0
  234. package/dist/routes/_internal/entity-edit-route.cc.d.ts +8 -0
  235. package/dist/routes/_internal/entity-edit-route.cc.d.ts.map +1 -0
  236. package/dist/routes/_internal/entity-edit-route.cc.js +5 -0
  237. package/dist/routes/_internal/entity-permission-layout.d.ts.map +1 -1
  238. package/dist/routes/_internal/entity-permission-layout.js +0 -7
  239. package/dist/routes/_internal/public-archive-route.d.ts +1 -1
  240. package/dist/routes/_internal/public-archive-route.d.ts.map +1 -1
  241. package/dist/routes/_internal/public-archive-route.js +8 -3
  242. package/dist/routes/_internal/public-item-route.cc.d.ts +5 -1
  243. package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -1
  244. package/dist/routes/_internal/public-item-route.cc.js +2 -1
  245. package/dist/routes/_internal/public-item-route.d.ts +7 -0
  246. package/dist/routes/_internal/public-item-route.d.ts.map +1 -1
  247. package/dist/routes/_internal/public-item-route.js +6 -1
  248. package/dist/routes/_internal/superadmin-layout.cc.d.ts +2 -1
  249. package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -1
  250. package/dist/routes/_internal/superadmin-layout.cc.js +1 -1
  251. package/dist/routes/_internal/superadmin-layout.d.ts +7 -2
  252. package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -1
  253. package/dist/routes/_internal/superadmin-layout.js +6 -6
  254. package/dist/routes/_internal/suspended-route.d.ts +16 -0
  255. package/dist/routes/_internal/suspended-route.d.ts.map +1 -0
  256. package/dist/routes/_internal/suspended-route.js +7 -0
  257. package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -1
  258. package/dist/routes/api/auth/[...all]/route.js +4 -12
  259. package/dist/routes/api/csp-report/route.d.ts.map +1 -1
  260. package/dist/routes/api/csp-report/route.js +2 -13
  261. package/dist/routes/api/devtools/config/entities/route.d.ts +2 -0
  262. package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -1
  263. package/dist/routes/api/devtools/config/entities/route.js +2 -0
  264. package/dist/routes/api/devtools/config/theme/route.d.ts +2 -0
  265. package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -1
  266. package/dist/routes/api/devtools/config/theme/route.js +2 -0
  267. package/dist/routes/api/devtools/tests/[...path]/route.d.ts +2 -0
  268. package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -1
  269. package/dist/routes/api/devtools/tests/[...path]/route.js +2 -0
  270. package/dist/routes/api/devtools/tests/route.d.ts +2 -0
  271. package/dist/routes/api/devtools/tests/route.d.ts.map +1 -1
  272. package/dist/routes/api/devtools/tests/route.js +2 -0
  273. package/dist/routes/api/health/route.d.ts +2 -0
  274. package/dist/routes/api/health/route.d.ts.map +1 -1
  275. package/dist/routes/api/health/route.js +2 -0
  276. package/dist/routes/api/internal/user-metadata/route.d.ts +2 -0
  277. package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -1
  278. package/dist/routes/api/internal/user-metadata/route.js +2 -0
  279. package/dist/routes/api/mcp/route.d.ts +2 -0
  280. package/dist/routes/api/mcp/route.d.ts.map +1 -1
  281. package/dist/routes/api/mcp/route.js +9 -1
  282. package/dist/routes/api/superadmin/subscriptions/route.d.ts +2 -0
  283. package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -1
  284. package/dist/routes/api/superadmin/subscriptions/route.js +2 -0
  285. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +2 -0
  286. package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -1
  287. package/dist/routes/api/superadmin/teams/[teamId]/route.js +2 -0
  288. package/dist/routes/api/superadmin/teams/route.d.ts +2 -0
  289. package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -1
  290. package/dist/routes/api/superadmin/teams/route.js +2 -0
  291. package/dist/routes/api/superadmin/users/[userId]/route.d.ts +2 -0
  292. package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -1
  293. package/dist/routes/api/superadmin/users/[userId]/route.js +2 -0
  294. package/dist/routes/api/superadmin/users/route.d.ts +2 -0
  295. package/dist/routes/api/superadmin/users/route.d.ts.map +1 -1
  296. package/dist/routes/api/superadmin/users/route.js +2 -0
  297. package/dist/routes/api/user/delete-account/route.d.ts +2 -0
  298. package/dist/routes/api/user/delete-account/route.d.ts.map +1 -1
  299. package/dist/routes/api/user/delete-account/route.js +2 -0
  300. package/dist/routes/api/user/plan-flags/route.d.ts +2 -0
  301. package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -1
  302. package/dist/routes/api/user/plan-flags/route.js +2 -0
  303. package/dist/routes/api/user/profile/route.d.ts +2 -0
  304. package/dist/routes/api/user/profile/route.d.ts.map +1 -1
  305. package/dist/routes/api/user/profile/route.js +4 -3
  306. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +2 -0
  307. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -1
  308. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +2 -0
  309. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +2 -0
  310. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -1
  311. package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +2 -0
  312. package/dist/routes/api/v1/billing/cancel/route.d.ts +2 -0
  313. package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -1
  314. package/dist/routes/api/v1/billing/cancel/route.js +2 -0
  315. package/dist/routes/api/v1/billing/change-plan/route.d.ts +2 -0
  316. package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -1
  317. package/dist/routes/api/v1/billing/change-plan/route.js +2 -0
  318. package/dist/routes/api/v1/billing/check-action/route.d.ts +2 -0
  319. package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -1
  320. package/dist/routes/api/v1/billing/check-action/route.js +2 -0
  321. package/dist/routes/api/v1/billing/checkout/route.d.ts +2 -0
  322. package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -1
  323. package/dist/routes/api/v1/billing/checkout/route.js +2 -0
  324. package/dist/routes/api/v1/billing/plans/route.d.ts +2 -0
  325. package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -1
  326. package/dist/routes/api/v1/billing/plans/route.js +2 -0
  327. package/dist/routes/api/v1/billing/portal/route.d.ts +2 -0
  328. package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -1
  329. package/dist/routes/api/v1/billing/portal/route.js +2 -0
  330. package/dist/routes/api/v1/blocks/[slug]/route.d.ts +2 -0
  331. package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -1
  332. package/dist/routes/api/v1/blocks/[slug]/route.js +2 -0
  333. package/dist/routes/api/v1/blocks/route.d.ts +2 -0
  334. package/dist/routes/api/v1/blocks/route.d.ts.map +1 -1
  335. package/dist/routes/api/v1/blocks/route.js +2 -0
  336. package/dist/routes/api/v1/blocks/validate/route.d.ts +2 -0
  337. package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -1
  338. package/dist/routes/api/v1/blocks/validate/route.js +2 -0
  339. package/dist/routes/api/v1/devtools/blocks/route.d.ts +2 -1
  340. package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -1
  341. package/dist/routes/api/v1/devtools/blocks/route.js +2 -9
  342. package/dist/routes/api/v1/devtools/docs/route.d.ts +2 -0
  343. package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -1
  344. package/dist/routes/api/v1/devtools/docs/route.js +2 -0
  345. package/dist/routes/api/v1/devtools/features/route.d.ts +2 -1
  346. package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -1
  347. package/dist/routes/api/v1/devtools/features/route.js +2 -9
  348. package/dist/routes/api/v1/devtools/flows/route.d.ts +2 -1
  349. package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -1
  350. package/dist/routes/api/v1/devtools/flows/route.js +2 -9
  351. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +2 -1
  352. package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -1
  353. package/dist/routes/api/v1/devtools/scheduled-actions/route.js +2 -9
  354. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +2 -1
  355. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -1
  356. package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +2 -9
  357. package/dist/routes/api/v1/devtools/testing/route.d.ts +2 -1
  358. package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -1
  359. package/dist/routes/api/v1/devtools/testing/route.js +2 -9
  360. package/dist/routes/api/v1/media/[id]/route.d.ts +2 -0
  361. package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -1
  362. package/dist/routes/api/v1/media/[id]/route.js +2 -0
  363. package/dist/routes/api/v1/media/[id]/tags/route.d.ts +2 -0
  364. package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -1
  365. package/dist/routes/api/v1/media/[id]/tags/route.js +2 -0
  366. package/dist/routes/api/v1/media/check-duplicates/route.d.ts +2 -0
  367. package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -1
  368. package/dist/routes/api/v1/media/check-duplicates/route.js +2 -0
  369. package/dist/routes/api/v1/media/route.d.ts +2 -0
  370. package/dist/routes/api/v1/media/route.d.ts.map +1 -1
  371. package/dist/routes/api/v1/media/route.js +2 -0
  372. package/dist/routes/api/v1/media/upload/route.d.ts +4 -1
  373. package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -1
  374. package/dist/routes/api/v1/media/upload/route.js +12 -2
  375. package/dist/routes/api/v1/media-tags/route.d.ts +2 -0
  376. package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -1
  377. package/dist/routes/api/v1/media-tags/route.js +2 -0
  378. package/dist/routes/api/v1/post-categories/[id]/route.d.ts +2 -0
  379. package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -1
  380. package/dist/routes/api/v1/post-categories/[id]/route.js +2 -0
  381. package/dist/routes/api/v1/post-categories/route.d.ts +2 -0
  382. package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -1
  383. package/dist/routes/api/v1/post-categories/route.js +2 -0
  384. package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts.map +1 -1
  385. package/dist/routes/api/v1/teams/[teamId]/members/route.js +14 -12
  386. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +2 -0
  387. package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -1
  388. package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +2 -0
  389. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +2 -0
  390. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -1
  391. package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +2 -0
  392. package/dist/routes/api/v1/teams/switch/route.d.ts.map +1 -1
  393. package/dist/routes/api/v1/teams/switch/route.js +4 -1
  394. package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -1
  395. package/dist/routes/api/v1/users/[id]/route.js +3 -2
  396. package/dist/routes/api/v1/users/docs.md +34 -19
  397. package/dist/routes/api/v1/users/me/route.d.ts +6 -0
  398. package/dist/routes/api/v1/users/me/route.d.ts.map +1 -0
  399. package/dist/routes/api/v1/users/me/route.js +5 -0
  400. package/dist/routes/api/v1/users/presets.ts +2 -2
  401. package/dist/routes/dashboard/(main)/layout.cc.d.ts +4 -0
  402. package/dist/routes/dashboard/(main)/layout.cc.d.ts.map +1 -0
  403. package/dist/routes/dashboard/(main)/layout.cc.js +10 -0
  404. package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -1
  405. package/dist/routes/dashboard/(main)/layout.js +3 -44
  406. package/dist/routes/dashboard/permission-denied/page.d.ts +1 -1
  407. package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -1
  408. package/dist/routes/dashboard/permission-denied/page.js +5 -1
  409. package/dist/routes/dashboard/settings/password/page.d.ts.map +1 -1
  410. package/dist/routes/dashboard/settings/password/page.js +10 -12
  411. package/dist/routes/devtools/config/page.js +1 -1
  412. package/dist/routes/devtools/layout.cc.d.ts.map +1 -1
  413. package/dist/routes/devtools/layout.cc.js +5 -1
  414. package/dist/routes/devtools/page.js +1 -1
  415. package/dist/routes/devtools/scheduled-actions/page.js +1 -1
  416. package/dist/routes/devtools/tests/[[...path]]/page.js +1 -1
  417. package/dist/routes/manifest.json +10 -0
  418. package/dist/routes/robots.d.ts +10 -0
  419. package/dist/routes/robots.d.ts.map +1 -0
  420. package/dist/routes/robots.js +10 -0
  421. package/dist/routes/superadmin/layout.cc.d.ts.map +1 -1
  422. package/dist/routes/superadmin/layout.cc.js +5 -1
  423. package/dist/routes/variants.json +12 -2
  424. package/dist/templates/ci-workflows/github/cypress-regression.yml +1 -1
  425. package/dist/templates/ci-workflows/github/cypress-smoke.yml +2 -1
  426. package/dist/templates/next.config.mjs +2 -29
  427. package/dist/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  428. package/dist/templates/projects/blog/api/authors/route.ts +3 -0
  429. package/dist/templates/projects/blog/api/posts/public/route.ts +3 -0
  430. package/dist/templates/projects/starter/README.md +2 -0
  431. package/dist/templates/projects/starter/docs/public/01-overview/01-introduction.md +2 -0
  432. package/dist/templates/projects/starter/templates/dashboard/analytics/layout.tsx +14 -0
  433. package/dist/templates/proxy.ts +27 -9
  434. package/dist/templates/public/favicon.ico +0 -0
  435. package/dist/templates/public/uploads/README.md +5 -94
  436. package/migrations/029_sample_accounts_outside_development.sql +55 -0
  437. package/migrations/090_sample_data.sql +10 -0
  438. package/package.json +2 -2
  439. package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +3 -0
  440. package/scripts/build/registry/__tests__/billing-registry.test.mjs +50 -1
  441. package/scripts/build/registry/__tests__/block-registry.test.mjs +3 -0
  442. package/scripts/build/registry/__tests__/icons-discovery.test.mjs +3 -0
  443. package/scripts/build/registry/__tests__/quiet-console.mjs +17 -0
  444. package/scripts/build/registry/__tests__/safe-fs.test.mjs +3 -0
  445. package/scripts/build/registry/__tests__/team-roles.test.mjs +3 -0
  446. package/scripts/build/registry/discovery/permissions.test.mjs +3 -0
  447. package/scripts/build/registry/discovery/plugin-capabilities.mjs +2 -2
  448. package/scripts/build/registry/generators/billing-registry.mjs +7 -3
  449. package/scripts/build/registry/host/README.md +25 -1
  450. package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +32 -0
  451. package/scripts/build/registry/host/__tests__/host-entities.test.mjs +32 -1
  452. package/scripts/build/registry/host/__tests__/host-plan.test.mjs +12 -2
  453. package/scripts/build/registry/host/__tests__/host-proxy-areas.test.mjs +72 -1
  454. package/scripts/build/registry/host/entity-routes.mjs +9 -3
  455. package/scripts/build/registry/host/proxy-areas.mjs +65 -2
  456. package/scripts/build/registry/host/static-imports.mjs +4 -0
  457. package/scripts/build/routes-manifest.mjs +13 -1
  458. package/scripts/db/run-migrations.mjs +30 -10
  459. package/scripts/db/sample-data.mjs +44 -0
  460. package/scripts/db/ssl-config.mjs +12 -1
  461. package/scripts/db/verify-theme-migrations.mjs +6 -0
  462. package/templates/ci-workflows/github/cypress-regression.yml +1 -1
  463. package/templates/ci-workflows/github/cypress-smoke.yml +2 -1
  464. package/templates/next.config.mjs +2 -29
  465. package/templates/projects/blog/api/authors/[username]/route.ts +3 -0
  466. package/templates/projects/blog/api/authors/route.ts +3 -0
  467. package/templates/projects/blog/api/posts/public/route.ts +3 -0
  468. package/templates/projects/starter/README.md +2 -0
  469. package/templates/projects/starter/docs/public/01-overview/01-introduction.md +2 -0
  470. package/templates/projects/starter/templates/dashboard/analytics/layout.tsx +14 -0
  471. package/templates/proxy.ts +27 -9
  472. package/templates/public/favicon.ico +0 -0
  473. package/templates/public/uploads/README.md +5 -94
  474. package/tests/jest/__mocks__/@nextsparkjs/registries/api-presets-registry.ts +2 -0
  475. package/tests/jest/__mocks__/@nextsparkjs/registries/mcp-registry.ts +2 -0
  476. package/dist/templates/projects/starter/public/brand/.gitkeep +0 -0
  477. package/dist/templates/public/uploads/.gitignore +0 -6
  478. package/dist/templates/public/uploads/temp/.gitkeep +0 -1
  479. package/templates/projects/starter/public/brand/.gitkeep +0 -0
  480. package/templates/public/uploads/.gitignore +0 -6
  481. package/templates/public/uploads/temp/.gitkeep +0 -1
@@ -3,6 +3,7 @@ import { generateEntityAPI } from "./api-generator.js";
3
3
  import { getEntityConfig } from "./registry.js";
4
4
  import { rateLimit } from "../rate-limit.js";
5
5
  import { validateAPIKey } from "../auth/api-keys.js";
6
+ import { getClientIp } from "../api/client-ip.js";
6
7
  function generateExternalAPI(entityName, options = {}) {
7
8
  const entityConfig = getEntityConfig(entityName);
8
9
  if (!entityConfig) {
@@ -168,10 +169,7 @@ function createErrorResponse(status, message, details) {
168
169
  }, { status });
169
170
  }
170
171
  function getClientIdentifier(request) {
171
- const apiKeyId = request.headers.get("x-api-key-id");
172
- const clientId = request.headers.get("x-client-id");
173
- const ip = request.headers.get("x-forwarded-for") || request.headers.get("x-real-ip") || "unknown";
174
- return apiKeyId || clientId || ip;
172
+ return getClientIp(request.headers);
175
173
  }
176
174
  function generateOpenAPISpec(entityName) {
177
175
  const entityConfig = getEntityConfig(entityName);
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Slugs of public entities (#215)
3
+ *
4
+ * A slug that ends up in a public URL is validated on write, with the one format the templates' pages and
5
+ * posts tables enforce (`validatePageSlug`): lowercase letters, digits and hyphens, no dot. Reserved words
6
+ * are refused only for an entity served at the site root (`access.basePath: '/'`), where they would shadow
7
+ * a route. Existing rows are not rewritten, and a slug that did not change is never judged (the callers check).
8
+ */
9
+ import type { EntityConfig } from './types';
10
+ /** What the slug rule reads of an entity: the server's config, or the client registry's lighter one. */
11
+ export interface SlugScope {
12
+ access?: {
13
+ basePath?: string;
14
+ allowNestedSlugs?: boolean;
15
+ };
16
+ builder?: {
17
+ public?: {
18
+ basePath?: string;
19
+ };
20
+ };
21
+ }
22
+ /** Whether the entity has a `slug` field that becomes part of a public URL. */
23
+ export declare function hasPublicSlug(entity: EntityConfig): boolean;
24
+ /**
25
+ * The first segments of the base paths the other entities are served under (`/blog/x` -> `blog`): a root page with
26
+ * that slug would be shadowed by their routes.
27
+ */
28
+ export declare function otherBasePathSegments(entity: SlugScope, entities: readonly (SlugScope & {
29
+ slug?: string;
30
+ })[]): string[];
31
+ /**
32
+ * The reason `slug` cannot be a public slug of `entity`, or null when it can. `taken` are the base path segments
33
+ * of the other entities (`otherBasePathSegments`), reserved for an entity at the site root.
34
+ */
35
+ export declare function validatePublicSlug(entity: SlugScope, slug: string, taken?: readonly string[]): string | null;
36
+ /**
37
+ * The validation issue (Zod's shape, so clients read it like any other field error) for the `slug` of a
38
+ * write body, or null: the entity has no public slug, the body does not carry one (an update that leaves it
39
+ * alone), or it is valid. Meant to run after the schema accepted the body, so a present slug is a string or null.
40
+ */
41
+ export declare function publicSlugIssue(entity: EntityConfig, data: Record<string, unknown>, taken?: readonly string[]): {
42
+ code: string;
43
+ path: string[];
44
+ message: string;
45
+ };
46
+ //# sourceMappingURL=public-slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-slug.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/public-slug.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,wGAAwG;AACxG,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1D,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC7C;AAKD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAKvH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAWhH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO;;;;EAIjH"}
@@ -0,0 +1,39 @@
1
+ import { validatePageSlug } from "../constants/reserved-slugs.js";
2
+ const basePathOf = (entity) => {
3
+ var _a, _b, _c;
4
+ return ((_a = entity.access) == null ? void 0 : _a.basePath) ?? ((_c = (_b = entity.builder) == null ? void 0 : _b.public) == null ? void 0 : _c.basePath);
5
+ };
6
+ function hasPublicSlug(entity) {
7
+ var _a;
8
+ return entity.fields.some((field) => field.name === "slug") && (((_a = entity.access) == null ? void 0 : _a.public) === true || basePathOf(entity) !== void 0);
9
+ }
10
+ function otherBasePathSegments(entity, entities) {
11
+ return entities.filter((other) => other !== entity).map((other) => {
12
+ var _a;
13
+ return (_a = basePathOf(other)) == null ? void 0 : _a.split("/").filter(Boolean)[0];
14
+ }).filter((segment) => Boolean(segment));
15
+ }
16
+ function validatePublicSlug(entity, slug, taken = []) {
17
+ var _a;
18
+ const atRoot = basePathOf(entity) === "/";
19
+ const segments = slug.split("/");
20
+ if (segments.length > 1 && !(atRoot ? (_a = entity.access) == null ? void 0 : _a.allowNestedSlugs : basePathOf(entity))) {
21
+ return "Slug cannot contain slashes";
22
+ }
23
+ for (const [index, segment] of segments.entries()) {
24
+ const reason = validatePageSlug(segment, { checkReserved: atRoot && index === 0, reserved: taken });
25
+ if (reason) return reason;
26
+ }
27
+ return null;
28
+ }
29
+ function publicSlugIssue(entity, data, taken = []) {
30
+ if (!hasPublicSlug(entity) || typeof data.slug !== "string") return null;
31
+ const message = validatePublicSlug(entity, data.slug, taken);
32
+ return message ? { code: "custom", path: ["slug"], message } : null;
33
+ }
34
+ export {
35
+ hasPublicSlug,
36
+ otherBasePathSegments,
37
+ publicSlugIssue,
38
+ validatePublicSlug
39
+ };
@@ -11,6 +11,8 @@ interface ErrorContext {
11
11
  operation: string;
12
12
  hints?: string[];
13
13
  }
14
+ /** What an MCP client is told when its API key is over its request limit. */
15
+ export declare const RATE_LIMIT_MESSAGE = "Request limit reached. Wait a minute before retrying; for large loads use the batch tools if the entity exposes them.";
14
16
  export declare function translateApiError(result: EntityApiResult, context: ErrorContext): string;
15
17
  export {};
16
18
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/mcp/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CA4CxF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/mcp/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,0HAC0F,CAAA;AAEzH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CA4CxF"}
@@ -1,3 +1,4 @@
1
+ const RATE_LIMIT_MESSAGE = "Request limit reached. Wait a minute before retrying; for large loads use the batch tools if the entity exposes them.";
1
2
  function translateApiError(result, context) {
2
3
  var _a;
3
4
  const { status, body } = result;
@@ -17,7 +18,7 @@ function translateApiError(result, context) {
17
18
  case "UNIQUE_CONSTRAINT_VIOLATION":
18
19
  return `A record for ${context.slug} already exists with that unique value${detail}. Look it up with the list tool and update it instead of creating it.`;
19
20
  case "RATE_LIMIT_EXCEEDED":
20
- return "Request limit reached. Wait a minute before retrying; for large loads use the batch tools if the entity exposes them.";
21
+ return RATE_LIMIT_MESSAGE;
21
22
  default:
22
23
  break;
23
24
  }
@@ -62,5 +63,6 @@ function formatDetails(details) {
62
63
  return ` Detail: ${JSON.stringify(details).slice(0, 300)}.`;
63
64
  }
64
65
  export {
66
+ RATE_LIMIT_MESSAGE,
65
67
  translateApiError
66
68
  };
@@ -1,7 +1,7 @@
1
1
  export { createMcpEngine, type McpEngine } from './engine';
2
2
  export { executeEntityOperation } from './executor';
3
3
  export { auditToolCall } from './audit';
4
- export { translateApiError } from './errors';
4
+ export { RATE_LIMIT_MESSAGE, translateApiError } from './errors';
5
5
  export { buildEntitySchemas, type EntitySchemaBundle, type SchemaBuilderContext } from './schema-builder';
6
6
  export { StatelessJsonRpcTransport } from './transport';
7
7
  export { generateEntityTools, toolToken, listArgsToQuery, normalizeDateFields, errorResult, } from './tool-generator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,SAAS,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { createMcpEngine } from "./engine.js";
2
2
  import { executeEntityOperation } from "./executor.js";
3
3
  import { auditToolCall } from "./audit.js";
4
- import { translateApiError } from "./errors.js";
4
+ import { RATE_LIMIT_MESSAGE, translateApiError } from "./errors.js";
5
5
  import { buildEntitySchemas } from "./schema-builder.js";
6
6
  import { StatelessJsonRpcTransport } from "./transport.js";
7
7
  import {
@@ -18,6 +18,7 @@ import {
18
18
  export {
19
19
  MUTATION_OPERATIONS,
20
20
  McpToolError,
21
+ RATE_LIMIT_MESSAGE,
21
22
  StatelessJsonRpcTransport,
22
23
  auditToolCall,
23
24
  buildEntitySchemas,
@@ -1 +1 @@
1
- {"version":3,"file":"generic-entity.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/generic-entity.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-entity.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/generic-entity.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { queryWithRLS, queryOneWithRLS, mutateWithRLS } from "../db.js";
2
2
  import { entityRegistry } from "../entities/registry.js";
3
+ import { expirePublicEntity } from "../cache/public-entity-cache.js";
3
4
  import {
4
5
  beforeEntityCreate,
5
6
  afterEntityCreate,
@@ -570,6 +571,7 @@ class GenericEntityService {
570
571
  params,
571
572
  userId
572
573
  );
574
+ if (result.rowCount > 0) expirePublicEntity(entityConfig);
573
575
  return result.rowCount;
574
576
  }
575
577
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAc,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE7E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAW1D;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAGtD;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,QAAmB,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,QAAQ,EAAuB,GAC7C,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQ1B;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM;;QAEpD,MAAM;UACJ,MAAM;UACN,MAAM;iBACC,MAAM,GAAG,IAAI;aACjB,MAAM;eACJ,MAAM,GAAG,IAAI;cACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;eAClB,MAAM;eACN,MAAM;cACP,QAAQ;cACR,MAAM;KAyBnB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAqBlD;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;QAGR,MAAM;YACF,MAAM;YACN,MAAM;UACR,QAAQ;eACH,MAAM,GAAG,IAAI;cACd,MAAM;eACL,MAAM;eACN,MAAM;cACP,MAAM,GAAG,IAAI;eACZ,MAAM;eACN,MAAM,GAAG,IAAI;KAuB3B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAc,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE7E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAW1D;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAGtD;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,QAAmB,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,QAAQ,EAAuB,GAC7C,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQ1B;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM;;QAEpD,MAAM;UACJ,MAAM;UACN,MAAM;iBACC,MAAM,GAAG,IAAI;aACjB,MAAM;eACJ,MAAM,GAAG,IAAI;cACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;eAClB,MAAM;eACN,MAAM;cACP,QAAQ;cACR,MAAM;KAyBnB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAqBlD;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;QAGR,MAAM;YACF,MAAM;YACN,MAAM;UACR,QAAQ;eACH,MAAM,GAAG,IAAI;cACd,MAAM;eACL,MAAM;eACN,MAAM;cACP,MAAM,GAAG,IAAI;eACZ,MAAM;eACN,MAAM,GAAG,IAAI;KAuB3B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -190,7 +190,6 @@ async function switchActiveTeam(userId, teamId) {
190
190
  if (!isMember) {
191
191
  throw new Error("User is not a member of this team");
192
192
  }
193
- console.log(`User ${userId} switched to team ${teamId}`);
194
193
  return true;
195
194
  }
196
195
  async function deleteTeam(teamId, userId) {
@@ -7,7 +7,6 @@
7
7
  "contactUs": "Kontaktieren Sie uns",
8
8
  "unlimited": "Unbegrenzt",
9
9
  "upgrade": "Upgrade",
10
- "downgrade": "Downgrade",
11
10
  "cancelSubscription": "Abonnement kuendigen",
12
11
  "upgradeDescription": "Waehlen Sie den Tarif, der am besten zu Ihren Beduerfnissen passt",
13
12
  "monthly": "Monatlich",
@@ -159,6 +158,18 @@
159
158
  "failed": "Fehlgeschlagen"
160
159
  },
161
160
 
161
+ "changePlan": {
162
+ "title": "Tarif wechseln",
163
+ "from": "Aktueller Tarif",
164
+ "to": "Neuer Tarif",
165
+ "upgradeDescription": "Ihre Abrechnung wird für den laufenden Zeitraum anteilig angepasst",
166
+ "downgradeDescription": "Bestehende Ressourcen bleiben zugänglich, das Anlegen neuer kann jedoch eingeschränkt sein",
167
+ "downgradeToFreeDescription": "Ihr Abonnement wird gekündigt und Sie wechseln zum kostenlosen Tarif",
168
+ "confirm": "Wechsel bestätigen",
169
+ "cancel": "Abbrechen",
170
+ "confirming": "Tarif wird geändert..."
171
+ },
172
+
162
173
  "quota": {
163
174
  "limitReached": "Sie haben Ihr Limit fuer {entity} erreicht",
164
175
  "limitReachedDetail": "Ihr aktueller Tarif erlaubt keine weiteren {entity}. Fuehren Sie ein Upgrade durch, um weiterzuwachsen.",
@@ -1,4 +1,6 @@
1
1
  {
2
+ "soon": "Bald",
3
+ "comingSoon": "Demnächst verfügbar",
2
4
  "navigation": {
3
5
  "dashboard": "Dashboard",
4
6
  "settings": "Einstellungen",
@@ -18,6 +18,7 @@
18
18
  "home": "Startseite"
19
19
  },
20
20
  "sidebar": {
21
+ "close": "Seitenleiste schließen",
21
22
  "open": "Seitenmenue oeffnen",
22
23
  "label": "Dokumentationsnavigation"
23
24
  },
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "analytics": {
3
- "title": "",
4
- "benefit1": "",
5
- "benefit2": "",
6
- "benefit3": ""
3
+ "title": "Erweiterte Analysen",
4
+ "benefit1": "Echtzeit-Metriken",
5
+ "benefit2": "Benutzerdefinierter Report-Builder",
6
+ "benefit3": "Export nach PDF/CSV"
7
+ },
8
+ "webhooks": {
9
+ "title": "Webhooks",
10
+ "benefit1": "HTTP-Callbacks für Ereignisse",
11
+ "benefit2": "Benutzerdefinierte Payload-Vorlagen",
12
+ "benefit3": "Wiederholungslogik und Protokollierung"
13
+ },
14
+ "automation": {
15
+ "title": "Aufgabenautomatisierung",
16
+ "benefit1": "Automatische Aufgabenerstellung",
17
+ "benefit2": "Geplante Aktionen",
18
+ "benefit3": "Workflow-Trigger"
7
19
  }
8
20
  }
@@ -9,5 +9,10 @@
9
9
  "features": {
10
10
  "title": "Funktionen",
11
11
  "subtitle": "Alles, was Sie brauchen"
12
+ },
13
+ "auth": {
14
+ "signIn": "Anmelden",
15
+ "createAccount": "Konto erstellen",
16
+ "goToDashboard": "Zum Dashboard"
12
17
  }
13
18
  }
@@ -422,14 +422,6 @@ declare const _default: {
422
422
  contactUs: string;
423
423
  unlimited: string;
424
424
  upgrade: string;
425
- downgrade: {
426
- title: string;
427
- description: string;
428
- resource_over: string;
429
- policy: string;
430
- confirm: string;
431
- cancel: string;
432
- };
433
425
  cancelSubscription: string;
434
426
  upgradeDescription: string;
435
427
  monthly: string;
@@ -536,6 +528,14 @@ declare const _default: {
536
528
  featureNotAvailable: string;
537
529
  upgradeRequired: string;
538
530
  };
531
+ downgrade: {
532
+ title: string;
533
+ description: string;
534
+ resource_over: string;
535
+ policy: string;
536
+ confirm: string;
537
+ cancel: string;
538
+ };
539
539
  portal: {
540
540
  manage: string;
541
541
  loading: string;
@@ -563,6 +563,17 @@ declare const _default: {
563
563
  pending: string;
564
564
  failed: string;
565
565
  };
566
+ changePlan: {
567
+ title: string;
568
+ from: string;
569
+ to: string;
570
+ upgradeDescription: string;
571
+ downgradeDescription: string;
572
+ downgradeToFreeDescription: string;
573
+ confirm: string;
574
+ cancel: string;
575
+ confirming: string;
576
+ };
566
577
  quota: {
567
578
  limitReached: string;
568
579
  limitReachedDetail: string;
@@ -598,6 +609,8 @@ declare const _default: {
598
609
  signingOut: string;
599
610
  };
600
611
  readonly common: {
612
+ soon: string;
613
+ comingSoon: string;
601
614
  navigation: {
602
615
  dashboard: string;
603
616
  settings: string;
@@ -1238,6 +1251,7 @@ declare const _default: {
1238
1251
  home: string;
1239
1252
  };
1240
1253
  sidebar: {
1254
+ close: string;
1241
1255
  open: string;
1242
1256
  label: string;
1243
1257
  };
@@ -1356,6 +1370,26 @@ declare const _default: {
1356
1370
  idCopied: string;
1357
1371
  };
1358
1372
  };
1373
+ readonly features: {
1374
+ analytics: {
1375
+ title: string;
1376
+ benefit1: string;
1377
+ benefit2: string;
1378
+ benefit3: string;
1379
+ };
1380
+ webhooks: {
1381
+ title: string;
1382
+ benefit1: string;
1383
+ benefit2: string;
1384
+ benefit3: string;
1385
+ };
1386
+ automation: {
1387
+ title: string;
1388
+ benefit1: string;
1389
+ benefit2: string;
1390
+ benefit3: string;
1391
+ };
1392
+ };
1359
1393
  readonly footer: {
1360
1394
  product: string;
1361
1395
  features: string;
@@ -1390,6 +1424,11 @@ declare const _default: {
1390
1424
  title: string;
1391
1425
  subtitle: string;
1392
1426
  };
1427
+ auth: {
1428
+ signIn: string;
1429
+ createAccount: string;
1430
+ goToDashboard: string;
1431
+ };
1393
1432
  };
1394
1433
  readonly navigation: {
1395
1434
  home: string;
@@ -1893,6 +1932,7 @@ declare const _default: {
1893
1932
  refunded: string;
1894
1933
  };
1895
1934
  pagination: {
1935
+ page: string;
1896
1936
  showing: string;
1897
1937
  previous: string;
1898
1938
  next: string;
@@ -2129,18 +2169,6 @@ declare const _default: {
2129
2169
  readonly teams: {
2130
2170
  title: string;
2131
2171
  description: string;
2132
- entity: {
2133
- description: string;
2134
- plural: string;
2135
- };
2136
- fields: {
2137
- name: string;
2138
- slug: string;
2139
- description: string;
2140
- email: string;
2141
- role: string;
2142
- joinedAt: string;
2143
- };
2144
2172
  types: {
2145
2173
  personal: string;
2146
2174
  work: string;
@@ -2157,6 +2185,10 @@ declare const _default: {
2157
2185
  member: string;
2158
2186
  viewer: string;
2159
2187
  };
2188
+ entity: {
2189
+ description: string;
2190
+ plural: string;
2191
+ };
2160
2192
  actions: {
2161
2193
  create: string;
2162
2194
  creating: string;
@@ -2230,6 +2262,7 @@ declare const _default: {
2230
2262
  joined: string;
2231
2263
  };
2232
2264
  invitations: {
2265
+ expired: string;
2233
2266
  title: string;
2234
2267
  description: string;
2235
2268
  pending: string;
@@ -2247,6 +2280,7 @@ declare const _default: {
2247
2280
  cancelError: string;
2248
2281
  };
2249
2282
  invite: {
2283
+ limitReached: string;
2250
2284
  title: string;
2251
2285
  description: string;
2252
2286
  emailLabel: string;
@@ -2274,11 +2308,6 @@ declare const _default: {
2274
2308
  billing: string;
2275
2309
  danger: string;
2276
2310
  };
2277
- messages: {
2278
- created: string;
2279
- loading: string;
2280
- memberInvited: string;
2281
- };
2282
2311
  errors: {
2283
2312
  notFound: string;
2284
2313
  notMember: string;
@@ -2292,6 +2321,20 @@ declare const _default: {
2292
2321
  title: string;
2293
2322
  description: string;
2294
2323
  };
2324
+ fields: {
2325
+ name: string;
2326
+ slug: string;
2327
+ description: string;
2328
+ email: string;
2329
+ role: string;
2330
+ joinedAt: string;
2331
+ };
2332
+ messages: {
2333
+ cancelling: string;
2334
+ created: string;
2335
+ loading: string;
2336
+ memberInvited: string;
2337
+ };
2295
2338
  };
2296
2339
  readonly validation: {
2297
2340
  email: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messages/de/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,wBAqBU"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messages/de/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,wBAsBU"}
@@ -8,6 +8,7 @@ import devtools from "./devtools.json";
8
8
  import docs from "./docs.json";
9
9
  import email from "./email.json";
10
10
  import entities from "./entities.json";
11
+ import features from "./features.json";
11
12
  import footer from "./footer.json";
12
13
  import home from "./home.json";
13
14
  import navigation from "./navigation.json";
@@ -29,6 +30,7 @@ var de_default = {
29
30
  docs,
30
31
  email,
31
32
  entities,
33
+ features,
32
34
  footer,
33
35
  home,
34
36
  navigation,
@@ -8,6 +8,7 @@ import devtools from './devtools.json'
8
8
  import docs from './docs.json'
9
9
  import email from './email.json'
10
10
  import entities from './entities.json'
11
+ import features from './features.json'
11
12
  import footer from './footer.json'
12
13
  import home from './home.json'
13
14
  import navigation from './navigation.json'
@@ -30,6 +31,7 @@ export default {
30
31
  docs,
31
32
  email,
32
33
  entities,
34
+ features,
33
35
  footer,
34
36
  home,
35
37
  navigation,
@@ -368,6 +368,7 @@
368
368
  "refunded": "Erstattet"
369
369
  },
370
370
  "pagination": {
371
+ "page": "Seite {current} von {total}",
371
372
  "showing": "Zeige {start} bis {end} von {total} Rechnungen",
372
373
  "previous": "Zurueck",
373
374
  "next": "Weiter"
@@ -2,20 +2,6 @@
2
2
  "title": "Teams",
3
3
  "description": "Verwalten Sie Ihre Teams und Zusammenarbeiten",
4
4
 
5
- "entity": {
6
- "description": "Verwalten Sie Ihre Teams, Mitglieder und Einladungen",
7
- "plural": "Teams"
8
- },
9
-
10
- "fields": {
11
- "name": "Name",
12
- "slug": "URL",
13
- "description": "Beschreibung",
14
- "email": "E-Mail",
15
- "role": "Rolle",
16
- "joinedAt": "Beitrittsdatum"
17
- },
18
-
19
5
  "types": {
20
6
  "personal": "Persoenlich",
21
7
  "work": "Arbeitsteam"
@@ -120,6 +106,7 @@
120
106
  },
121
107
 
122
108
  "invitations": {
109
+ "expired": "Abgelaufen",
123
110
  "title": "Ausstehende Einladungen",
124
111
  "description": "Einladungen, die auf Antwort warten",
125
112
  "pending": "Ausstehend",
@@ -138,6 +125,7 @@
138
125
  },
139
126
 
140
127
  "invite": {
128
+ "limitReached": "Mitgliederlimit des Teams erreicht ({limit})",
141
129
  "title": "Mitglied einladen",
142
130
  "description": "Laden Sie jemanden ein, diesem Team beizutreten",
143
131
  "emailLabel": "E-Mail-Adresse",
@@ -168,10 +156,6 @@
168
156
  "danger": "Gefahrenzone"
169
157
  },
170
158
 
171
- "messages": {
172
- "loading": "Laden..."
173
- },
174
-
175
159
  "errors": {
176
160
  "notFound": "Team nicht gefunden",
177
161
  "notMember": "Sie sind kein Mitglied dieses Teams",
@@ -197,6 +181,7 @@
197
181
  },
198
182
 
199
183
  "messages": {
184
+ "cancelling": "Wird storniert...",
200
185
  "created": "Team erfolgreich erstellt",
201
186
  "loading": "Teams werden geladen...",
202
187
  "memberInvited": "Mitglied erfolgreich eingeladen"
@@ -7,7 +7,6 @@
7
7
  "contactUs": "Contact Us",
8
8
  "unlimited": "Unlimited",
9
9
  "upgrade": "Upgrade",
10
- "downgrade": "Downgrade",
11
10
  "cancelSubscription": "Cancel Subscription",
12
11
  "upgradeDescription": "Choose the plan that best fits your needs",
13
12
  "monthly": "Monthly",
@@ -160,6 +159,7 @@
160
159
  },
161
160
 
162
161
  "changePlan": {
162
+ "confirming": "Changing plan...",
163
163
  "title": "Change Plan",
164
164
  "from": "Current Plan",
165
165
  "to": "New Plan",
@@ -1,4 +1,6 @@
1
1
  {
2
+ "soon": "Soon",
3
+ "comingSoon": "Coming soon",
2
4
  "navigation": {
3
5
  "dashboard": "Dashboard",
4
6
  "settings": "Settings",
@@ -18,6 +18,7 @@
18
18
  "home": "Home"
19
19
  },
20
20
  "sidebar": {
21
+ "close": "Close sidebar",
21
22
  "open": "Open sidebar",
22
23
  "label": "Documentation navigation"
23
24
  },