@revealui/core 0.0.1-pre.4 → 0.2.0

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 (619) hide show
  1. package/LICENSE +22 -202
  2. package/README.md +29 -180
  3. package/dist/api/compression.d.ts +83 -0
  4. package/dist/api/compression.d.ts.map +1 -0
  5. package/dist/api/compression.js +233 -0
  6. package/dist/api/payload-optimization.d.ts +138 -0
  7. package/dist/api/payload-optimization.d.ts.map +1 -0
  8. package/dist/api/payload-optimization.js +320 -0
  9. package/dist/api/rate-limit.d.ts +113 -0
  10. package/dist/api/rate-limit.d.ts.map +1 -0
  11. package/dist/api/rate-limit.js +301 -0
  12. package/dist/api/response-cache.d.ts +125 -0
  13. package/dist/api/response-cache.d.ts.map +1 -0
  14. package/dist/api/response-cache.js +335 -0
  15. package/dist/api/rest.d.ts +54 -0
  16. package/dist/api/rest.d.ts.map +1 -0
  17. package/dist/api/rest.js +464 -0
  18. package/dist/auth/access.d.ts +25 -0
  19. package/dist/auth/access.d.ts.map +1 -0
  20. package/dist/auth/access.js +20 -0
  21. package/dist/auth/index.d.ts +2 -0
  22. package/dist/auth/index.d.ts.map +1 -0
  23. package/dist/auth/index.js +2 -0
  24. package/dist/cache/query-cache.d.ts +98 -0
  25. package/dist/cache/query-cache.d.ts.map +1 -0
  26. package/dist/cache/query-cache.js +260 -0
  27. package/dist/caching/app-cache.d.ts +237 -0
  28. package/dist/caching/app-cache.d.ts.map +1 -0
  29. package/dist/caching/app-cache.js +430 -0
  30. package/dist/caching/cdn-config.d.ts +155 -0
  31. package/dist/caching/cdn-config.d.ts.map +1 -0
  32. package/dist/caching/cdn-config.js +425 -0
  33. package/dist/caching/edge-cache.d.ts +177 -0
  34. package/dist/caching/edge-cache.d.ts.map +1 -0
  35. package/dist/caching/edge-cache.js +381 -0
  36. package/dist/caching/service-worker.d.ts +165 -0
  37. package/dist/caching/service-worker.d.ts.map +1 -0
  38. package/dist/caching/service-worker.js +437 -0
  39. package/dist/client/admin/RichText.d.ts +12 -0
  40. package/dist/client/admin/RichText.d.ts.map +1 -0
  41. package/dist/client/admin/RichText.js +5 -0
  42. package/dist/client/admin/components/AdminDashboard.d.ts +7 -0
  43. package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -0
  44. package/dist/client/admin/components/AdminDashboard.js +318 -0
  45. package/dist/client/admin/components/CollectionList.d.ts +16 -0
  46. package/dist/client/admin/components/CollectionList.d.ts.map +1 -0
  47. package/dist/client/admin/components/CollectionList.js +67 -0
  48. package/dist/client/admin/components/DocumentForm.d.ts +11 -0
  49. package/dist/client/admin/components/DocumentForm.d.ts.map +1 -0
  50. package/dist/client/admin/components/DocumentForm.js +99 -0
  51. package/dist/client/admin/components/GlobalForm.d.ts +11 -0
  52. package/dist/client/admin/components/GlobalForm.d.ts.map +1 -0
  53. package/dist/client/admin/components/GlobalForm.js +74 -0
  54. package/dist/client/admin/i18n/en.d.ts +25 -0
  55. package/dist/client/admin/i18n/en.d.ts.map +1 -0
  56. package/dist/client/admin/i18n/en.js +25 -0
  57. package/dist/client/admin/index.d.ts +10 -0
  58. package/dist/client/admin/index.d.ts.map +1 -0
  59. package/dist/client/admin/index.js +10 -0
  60. package/dist/client/admin/layout.d.ts +10 -0
  61. package/dist/client/admin/layout.d.ts.map +1 -0
  62. package/dist/client/admin/layout.js +6 -0
  63. package/dist/client/admin/page.d.ts +38 -0
  64. package/dist/client/admin/page.d.ts.map +1 -0
  65. package/dist/client/admin/page.js +15 -0
  66. package/dist/client/admin/utils/apiClient.d.ts +110 -0
  67. package/dist/client/admin/utils/apiClient.d.ts.map +1 -0
  68. package/dist/client/admin/utils/apiClient.js +220 -0
  69. package/dist/client/admin/utils/auth.d.ts +27 -0
  70. package/dist/client/admin/utils/auth.d.ts.map +1 -0
  71. package/dist/client/admin/utils/auth.js +58 -0
  72. package/dist/client/admin/utils/index.d.ts +6 -0
  73. package/dist/client/admin/utils/index.d.ts.map +1 -0
  74. package/dist/client/admin/utils/index.js +5 -0
  75. package/dist/client/admin/utils/serializeConfig.d.ts +7 -0
  76. package/dist/client/admin/utils/serializeConfig.d.ts.map +1 -0
  77. package/dist/client/admin/utils/serializeConfig.js +35 -0
  78. package/dist/client/hooks.d.ts +18 -0
  79. package/dist/client/hooks.d.ts.map +1 -0
  80. package/dist/client/hooks.js +29 -0
  81. package/dist/client/http/client.d.ts +15 -0
  82. package/dist/client/http/client.d.ts.map +1 -0
  83. package/dist/client/http/client.js +49 -0
  84. package/dist/client/http/fetchBanner.d.ts +18 -0
  85. package/dist/client/http/fetchBanner.d.ts.map +1 -0
  86. package/dist/client/http/fetchBanner.js +44 -0
  87. package/dist/client/http/fetchCard.d.ts +18 -0
  88. package/dist/client/http/fetchCard.d.ts.map +1 -0
  89. package/dist/client/http/fetchCard.js +46 -0
  90. package/dist/client/http/fetchEvents.d.ts +18 -0
  91. package/dist/client/http/fetchEvents.d.ts.map +1 -0
  92. package/dist/client/http/fetchEvents.js +44 -0
  93. package/dist/client/http/fetchHero.d.ts +17 -0
  94. package/dist/client/http/fetchHero.d.ts.map +1 -0
  95. package/dist/client/http/fetchHero.js +55 -0
  96. package/dist/client/http/fetchMainInfos.d.ts +17 -0
  97. package/dist/client/http/fetchMainInfos.d.ts.map +1 -0
  98. package/dist/client/http/fetchMainInfos.js +44 -0
  99. package/dist/client/http/fetchVideos.d.ts +13 -0
  100. package/dist/client/http/fetchVideos.d.ts.map +1 -0
  101. package/dist/client/http/fetchVideos.js +36 -0
  102. package/dist/client/http/index.d.ts +19 -0
  103. package/dist/client/http/index.d.ts.map +1 -0
  104. package/dist/client/http/index.js +11 -0
  105. package/dist/client/index.d.ts +12 -0
  106. package/dist/client/index.d.ts.map +1 -0
  107. package/dist/client/index.js +15 -0
  108. package/dist/client/richtext/RichTextEditor.d.ts +48 -0
  109. package/dist/client/richtext/RichTextEditor.d.ts.map +1 -0
  110. package/dist/client/richtext/RichTextEditor.js +360 -0
  111. package/dist/client/richtext/components/ImageNodeComponent.d.ts +9 -0
  112. package/dist/client/richtext/components/ImageNodeComponent.d.ts.map +1 -0
  113. package/dist/client/richtext/components/ImageNodeComponent.js +99 -0
  114. package/dist/client/richtext/components/ImageUploadButton.d.ts +11 -0
  115. package/dist/client/richtext/components/ImageUploadButton.d.ts.map +1 -0
  116. package/dist/client/richtext/components/ImageUploadButton.js +103 -0
  117. package/dist/client/richtext/index.d.ts +92 -0
  118. package/dist/client/richtext/index.d.ts.map +1 -0
  119. package/dist/client/richtext/index.js +74 -0
  120. package/dist/client/richtext/nodes/DecoratorBlockNode.d.ts +20 -0
  121. package/dist/client/richtext/nodes/DecoratorBlockNode.d.ts.map +1 -0
  122. package/dist/client/richtext/nodes/DecoratorBlockNode.js +29 -0
  123. package/dist/client/richtext/nodes/ImageNode.d.ts +51 -0
  124. package/dist/client/richtext/nodes/ImageNode.d.ts.map +1 -0
  125. package/dist/client/richtext/nodes/ImageNode.js +95 -0
  126. package/dist/client/richtext/plugins/CollaborationPlugin.d.ts +13 -0
  127. package/dist/client/richtext/plugins/CollaborationPlugin.d.ts.map +1 -0
  128. package/dist/client/richtext/plugins/CollaborationPlugin.js +8 -0
  129. package/dist/client/richtext/plugins/CursorsOverlayPlugin.d.ts +4 -0
  130. package/dist/client/richtext/plugins/CursorsOverlayPlugin.d.ts.map +1 -0
  131. package/dist/client/richtext/plugins/CursorsOverlayPlugin.js +50 -0
  132. package/dist/client/richtext/plugins/FloatingToolbarPlugin.d.ts +7 -0
  133. package/dist/client/richtext/plugins/FloatingToolbarPlugin.d.ts.map +1 -0
  134. package/dist/client/richtext/plugins/FloatingToolbarPlugin.js +248 -0
  135. package/dist/client/richtext/plugins/ImagePlugin.d.ts +3 -0
  136. package/dist/client/richtext/plugins/ImagePlugin.d.ts.map +1 -0
  137. package/dist/client/richtext/plugins/ImagePlugin.js +73 -0
  138. package/dist/client/richtext/plugins/PastePlugin.d.ts +2 -0
  139. package/dist/client/richtext/plugins/PastePlugin.d.ts.map +1 -0
  140. package/dist/client/richtext/plugins/PastePlugin.js +36 -0
  141. package/dist/client/richtext/plugins/ToolbarPlugin.d.ts +8 -0
  142. package/dist/client/richtext/plugins/ToolbarPlugin.d.ts.map +1 -0
  143. package/dist/client/richtext/plugins/ToolbarPlugin.js +204 -0
  144. package/dist/client/ui/index.d.ts +111 -0
  145. package/dist/client/ui/index.d.ts.map +1 -0
  146. package/dist/client/ui/index.js +130 -0
  147. package/dist/collections/CollectionOperations.d.ts +27 -0
  148. package/dist/collections/CollectionOperations.d.ts.map +1 -0
  149. package/dist/collections/CollectionOperations.js +34 -0
  150. package/dist/collections/hooks.d.ts +11 -0
  151. package/dist/collections/hooks.d.ts.map +1 -0
  152. package/dist/collections/hooks.js +35 -0
  153. package/dist/collections/index.d.ts +2 -0
  154. package/dist/collections/index.d.ts.map +1 -0
  155. package/dist/collections/index.js +1 -0
  156. package/dist/collections/operations/create.d.ts +10 -0
  157. package/dist/collections/operations/create.d.ts.map +1 -0
  158. package/dist/collections/operations/create.js +101 -0
  159. package/dist/collections/operations/delete.d.ts +10 -0
  160. package/dist/collections/operations/delete.d.ts.map +1 -0
  161. package/dist/collections/operations/delete.js +16 -0
  162. package/dist/collections/operations/fieldHooks.d.ts +21 -0
  163. package/dist/collections/operations/fieldHooks.d.ts.map +1 -0
  164. package/dist/collections/operations/fieldHooks.js +51 -0
  165. package/dist/collections/operations/find.d.ts +10 -0
  166. package/dist/collections/operations/find.d.ts.map +1 -0
  167. package/dist/collections/operations/find.js +124 -0
  168. package/dist/collections/operations/findById.d.ts +15 -0
  169. package/dist/collections/operations/findById.d.ts.map +1 -0
  170. package/dist/collections/operations/findById.js +59 -0
  171. package/dist/collections/operations/update.d.ts +10 -0
  172. package/dist/collections/operations/update.d.ts.map +1 -0
  173. package/dist/collections/operations/update.js +134 -0
  174. package/dist/config/index.d.ts +9 -0
  175. package/dist/config/index.d.ts.map +1 -0
  176. package/dist/config/index.js +61 -0
  177. package/dist/config/runtime.d.ts +22 -0
  178. package/dist/config/runtime.d.ts.map +1 -0
  179. package/dist/config/runtime.js +32 -0
  180. package/dist/config/utils.d.ts +12 -0
  181. package/dist/config/utils.d.ts.map +1 -0
  182. package/dist/config/utils.js +20 -0
  183. package/dist/database/index.d.ts +1 -0
  184. package/dist/database/index.d.ts.map +1 -0
  185. package/dist/database/index.js +6 -0
  186. package/dist/database/ssl-config.d.ts +9 -0
  187. package/dist/database/ssl-config.d.ts.map +1 -0
  188. package/dist/database/ssl-config.js +7 -0
  189. package/dist/database/type-adapter.d.ts +113 -0
  190. package/dist/database/type-adapter.d.ts.map +1 -0
  191. package/dist/database/type-adapter.js +97 -0
  192. package/dist/database/universal-postgres.d.ts +45 -0
  193. package/dist/database/universal-postgres.d.ts.map +1 -0
  194. package/dist/database/universal-postgres.js +526 -0
  195. package/dist/dataloader.d.ts +26 -0
  196. package/dist/dataloader.d.ts.map +1 -0
  197. package/dist/dataloader.js +162 -0
  198. package/dist/error-handling/circuit-breaker.d.ts +262 -0
  199. package/dist/error-handling/circuit-breaker.d.ts.map +1 -0
  200. package/dist/error-handling/circuit-breaker.js +542 -0
  201. package/dist/error-handling/error-boundary.d.ts +94 -0
  202. package/dist/error-handling/error-boundary.d.ts.map +1 -0
  203. package/dist/error-handling/error-boundary.js +285 -0
  204. package/dist/error-handling/error-reporter.d.ts +213 -0
  205. package/dist/error-handling/error-reporter.d.ts.map +1 -0
  206. package/dist/error-handling/error-reporter.js +506 -0
  207. package/dist/error-handling/fallback-components.d.ts +131 -0
  208. package/dist/error-handling/fallback-components.d.ts.map +1 -0
  209. package/dist/error-handling/fallback-components.js +371 -0
  210. package/dist/error-handling/index.d.ts +16 -0
  211. package/dist/error-handling/index.d.ts.map +1 -0
  212. package/dist/error-handling/index.js +15 -0
  213. package/dist/error-handling/retry.d.ts +194 -0
  214. package/dist/error-handling/retry.d.ts.map +1 -0
  215. package/dist/error-handling/retry.js +450 -0
  216. package/dist/errors/index.d.ts +23 -0
  217. package/dist/errors/index.d.ts.map +1 -0
  218. package/dist/errors/index.js +40 -0
  219. package/dist/factories/builders.d.ts +50 -0
  220. package/dist/factories/builders.d.ts.map +1 -0
  221. package/dist/factories/builders.js +77 -0
  222. package/dist/factories/index.d.ts +2 -0
  223. package/dist/factories/index.d.ts.map +1 -0
  224. package/dist/factories/index.js +1 -0
  225. package/dist/features.d.ts +82 -0
  226. package/dist/features.d.ts.map +1 -0
  227. package/dist/features.js +89 -0
  228. package/dist/fieldTraversal.d.ts +26 -0
  229. package/dist/fieldTraversal.d.ts.map +1 -0
  230. package/dist/fieldTraversal.js +132 -0
  231. package/dist/fields/config/types.d.ts +48 -0
  232. package/dist/fields/config/types.d.ts.map +1 -0
  233. package/dist/fields/config/types.js +20 -0
  234. package/dist/fields/getDefaultValue.d.ts +16 -0
  235. package/dist/fields/getDefaultValue.d.ts.map +1 -0
  236. package/dist/fields/getDefaultValue.js +20 -0
  237. package/dist/fields/getFieldPaths.d.ts +25 -0
  238. package/dist/fields/getFieldPaths.d.ts.map +1 -0
  239. package/dist/fields/getFieldPaths.js +23 -0
  240. package/dist/fields/hooks/afterRead/index.d.ts +36 -0
  241. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -0
  242. package/dist/fields/hooks/afterRead/index.js +70 -0
  243. package/dist/fields/hooks/afterRead/promise.d.ts +46 -0
  244. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -0
  245. package/dist/fields/hooks/afterRead/promise.js +178 -0
  246. package/dist/fields/hooks/afterRead/traverseFields.d.ts +44 -0
  247. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -0
  248. package/dist/fields/hooks/afterRead/traverseFields.js +37 -0
  249. package/dist/generated/agents/index.d.ts +8 -0
  250. package/dist/generated/agents/index.d.ts.map +1 -0
  251. package/dist/generated/agents/index.js +7 -0
  252. package/dist/generated/components/index.d.ts +8 -0
  253. package/dist/generated/components/index.d.ts.map +1 -0
  254. package/dist/generated/components/index.js +7 -0
  255. package/dist/generated/functions/index.d.ts +8 -0
  256. package/dist/generated/functions/index.d.ts.map +1 -0
  257. package/dist/generated/functions/index.js +7 -0
  258. package/dist/generated/hooks/index.d.ts +8 -0
  259. package/dist/generated/hooks/index.d.ts.map +1 -0
  260. package/dist/generated/hooks/index.js +7 -0
  261. package/dist/generated/index.d.ts +10 -0
  262. package/dist/generated/index.d.ts.map +1 -0
  263. package/dist/generated/index.js +9 -0
  264. package/dist/generated/plans/index.d.ts +8 -0
  265. package/dist/generated/plans/index.d.ts.map +1 -0
  266. package/dist/generated/plans/index.js +7 -0
  267. package/dist/generated/prompts/index.d.ts +8 -0
  268. package/dist/generated/prompts/index.d.ts.map +1 -0
  269. package/dist/generated/prompts/index.js +7 -0
  270. package/dist/generated/tools/index.d.ts +8 -0
  271. package/dist/generated/tools/index.d.ts.map +1 -0
  272. package/dist/generated/tools/index.js +7 -0
  273. package/dist/generated/types/cms.d.ts +1766 -0
  274. package/dist/generated/types/cms.d.ts.map +1 -0
  275. package/dist/generated/types/cms.js +12 -0
  276. package/dist/generated/types/index.d.ts +19 -0
  277. package/dist/generated/types/index.d.ts.map +1 -0
  278. package/dist/generated/types/index.js +28 -0
  279. package/dist/generated/types/neon.d.ts +11 -0
  280. package/dist/generated/types/neon.d.ts.map +1 -0
  281. package/dist/generated/types/neon.js +11 -0
  282. package/dist/generated/types/supabase.d.ts +193 -0
  283. package/dist/generated/types/supabase.d.ts.map +1 -0
  284. package/dist/generated/types/supabase.js +5 -0
  285. package/dist/globals/GlobalOperations.d.ts +24 -0
  286. package/dist/globals/GlobalOperations.d.ts.map +1 -0
  287. package/dist/globals/GlobalOperations.js +149 -0
  288. package/dist/globals/index.d.ts +2 -0
  289. package/dist/globals/index.d.ts.map +1 -0
  290. package/dist/globals/index.js +1 -0
  291. package/dist/index.d.ts +64 -1
  292. package/dist/index.d.ts.map +1 -0
  293. package/dist/index.js +128 -33
  294. package/dist/instance/RevealUIInstance.d.ts +6 -0
  295. package/dist/instance/RevealUIInstance.d.ts.map +1 -0
  296. package/dist/instance/RevealUIInstance.js +312 -0
  297. package/dist/instance/index.d.ts +3 -0
  298. package/dist/instance/index.d.ts.map +1 -0
  299. package/dist/instance/index.js +2 -0
  300. package/dist/instance/logger.d.ts +31 -0
  301. package/dist/instance/logger.d.ts.map +1 -0
  302. package/dist/instance/logger.js +42 -0
  303. package/dist/instance/methods/create.d.ts +10 -0
  304. package/dist/instance/methods/create.d.ts.map +1 -0
  305. package/dist/instance/methods/create.js +38 -0
  306. package/dist/instance/methods/delete.d.ts +10 -0
  307. package/dist/instance/methods/delete.d.ts.map +1 -0
  308. package/dist/instance/methods/delete.js +24 -0
  309. package/dist/instance/methods/find.d.ts +10 -0
  310. package/dist/instance/methods/find.d.ts.map +1 -0
  311. package/dist/instance/methods/find.js +23 -0
  312. package/dist/instance/methods/findById.d.ts +13 -0
  313. package/dist/instance/methods/findById.d.ts.map +1 -0
  314. package/dist/instance/methods/findById.js +23 -0
  315. package/dist/instance/methods/hooks.d.ts +14 -0
  316. package/dist/instance/methods/hooks.d.ts.map +1 -0
  317. package/dist/instance/methods/hooks.js +32 -0
  318. package/dist/instance/methods/update.d.ts +10 -0
  319. package/dist/instance/methods/update.d.ts.map +1 -0
  320. package/dist/instance/methods/update.js +42 -0
  321. package/dist/license.d.ts +73 -0
  322. package/dist/license.d.ts.map +1 -0
  323. package/dist/license.js +157 -0
  324. package/dist/monitoring/alerts.d.ts +118 -0
  325. package/dist/monitoring/alerts.d.ts.map +1 -0
  326. package/dist/monitoring/alerts.js +324 -0
  327. package/dist/monitoring/cleanup-manager.d.ts +71 -0
  328. package/dist/monitoring/cleanup-manager.d.ts.map +1 -0
  329. package/dist/monitoring/cleanup-manager.js +226 -0
  330. package/dist/monitoring/health-monitor.d.ts +22 -0
  331. package/dist/monitoring/health-monitor.d.ts.map +1 -0
  332. package/dist/monitoring/health-monitor.js +142 -0
  333. package/dist/monitoring/index.d.ts +14 -0
  334. package/dist/monitoring/index.d.ts.map +1 -0
  335. package/dist/monitoring/index.js +17 -0
  336. package/dist/monitoring/process-registry.d.ts +97 -0
  337. package/dist/monitoring/process-registry.d.ts.map +1 -0
  338. package/dist/monitoring/process-registry.js +222 -0
  339. package/dist/monitoring/query-monitor.d.ts +153 -0
  340. package/dist/monitoring/query-monitor.d.ts.map +1 -0
  341. package/dist/monitoring/query-monitor.js +209 -0
  342. package/dist/monitoring/types.d.ts +231 -0
  343. package/dist/monitoring/types.d.ts.map +1 -0
  344. package/dist/monitoring/types.js +42 -0
  345. package/dist/monitoring/zombie-detector.d.ts +81 -0
  346. package/dist/monitoring/zombie-detector.d.ts.map +1 -0
  347. package/dist/monitoring/zombie-detector.js +231 -0
  348. package/dist/nextjs/index.d.ts +4 -0
  349. package/dist/nextjs/index.d.ts.map +1 -0
  350. package/dist/nextjs/index.js +3 -0
  351. package/dist/nextjs/utilities.d.ts +5 -0
  352. package/dist/nextjs/utilities.d.ts.map +1 -0
  353. package/dist/nextjs/utilities.js +16 -0
  354. package/dist/nextjs/withRevealUI.d.ts +20 -0
  355. package/dist/nextjs/withRevealUI.d.ts.map +1 -0
  356. package/dist/nextjs/withRevealUI.js +181 -0
  357. package/dist/observability/alerts.d.ts +138 -0
  358. package/dist/observability/alerts.d.ts.map +1 -0
  359. package/dist/observability/alerts.js +390 -0
  360. package/dist/observability/health-check.d.ts +95 -0
  361. package/dist/observability/health-check.d.ts.map +1 -0
  362. package/dist/observability/health-check.js +345 -0
  363. package/dist/observability/index.d.ts +12 -0
  364. package/dist/observability/index.d.ts.map +1 -0
  365. package/dist/observability/index.js +11 -0
  366. package/dist/observability/logger.d.ts +47 -0
  367. package/dist/observability/logger.d.ts.map +1 -0
  368. package/dist/observability/logger.js +140 -0
  369. package/dist/observability/metrics.d.ts +205 -0
  370. package/dist/observability/metrics.d.ts.map +1 -0
  371. package/dist/observability/metrics.js +429 -0
  372. package/dist/observability/tracing.d.ts +149 -0
  373. package/dist/observability/tracing.d.ts.map +1 -0
  374. package/dist/observability/tracing.js +381 -0
  375. package/dist/optimization/asset-optimizer.d.ts +202 -0
  376. package/dist/optimization/asset-optimizer.d.ts.map +1 -0
  377. package/dist/optimization/asset-optimizer.js +312 -0
  378. package/dist/optimization/build-optimizer.d.ts +202 -0
  379. package/dist/optimization/build-optimizer.d.ts.map +1 -0
  380. package/dist/optimization/build-optimizer.js +271 -0
  381. package/dist/optimization/bundle-analyzer.d.ts +98 -0
  382. package/dist/optimization/bundle-analyzer.d.ts.map +1 -0
  383. package/dist/optimization/bundle-analyzer.js +322 -0
  384. package/dist/optimization/code-splitting.d.ts +144 -0
  385. package/dist/optimization/code-splitting.d.ts.map +1 -0
  386. package/dist/optimization/code-splitting.js +290 -0
  387. package/dist/plugin/index.d.ts +12 -0
  388. package/dist/plugin/index.d.ts.map +1 -0
  389. package/dist/plugin/index.js +4 -0
  390. package/dist/plugins/form-builder.d.ts +115 -0
  391. package/dist/plugins/form-builder.d.ts.map +1 -0
  392. package/dist/plugins/form-builder.js +239 -0
  393. package/dist/plugins/index.d.ts +5 -0
  394. package/dist/plugins/index.d.ts.map +1 -0
  395. package/dist/plugins/index.js +4 -0
  396. package/dist/plugins/nested-docs.d.ts +8 -0
  397. package/dist/plugins/nested-docs.d.ts.map +1 -0
  398. package/dist/plugins/nested-docs.js +67 -0
  399. package/dist/plugins/redirects.d.ts +17 -0
  400. package/dist/plugins/redirects.d.ts.map +1 -0
  401. package/dist/plugins/redirects.js +62 -0
  402. package/dist/queries/index.d.ts +2 -0
  403. package/dist/queries/index.d.ts.map +1 -0
  404. package/dist/queries/index.js +1 -0
  405. package/dist/queries/queryBuilder.d.ts +47 -0
  406. package/dist/queries/queryBuilder.d.ts.map +1 -0
  407. package/dist/queries/queryBuilder.js +252 -0
  408. package/dist/relationships/analyzer.d.ts +39 -0
  409. package/dist/relationships/analyzer.d.ts.map +1 -0
  410. package/dist/relationships/analyzer.js +127 -0
  411. package/dist/relationships/index.d.ts +3 -0
  412. package/dist/relationships/index.d.ts.map +1 -0
  413. package/dist/relationships/index.js +2 -0
  414. package/dist/relationships/populate-helpers.d.ts +104 -0
  415. package/dist/relationships/populate-helpers.d.ts.map +1 -0
  416. package/dist/relationships/populate-helpers.js +187 -0
  417. package/dist/relationships/population.d.ts +42 -0
  418. package/dist/relationships/population.d.ts.map +1 -0
  419. package/dist/relationships/population.js +188 -0
  420. package/dist/revealui.d.ts +46 -0
  421. package/dist/revealui.d.ts.map +1 -0
  422. package/dist/revealui.js +92 -0
  423. package/dist/richtext/exports/client/rcc.d.ts +37 -0
  424. package/dist/richtext/exports/client/rcc.d.ts.map +1 -0
  425. package/dist/richtext/exports/client/rcc.js +182 -0
  426. package/dist/richtext/exports/server/rsc.d.ts +117 -0
  427. package/dist/richtext/exports/server/rsc.d.ts.map +1 -0
  428. package/dist/richtext/exports/server/rsc.js +288 -0
  429. package/dist/richtext/index.d.ts +161 -0
  430. package/dist/richtext/index.d.ts.map +1 -0
  431. package/dist/richtext/index.js +243 -0
  432. package/dist/richtext/lexical.d.ts +23 -0
  433. package/dist/richtext/lexical.d.ts.map +1 -0
  434. package/dist/richtext/lexical.js +35 -0
  435. package/dist/security/audit.d.ts +188 -0
  436. package/dist/security/audit.d.ts.map +1 -0
  437. package/dist/security/audit.js +431 -0
  438. package/dist/security/auth.d.ts +241 -0
  439. package/dist/security/auth.d.ts.map +1 -0
  440. package/dist/security/auth.js +474 -0
  441. package/dist/security/authorization.d.ts +235 -0
  442. package/dist/security/authorization.d.ts.map +1 -0
  443. package/dist/security/authorization.js +434 -0
  444. package/dist/security/encryption.d.ts +214 -0
  445. package/dist/security/encryption.d.ts.map +1 -0
  446. package/dist/security/encryption.js +506 -0
  447. package/dist/security/gdpr.d.ts +300 -0
  448. package/dist/security/gdpr.d.ts.map +1 -0
  449. package/dist/security/gdpr.js +470 -0
  450. package/dist/security/headers.d.ts +182 -0
  451. package/dist/security/headers.d.ts.map +1 -0
  452. package/dist/security/headers.js +402 -0
  453. package/dist/security/index.d.ts +19 -0
  454. package/dist/security/index.d.ts.map +1 -0
  455. package/dist/security/index.js +18 -0
  456. package/dist/server/index.d.ts +21 -0
  457. package/dist/server/index.d.ts.map +1 -0
  458. package/dist/server/index.js +28 -0
  459. package/dist/server/renderPage.d.ts +69 -0
  460. package/dist/server/renderPage.d.ts.map +1 -0
  461. package/dist/server/renderPage.js +109 -0
  462. package/dist/storage/index.d.ts +1 -0
  463. package/dist/storage/index.d.ts.map +1 -0
  464. package/dist/storage/index.js +4 -0
  465. package/dist/storage/vercel-blob.d.ts +17 -0
  466. package/dist/storage/vercel-blob.d.ts.map +1 -0
  467. package/dist/storage/vercel-blob.js +83 -0
  468. package/dist/translations/index.d.ts +17 -0
  469. package/dist/translations/index.d.ts.map +1 -0
  470. package/dist/translations/index.js +1 -0
  471. package/dist/types/access.d.ts +67 -0
  472. package/dist/types/access.d.ts.map +1 -0
  473. package/dist/types/access.js +8 -0
  474. package/dist/types/api.d.ts +57 -0
  475. package/dist/types/api.d.ts.map +1 -0
  476. package/dist/types/api.js +8 -0
  477. package/dist/types/cms.d.ts +8 -0
  478. package/dist/types/cms.d.ts.map +1 -0
  479. package/dist/types/cms.js +6 -0
  480. package/dist/types/config.d.ts +152 -0
  481. package/dist/types/config.d.ts.map +1 -0
  482. package/dist/types/config.js +9 -0
  483. package/dist/types/core.d.ts +11 -0
  484. package/dist/types/core.d.ts.map +1 -0
  485. package/dist/types/core.js +9 -0
  486. package/dist/types/extensions.d.ts +116 -0
  487. package/dist/types/extensions.d.ts.map +1 -0
  488. package/dist/types/extensions.js +8 -0
  489. package/dist/types/frontend.d.ts +53 -0
  490. package/dist/types/frontend.d.ts.map +1 -0
  491. package/dist/types/frontend.js +7 -0
  492. package/dist/types/generated.d.ts +14 -0
  493. package/dist/types/generated.d.ts.map +1 -0
  494. package/dist/types/generated.js +11 -0
  495. package/dist/types/hooks.d.ts +53 -0
  496. package/dist/types/hooks.d.ts.map +1 -0
  497. package/dist/types/hooks.js +8 -0
  498. package/dist/types/index.d.ts +49 -0
  499. package/dist/types/index.d.ts.map +1 -0
  500. package/dist/types/index.js +61 -0
  501. package/dist/types/interfaces/app.d.ts +50 -0
  502. package/dist/types/interfaces/app.d.ts.map +1 -0
  503. package/dist/types/interfaces/app.js +5 -0
  504. package/dist/types/jobs.d.ts +112 -0
  505. package/dist/types/jobs.d.ts.map +1 -0
  506. package/dist/types/jobs.js +7 -0
  507. package/dist/types/legacy.d.ts +147 -0
  508. package/dist/types/legacy.d.ts.map +1 -0
  509. package/dist/types/legacy.js +8 -0
  510. package/dist/types/plugins.d.ts +17 -0
  511. package/dist/types/plugins.d.ts.map +1 -0
  512. package/dist/types/plugins.js +8 -0
  513. package/dist/types/query.d.ts +99 -0
  514. package/dist/types/query.d.ts.map +1 -0
  515. package/dist/types/query.js +24 -0
  516. package/dist/types/request.d.ts +40 -0
  517. package/dist/types/request.d.ts.map +1 -0
  518. package/dist/types/request.js +8 -0
  519. package/dist/types/richtext.d.ts +23 -0
  520. package/dist/types/richtext.d.ts.map +1 -0
  521. package/dist/types/richtext.js +8 -0
  522. package/dist/types/runtime.d.ts +216 -0
  523. package/dist/types/runtime.d.ts.map +1 -0
  524. package/dist/types/runtime.js +9 -0
  525. package/dist/types/schema.d.ts +9 -0
  526. package/dist/types/schema.d.ts.map +1 -0
  527. package/dist/types/schema.js +7 -0
  528. package/dist/types/user.d.ts +48 -0
  529. package/dist/types/user.d.ts.map +1 -0
  530. package/dist/types/user.js +8 -0
  531. package/dist/utils/access-conversion.d.ts +17 -0
  532. package/dist/utils/access-conversion.d.ts.map +1 -0
  533. package/dist/utils/access-conversion.js +96 -0
  534. package/dist/utils/api-wrapper.d.ts +63 -0
  535. package/dist/utils/api-wrapper.d.ts.map +1 -0
  536. package/dist/utils/api-wrapper.js +151 -0
  537. package/dist/utils/block-conversion.d.ts +21 -0
  538. package/dist/utils/block-conversion.d.ts.map +1 -0
  539. package/dist/utils/block-conversion.js +109 -0
  540. package/dist/utils/cache.d.ts +86 -0
  541. package/dist/utils/cache.d.ts.map +1 -0
  542. package/dist/utils/cache.js +154 -0
  543. package/dist/utils/deep-clone.d.ts +25 -0
  544. package/dist/utils/deep-clone.d.ts.map +1 -0
  545. package/dist/utils/deep-clone.js +115 -0
  546. package/dist/utils/error-responses.d.ts +57 -0
  547. package/dist/utils/error-responses.d.ts.map +1 -0
  548. package/dist/utils/error-responses.js +96 -0
  549. package/dist/utils/errors.d.ts +97 -0
  550. package/dist/utils/errors.d.ts.map +1 -0
  551. package/dist/utils/errors.js +397 -0
  552. package/dist/utils/field-conversion.d.ts +40 -0
  553. package/dist/utils/field-conversion.d.ts.map +1 -0
  554. package/dist/utils/field-conversion.js +275 -0
  555. package/dist/utils/flattenResult.d.ts +7 -0
  556. package/dist/utils/flattenResult.d.ts.map +1 -0
  557. package/dist/utils/flattenResult.js +23 -0
  558. package/dist/utils/getBlockSelect.d.ts +12 -0
  559. package/dist/utils/getBlockSelect.d.ts.map +1 -0
  560. package/dist/utils/getBlockSelect.js +12 -0
  561. package/dist/utils/getSelectMode.d.ts +8 -0
  562. package/dist/utils/getSelectMode.d.ts.map +1 -0
  563. package/dist/utils/getSelectMode.js +21 -0
  564. package/dist/utils/isValidID.d.ts +5 -0
  565. package/dist/utils/isValidID.d.ts.map +1 -0
  566. package/dist/utils/isValidID.js +13 -0
  567. package/dist/utils/json-parsing.d.ts +48 -0
  568. package/dist/utils/json-parsing.d.ts.map +1 -0
  569. package/dist/utils/json-parsing.js +130 -0
  570. package/dist/utils/jwt-validation.d.ts +14 -0
  571. package/dist/utils/jwt-validation.d.ts.map +1 -0
  572. package/dist/utils/jwt-validation.js +36 -0
  573. package/dist/utils/logger-client.d.ts +32 -0
  574. package/dist/utils/logger-client.d.ts.map +1 -0
  575. package/dist/utils/logger-client.js +55 -0
  576. package/dist/utils/logger-server.d.ts +32 -0
  577. package/dist/utils/logger-server.d.ts.map +1 -0
  578. package/dist/utils/logger-server.js +68 -0
  579. package/dist/utils/logger.d.ts +14 -0
  580. package/dist/utils/logger.d.ts.map +1 -0
  581. package/dist/utils/logger.js +12 -0
  582. package/dist/utils/request-context.d.ts +143 -0
  583. package/dist/utils/request-context.d.ts.map +1 -0
  584. package/dist/utils/request-context.js +168 -0
  585. package/dist/utils/request-headers.d.ts +15 -0
  586. package/dist/utils/request-headers.d.ts.map +1 -0
  587. package/dist/utils/request-headers.js +31 -0
  588. package/dist/utils/stripUnselectedFields.d.ts +10 -0
  589. package/dist/utils/stripUnselectedFields.d.ts.map +1 -0
  590. package/dist/utils/stripUnselectedFields.js +20 -0
  591. package/dist/utils/type-guards.d.ts +33 -0
  592. package/dist/utils/type-guards.d.ts.map +1 -0
  593. package/dist/utils/type-guards.js +63 -0
  594. package/dist/utils/user.d.ts +14 -0
  595. package/dist/utils/user.d.ts.map +1 -0
  596. package/dist/utils/user.js +15 -0
  597. package/package.json +250 -724
  598. package/LICENSE_SUMMARY.md +0 -55
  599. package/NOTICE +0 -34
  600. package/dist/exports/RenderErrorPage.js +0 -3
  601. package/dist/exports/__internal.js +0 -3
  602. package/dist/exports/abort.js +0 -3
  603. package/dist/exports/bin-entry.js +0 -5
  604. package/dist/exports/client.js +0 -3
  605. package/dist/exports/config.js +0 -1
  606. package/dist/exports/helpers.js +0 -1
  607. package/dist/exports/index.js +0 -33
  608. package/dist/exports/plugin.js +0 -3
  609. package/dist/exports/prerender.js +0 -3
  610. package/dist/exports/router.js +0 -3
  611. package/dist/exports/routing.js +0 -3
  612. package/dist/exports/server.js +0 -3
  613. package/dist/exports/setup.js +0 -3
  614. package/dist/exports/types.js +0 -1
  615. package/dist/integration/styles.css +0 -141
  616. package/dist/shared/RenderErrorPage.d.ts +0 -3
  617. package/dist/shared/RenderErrorPage.js +0 -3
  618. package/dist/shared/abort.js +0 -3
  619. package/dist/shared/route/routing.js +0 -3
package/dist/index.d.ts CHANGED
@@ -1 +1,64 @@
1
- export * from "./exports/index.js";
1
+ export { createRESTHandlers, handleRESTRequest } from './api/rest.js';
2
+ export { anyone, authenticated } from './auth/access.js';
3
+ export type { FloatingToolbarPluginProps, ImageNodeData, RichTextEditorProps, SerializedImageNode, ToolbarPluginProps, } from './client/index.js';
4
+ export { $createImageNode, $isImageNode, AdminDashboard, APIError, APIErrorType, apiClient, CollectionList, clearAuthToken, DocumentForm, FloatingToolbarPlugin, fetchBanner, fetchCard, fetchEvents, fetchFromCMS, fetchHero, fetchMainInfos, fetchVideos, generatePageMetadata, getAuthHeader, getAuthToken, ImageNode, ImageNodeComponent, ImagePlugin, ImageUploadButton, INSERT_IMAGE_COMMAND, NotFoundPage, OPEN_IMAGE_UPLOAD_COMMAND, RootLayout, RootPage, richTextEditorStyles, serializeConfig, setAuthToken, ToolbarPlugin, useRevealUI, withRevealUIAccess, } from './client/index.js';
5
+ export { buildConfig } from './config/index.js';
6
+ export { getRevealUI } from './config/runtime.js';
7
+ export { deepMerge } from './config/utils.js';
8
+ export type { UniversalPostgresAdapterConfig } from './database/universal-postgres.js';
9
+ export { universalPostgresAdapter } from './database/universal-postgres.js';
10
+ export { createRevealUI, createRevealUIAccessRule, createRevealUIBlock, createRevealUICollection, createRevealUIField, } from './factories/index.js';
11
+ export { type FeatureFlags, getFeatures, getFeaturesForTier, getRequiredTier, isFeatureEnabled, } from './features.js';
12
+ export { generateLicenseKey, getCurrentTier, getLicensePayload, getMaxSites, getMaxUsers, initializeLicense, isLicensed, type LicensePayload, type LicenseTier, resetLicenseState, validateLicenseKey, } from './license.js';
13
+ export { getRevealUI as getRevealUINext, withRevealUI, } from './nextjs/index.js';
14
+ export { formBuilderPlugin } from './plugins/form-builder.js';
15
+ export { nestedDocsPlugin } from './plugins/nested-docs.js';
16
+ export { redirectsPlugin } from './plugins/redirects.js';
17
+ export { afterChangeTraverseFields, afterReadTraverseFields, beforeChangeTraverseFields, beforeValidateTraverseFields, buildWhereClause, checkDependencies, createRevealUIInstance, defaultLogger, extractWhereValues, flattenResult, getRelationshipFields, Logger, RevealUICollection, RevealUIGlobal, type RevealUILogger, type RichTextAdapter, relationshipPopulationPromise, validateRelationshipMetadata, withNullableJSONSchemaType, } from './revealui.js';
18
+ export { BoldFeature, FixedToolbarFeature, HeadingFeature, ItalicFeature, LinkFeature, lexicalEditor, TreeViewFeature, UnderlineFeature, } from './richtext/index.js';
19
+ export { vercelBlobStorage } from './storage/vercel-blob.js';
20
+ export { LRUCache, type LRUCacheOptions } from './utils/cache.js';
21
+ export { deepClone } from './utils/deep-clone.js';
22
+ export { createApplicationErrorResponseData, createErrorResponseData, createSuccessResponseData, createValidationErrorResponseData, type ErrorResponseData, } from './utils/error-responses.js';
23
+ export { ApplicationError, handleApiError, handleDatabaseError, ValidationError, } from './utils/errors.js';
24
+ export { createLogger, type LogContext, type LogLevel, logger, } from './utils/logger.js';
25
+ export { flattenFields, isJsonFieldType, isObject } from './utils/type-guards.js';
26
+ export { type AccessArgs, type AccessFunction, type AccessResult, type AfterChangeHookArgs, type AfterReadHookArgs, applyPluginExtensions, assertValidSlug, type BeforeChangeHookArgs, type CollectionAccessConfig, type CollectionAfterChangeHook, type CollectionAfterReadHook, type CollectionBeforeChangeHook, type CollectionBeforeValidateHook, type CollectionConfig, type CollectionHooksConfig, type Config, ConfigValidationError, defineCollection, defineField, defineGlobal, type Field, type FieldAccessConfig, type FieldValidateArgs, fromCMSCollectionConfig, fromCMSGlobalConfig, type GlobalAccessConfig, type GlobalConfig, type GlobalHooksConfig, getCustomFieldType, getRevealUIExtensions, hasRevealUIExtensions, isValidFieldType, isValidSlug, mergeCollectionConfigs, mergeFields, registerCustomFieldType, registerPluginExtension, type SanitizedCollectionConfig, type SanitizedConfig, type SanitizedGlobalConfig, safeValidate, toCMSCollectionConfig, toCMSGlobalConfig, toSlug, validateWithErrors, type Where, } from '@revealui/contracts/cms';
27
+ export type { Block, BlocksField, CheckboxField, DatabaseAdapter, DatabaseResult, FindArgs, JsonObject, OperationOptions, PaginatedDocs, Permission, Plugin, PluginOptions, PopulateType, RequestContext, RevealAfterChangeHook, RevealAfterReadHook, RevealBeforeChangeHook, RevealCollection, RevealCollectionConfig, RevealCollectionHooks, RevealConfig, RevealCreateOptions, RevealDataObject, RevealDeleteOptions, RevealDocument, RevealDocumentWithMeta, RevealFindOptions, RevealGlobal, RevealGlobalConfig, RevealHookContext, RevealOperator, RevealPaginatedResult, RevealRequest, RevealSelect, RevealSort, RevealUI, RevealUIAccessContext, RevealUIAccessResult, RevealUIAccessRule, RevealUICollectionConfig, RevealUIContext, RevealUIEnhancedField, RevealUIField, RevealUIFieldHook, RevealUIFieldType, RevealUIFieldValidator, RevealUIFilterResult, RevealUIFrameworkContext, RevealUIHookContext, RevealUIInstance, RevealUIPermission, RevealUITenant, RevealUIUser, RevealUIValidationRule, RevealUpdateOptions, RevealUser, RevealValue, RevealWhere, RichTextEditor, RichTextFeature, SelectType, StorageAdapter, TypeWithID, WhereClause, } from './types/index.js';
28
+ export { serializeLexicalState } from './richtext/index.js';
29
+ export type { Access, ArrayField, AuthConfig, ClientCollectionConfig, ClientConfig, CollectionAccess, CollectionAdminConfig, CollectionLabels, CustomComponent, CustomFieldTypeConfig, Document, EndpointHandler, EndpointHandlerArgs, FieldAccess, FieldAccessArgs, FieldAccessConfig as SchemaFieldAccessConfig, FieldAdminConfig, FieldHooksConfig, FieldOption, FieldType, GlobalAccess, GlobalAdminConfig, GlobalLabels, GlobalVersionsConfig, GroupField, PluginFieldExtension, RevealHandler, RevealUIAccessArgs, RevealUIBlock, RevealUIComponent, RevealUIDependencyCheckArgs, RevealUIExtensions, RevealUIRichTextAdapter, RevealUISchemaArgs, RevealUITraverseFieldsArgs, RevealUITraverseFieldsResult, SelectMode, TabDefinition, TextField, TypedFallbackLocale, UploadConfig, ValidationResult, VersionConfig, } from './types/index.js';
30
+ /**
31
+ * ## Import Guide
32
+ *
33
+ * ### Base Types (from schema - single source of truth)
34
+ * For standard RevealUI CMS types that work everywhere:
35
+ * ```typescript
36
+ * import { CollectionConfig, GlobalConfig, Field } from '@revealui/core'
37
+ * // OR directly from schema:
38
+ * import { CollectionConfig, GlobalConfig, Field } from '@revealui/contracts/cms'
39
+ * ```
40
+ *
41
+ * ### Extended Types (RevealUI-specific)
42
+ * For RevealUI framework features (tenants, permissions, etc.):
43
+ * ```typescript
44
+ * import { RevealCollectionConfig, RevealGlobalConfig } from '@revealui/core'
45
+ * ```
46
+ *
47
+ * ### Helper Functions
48
+ * For typed config creation:
49
+ * ```typescript
50
+ * import { defineCollection, defineGlobal, defineField } from '@revealui/core'
51
+ *
52
+ * const Posts = defineCollection<Post>({
53
+ * slug: 'posts',
54
+ * fields: [...]
55
+ * })
56
+ * ```
57
+ *
58
+ * ### Validation
59
+ * For runtime config validation:
60
+ * ```typescript
61
+ * import { validateWithErrors, ConfigValidationError } from '@revealui/core'
62
+ * ```
63
+ */
64
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,33 +1,128 @@
1
- import { default as __internal } from "./__internal.js"
2
- import { default as abort } from "./abort.js"
3
- import { default as bin } from "./bin-entry.js"
4
- import { default as cli } from "./cli.js"
5
- import { default as client } from "./client.js"
6
- import { default as config } from "./config.js"
7
- import { default as helpers } from "./helpers.js"
8
- import { default as plugin } from "./plugin.js"
9
- import { default as prerender } from "./prerender.js"
10
- import { default as RenderErrorPage } from "./RenderErrorPage.js"
11
- import { default as router } from "./router.js"
12
- import { default as routing } from "./routing.js"
13
- import { default as server } from "./server.js"
14
- import { default as setup } from "./setup.js"
15
- import { default as types } from "./types.js"
16
-
17
- export {
18
- __internal,
19
- abort,
20
- bin,
21
- cli,
22
- client,
23
- config,
24
- helpers,
25
- plugin,
26
- prerender,
27
- RenderErrorPage,
28
- router,
29
- routing,
30
- server,
31
- setup,
32
- types,
33
- }
1
+ // Main RevealUI exports - re-export core (server) and client functionality
2
+ // Export core (server-side) functionality - now directly in root after flattening
3
+ // REST API
4
+ export { createRESTHandlers, handleRESTRequest } from './api/rest.js';
5
+ // Auth utilities
6
+ export { anyone, authenticated } from './auth/access.js';
7
+ // Export client (client-side) - but exclude RichTextEditor to avoid conflict with type
8
+ // Consumers should import RichTextEditor component from '@revealui/core/richtext/client' directly
9
+ export { $createImageNode, $isImageNode,
10
+ // Admin
11
+ AdminDashboard, APIError, APIErrorType,
12
+ // Re-export admin utils
13
+ apiClient, CollectionList, clearAuthToken, DocumentForm, FloatingToolbarPlugin, fetchBanner, fetchCard, fetchEvents,
14
+ // HTTP
15
+ fetchFromCMS, fetchHero, fetchMainInfos, fetchVideos, generatePageMetadata, getAuthHeader, getAuthToken, ImageNode, ImageNodeComponent, ImagePlugin, ImageUploadButton, INSERT_IMAGE_COMMAND, NotFoundPage, OPEN_IMAGE_UPLOAD_COMMAND, RootLayout, RootPage,
16
+ // Rich text (exclude RichTextEditor component - use richtext/client)
17
+ richTextEditorStyles, serializeConfig, setAuthToken,
18
+ // UI
19
+ ToolbarPlugin,
20
+ // Hooks
21
+ useRevealUI, withRevealUIAccess, } from './client/index.js';
22
+ // Configuration
23
+ export { buildConfig } from './config/index.js';
24
+ export { getRevealUI } from './config/runtime.js';
25
+ export { deepMerge } from './config/utils.js';
26
+ export { universalPostgresAdapter } from './database/universal-postgres.js';
27
+ // Factory functions
28
+ export { createRevealUI, createRevealUIAccessRule, createRevealUIBlock, createRevealUICollection, createRevealUIField, } from './factories/index.js';
29
+ export { getFeatures, getFeaturesForTier, getRequiredTier, isFeatureEnabled, } from './features.js';
30
+ // License and feature flags
31
+ export { generateLicenseKey, getCurrentTier, getLicensePayload, getMaxSites, getMaxUsers, initializeLicense, isLicensed, resetLicenseState, validateLicenseKey, } from './license.js';
32
+ // Next.js integration
33
+ export { getRevealUI as getRevealUINext, withRevealUI, } from './nextjs/index.js';
34
+ // Plugins
35
+ export { formBuilderPlugin } from './plugins/form-builder.js';
36
+ export { nestedDocsPlugin } from './plugins/nested-docs.js';
37
+ export { redirectsPlugin } from './plugins/redirects.js';
38
+ // Core RevealUI CMS implementation
39
+ export {
40
+ // Field traversal utilities
41
+ afterChangeTraverseFields, afterReadTraverseFields, beforeChangeTraverseFields, beforeValidateTraverseFields,
42
+ // Query utilities
43
+ buildWhereClause,
44
+ // Utilities
45
+ checkDependencies,
46
+ // Main factory function
47
+ createRevealUIInstance, defaultLogger, extractWhereValues, flattenResult,
48
+ // Relationship utilities
49
+ getRelationshipFields,
50
+ // Logger
51
+ Logger,
52
+ // Collection and Global operations
53
+ RevealUICollection, RevealUIGlobal, relationshipPopulationPromise, validateRelationshipMetadata, withNullableJSONSchemaType, } from './revealui.js';
54
+ // Rich text editor
55
+ export { BoldFeature, FixedToolbarFeature, HeadingFeature, ItalicFeature, LinkFeature, lexicalEditor, TreeViewFeature, UnderlineFeature, } from './richtext/index.js';
56
+ // Storage adapters
57
+ export { vercelBlobStorage } from './storage/vercel-blob.js';
58
+ // Note: Logger class is exported from ./revealui.ts (instance/logger.js), not from utils/logger.js
59
+ export { LRUCache } from './utils/cache.js';
60
+ // Deep clone utility
61
+ export { deepClone } from './utils/deep-clone.js';
62
+ // Error response utilities (framework-agnostic)
63
+ export { createApplicationErrorResponseData, createErrorResponseData, createSuccessResponseData, createValidationErrorResponseData, } from './utils/error-responses.js';
64
+ export { ApplicationError, handleApiError, handleDatabaseError, ValidationError, } from './utils/errors.js';
65
+ // Utilities
66
+ export { createLogger, logger, } from './utils/logger.js';
67
+ // Type guards
68
+ export { flattenFields, isJsonFieldType, isObject } from './utils/type-guards.js';
69
+ // =============================================================================
70
+ // BASE TYPES FROM SCHEMA (Single Source of Truth)
71
+ // =============================================================================
72
+ // These are the authoritative types from @revealui/contracts/cms.
73
+ // They are re-exported here for convenience.
74
+ export { applyPluginExtensions, assertValidSlug,
75
+ // Validation utilities
76
+ ConfigValidationError,
77
+ // Config helpers
78
+ defineCollection, defineField, defineGlobal,
79
+ // Validation types
80
+ // type FieldValidateFunction,
81
+ fromCMSCollectionConfig, fromCMSGlobalConfig, getCustomFieldType, getRevealUIExtensions,
82
+ // RevealUI extensions
83
+ hasRevealUIExtensions, isValidFieldType, isValidSlug, mergeCollectionConfigs, mergeFields,
84
+ // Extensibility
85
+ registerCustomFieldType, registerPluginExtension, safeValidate,
86
+ // CMS compatibility
87
+ toCMSCollectionConfig, toCMSGlobalConfig, toSlug, validateWithErrors, } from '@revealui/contracts/cms';
88
+ // =============================================================================
89
+ // ADDITIONAL TYPE EXPORTS
90
+ // =============================================================================
91
+ export { serializeLexicalState } from './richtext/index.js';
92
+ // =============================================================================
93
+ // TYPE DOCUMENTATION
94
+ // =============================================================================
95
+ /**
96
+ * ## Import Guide
97
+ *
98
+ * ### Base Types (from schema - single source of truth)
99
+ * For standard RevealUI CMS types that work everywhere:
100
+ * ```typescript
101
+ * import { CollectionConfig, GlobalConfig, Field } from '@revealui/core'
102
+ * // OR directly from schema:
103
+ * import { CollectionConfig, GlobalConfig, Field } from '@revealui/contracts/cms'
104
+ * ```
105
+ *
106
+ * ### Extended Types (RevealUI-specific)
107
+ * For RevealUI framework features (tenants, permissions, etc.):
108
+ * ```typescript
109
+ * import { RevealCollectionConfig, RevealGlobalConfig } from '@revealui/core'
110
+ * ```
111
+ *
112
+ * ### Helper Functions
113
+ * For typed config creation:
114
+ * ```typescript
115
+ * import { defineCollection, defineGlobal, defineField } from '@revealui/core'
116
+ *
117
+ * const Posts = defineCollection<Post>({
118
+ * slug: 'posts',
119
+ * fields: [...]
120
+ * })
121
+ * ```
122
+ *
123
+ * ### Validation
124
+ * For runtime config validation:
125
+ * ```typescript
126
+ * import { validateWithErrors, ConfigValidationError } from '@revealui/core'
127
+ * ```
128
+ */
@@ -0,0 +1,6 @@
1
+ import type { RevealConfig, RevealUIInstance } from '../types/index.js';
2
+ /**
3
+ * Creates a new RevealUI instance with collections, globals, and database connections
4
+ */
5
+ export declare function createRevealUIInstance(config: RevealConfig): Promise<RevealUIInstance>;
6
+ //# sourceMappingURL=RevealUIInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevealUIInstance.d.ts","sourceRoot":"","sources":["../../src/instance/RevealUIInstance.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,YAAY,EAQZ,gBAAgB,EAGjB,MAAM,mBAAmB,CAAA;AAS1B;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqZ5F"}
@@ -0,0 +1,312 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import bcrypt from 'bcryptjs';
3
+ import { SignJWT } from 'jose';
4
+ import { RevealUICollection } from '../collections/CollectionOperations.js';
5
+ import { getDataLoader } from '../dataloader.js';
6
+ import { afterRead } from '../fields/hooks/afterRead/index.js';
7
+ import { RevealUIGlobal } from '../globals/GlobalOperations.js';
8
+ import { isJsonFieldType } from '../utils/type-guards.js';
9
+ import { createLogger } from './logger.js';
10
+ import { create } from './methods/create.js';
11
+ import { deleteMethod } from './methods/delete.js';
12
+ import { find } from './methods/find.js';
13
+ import { findByID } from './methods/findById.js';
14
+ import { update } from './methods/update.js';
15
+ /**
16
+ * Creates a new RevealUI instance with collections, globals, and database connections
17
+ */
18
+ export async function createRevealUIInstance(config) {
19
+ const logger = createLogger();
20
+ // Database connection is now lazy - only connect on first query
21
+ let dbConnected = false;
22
+ const ensureDbConnected = async () => {
23
+ if (dbConnected) {
24
+ return;
25
+ }
26
+ if (!dbConnected && config.db) {
27
+ await config.db.init?.();
28
+ // Queue table creation BEFORE connect()
29
+ // createTable() pushes promises to a queue that connect() will await
30
+ if (config.collections && config.db?.createTable) {
31
+ for (const collection of config.collections) {
32
+ // Extract fields from collection config
33
+ const fields = collection.fields || [];
34
+ // Convert RevealUIField to Field format for createTable
35
+ // Only include top-level fields that should be stored as columns
36
+ // Complex types (array, group, blocks) are stored as JSON
37
+ const tableFields = fields
38
+ .filter((field) => {
39
+ // Filter out fields that should be stored as JSON
40
+ return field.name && !isJsonFieldType(field);
41
+ })
42
+ .map((field) => ({
43
+ name: field.name || '',
44
+ type: field.type || 'text',
45
+ required: field.required,
46
+ unique: field.unique,
47
+ }));
48
+ config.db.createTable(collection.slug, tableFields);
49
+ }
50
+ }
51
+ // Queue global table creation BEFORE connect()
52
+ if (config.globals && config.db?.createGlobalTable) {
53
+ for (const global of config.globals) {
54
+ // Extract fields from global config
55
+ const fields = global.fields || [];
56
+ // Convert RevealUIField to Field format for createGlobalTable
57
+ // Only include top-level fields that should be stored as columns
58
+ const tableFields = fields
59
+ .filter((field) => {
60
+ // Filter out fields that should be stored as JSON
61
+ const jsonTypes = ['array', 'group', 'blocks', 'richText'];
62
+ return field.name && !jsonTypes.includes(field.type || '');
63
+ })
64
+ .map((field) => ({
65
+ name: field.name || '',
66
+ type: field.type || 'text',
67
+ required: field.required,
68
+ unique: field.unique,
69
+ }));
70
+ config.db.createGlobalTable(global.slug, tableFields);
71
+ }
72
+ }
73
+ // Now connect() will wait for all queued table creation promises
74
+ await config.db.connect?.();
75
+ dbConnected = true;
76
+ }
77
+ };
78
+ // Initialize collections and globals
79
+ const collections = {};
80
+ const globals = {};
81
+ // Initialize collections
82
+ if (config.collections) {
83
+ for (const collectionConfig of config.collections) {
84
+ collections[collectionConfig.slug] = new RevealUICollection(collectionConfig, config.db || null);
85
+ }
86
+ }
87
+ // Initialize globals
88
+ if (config.globals) {
89
+ for (const globalConfig of config.globals) {
90
+ globals[globalConfig.slug] = new RevealUIGlobal(globalConfig, config.db || null);
91
+ }
92
+ }
93
+ // Create a base request for DataLoader initialization
94
+ const baseReq = {
95
+ transactionID: null,
96
+ context: {},
97
+ };
98
+ const revealUIInstance = {
99
+ collections,
100
+ globals,
101
+ config,
102
+ db: config.db || null,
103
+ logger,
104
+ secret: config.secret || undefined,
105
+ async find(options) {
106
+ return find(revealUIInstance, ensureDbConnected, options);
107
+ },
108
+ async findByID(options) {
109
+ return findByID(revealUIInstance, ensureDbConnected, options);
110
+ },
111
+ async create(options) {
112
+ return create(revealUIInstance, ensureDbConnected, options);
113
+ },
114
+ async update(options) {
115
+ return update(revealUIInstance, ensureDbConnected, options);
116
+ },
117
+ async delete(options) {
118
+ return deleteMethod(revealUIInstance, ensureDbConnected, options);
119
+ },
120
+ async login(options) {
121
+ const { collection, data } = options;
122
+ if (!collections[collection]) {
123
+ throw new Error(`Collection '${collection}' not found`);
124
+ }
125
+ // Find user by email
126
+ const users = await collections[collection].find({
127
+ where: { email: { equals: data.email } },
128
+ limit: 1,
129
+ });
130
+ const user = users.docs[0];
131
+ if (!user) {
132
+ throw new Error('Invalid credentials');
133
+ }
134
+ // Verify password
135
+ const hashedPassword = user.password;
136
+ if (!hashedPassword || typeof hashedPassword !== 'string') {
137
+ throw new Error('Invalid credentials');
138
+ }
139
+ // Verify password against bcrypt hash
140
+ if (!hashedPassword.startsWith('$2')) {
141
+ // Reject plain-text passwords — they must be migrated first
142
+ throw new Error('Invalid credentials');
143
+ }
144
+ const isPasswordValid = await bcrypt.compare(data.password, hashedPassword);
145
+ if (!isPasswordValid) {
146
+ throw new Error('Invalid credentials');
147
+ }
148
+ // Generate JWT token with unique jti (JWT ID) for session fixation prevention
149
+ const secret = process.env.REVEALUI_SECRET;
150
+ if (!secret || secret.length < 32) {
151
+ throw new Error('REVEALUI_SECRET must be set to a secure random value (minimum 32 characters). ' +
152
+ 'Generate one with: openssl rand -base64 32');
153
+ }
154
+ const secretKey = new TextEncoder().encode(secret);
155
+ const token = await new SignJWT({
156
+ id: user.id,
157
+ email: user.email,
158
+ collection,
159
+ })
160
+ .setProtectedHeader({ alg: 'HS256' })
161
+ .setIssuedAt()
162
+ .setExpirationTime('7d')
163
+ .setJti(`${user.id}-${Date.now()}-${randomBytes(8).toString('hex')}`)
164
+ .sign(secretKey);
165
+ // Remove password from user object before returning
166
+ const userWithoutPassword = { ...user, password: undefined };
167
+ return { user: userWithoutPassword, token };
168
+ },
169
+ async findGlobal(options) {
170
+ await ensureDbConnected();
171
+ const { slug, depth = 0, draft = false, locale, fallbackLocale, overrideAccess = false, showHiddenFields = false, populate, req, } = options;
172
+ // Find global config
173
+ const globalConfig = config.globals?.find((g) => g.slug === slug);
174
+ if (!globalConfig) {
175
+ throw new Error(`Global '${slug}' not found`);
176
+ }
177
+ // Get or use existing global instance
178
+ if (!globals[slug]) {
179
+ throw new Error(`Global '${slug}' instance not initialized`);
180
+ }
181
+ // Use the global's find method to get the document
182
+ const doc = await globals[slug].find({ depth: 0 }); // Get base document first
183
+ if (!doc) {
184
+ return null;
185
+ }
186
+ // Apply afterRead hook for relationship population if depth > 0 and req provided
187
+ if (req && depth > 0) {
188
+ // RevealGlobalConfig extends GlobalConfig, which matches SanitizedGlobalConfig structure
189
+ const sanitizedConfig = {
190
+ ...globalConfig,
191
+ fields: globalConfig.fields,
192
+ flattenedFields: globalConfig.fields,
193
+ endpoints: globalConfig.endpoints === false ? undefined : globalConfig.endpoints,
194
+ };
195
+ return await afterRead({
196
+ collection: null,
197
+ global: sanitizedConfig,
198
+ context: req.context || {},
199
+ currentDepth: 1,
200
+ depth,
201
+ doc,
202
+ draft,
203
+ fallbackLocale: fallbackLocale || req.fallbackLocale || 'en',
204
+ findMany: false,
205
+ flattenLocales: true,
206
+ locale: locale || req.locale || 'en',
207
+ overrideAccess,
208
+ populate,
209
+ req,
210
+ select: undefined,
211
+ showHiddenFields,
212
+ });
213
+ }
214
+ return doc;
215
+ },
216
+ async updateGlobal(options) {
217
+ await ensureDbConnected();
218
+ const { slug } = options;
219
+ if (!globals[slug]) {
220
+ throw new Error(`Global '${slug}' not found`);
221
+ }
222
+ return globals[slug].update(options);
223
+ },
224
+ /**
225
+ * Manually populate relationships on documents
226
+ *
227
+ * Useful for:
228
+ * - Manual population after queries
229
+ * - AI context generation with relationships
230
+ * - Selective field population
231
+ * - Batch population for performance
232
+ *
233
+ * @example
234
+ * ```typescript
235
+ * // Populate single document
236
+ * const post = await revealui.findByID({ collection: 'posts', id: '123' })
237
+ * const populated = await revealui.populate('posts', post, { depth: 2 })
238
+ *
239
+ * // Populate multiple documents
240
+ * const posts = await revealui.find({ collection: 'posts' })
241
+ * const populated = await revealui.populate('posts', posts.docs, { depth: 1 })
242
+ * ```
243
+ */
244
+ async populate(collection, docs, options) {
245
+ await ensureDbConnected();
246
+ const { depth = 1, draft = false, locale = 'en', fallbackLocale = 'en', overrideAccess = false, showHiddenFields = false, req, } = options || {};
247
+ // Get collection config
248
+ const collectionConfig = config.collections?.find((c) => c.slug === collection);
249
+ if (!collectionConfig) {
250
+ throw new Error(`Collection '${collection}' not found`);
251
+ }
252
+ // Create a request context if not provided
253
+ const populateReq = req || {
254
+ ...baseReq,
255
+ locale,
256
+ fallbackLocale,
257
+ revealui: revealUIInstance,
258
+ dataLoader: getDataLoader(baseReq),
259
+ };
260
+ // Handle single document
261
+ if (!Array.isArray(docs)) {
262
+ return await afterRead({
263
+ collection: collectionConfig,
264
+ context: populateReq.context || {},
265
+ currentDepth: 0,
266
+ depth,
267
+ doc: docs,
268
+ draft,
269
+ fallbackLocale,
270
+ findMany: false,
271
+ flattenLocales: true,
272
+ global: null,
273
+ locale,
274
+ overrideAccess,
275
+ populate: undefined,
276
+ req: populateReq,
277
+ select: undefined,
278
+ showHiddenFields,
279
+ });
280
+ }
281
+ // Handle array of documents
282
+ return await Promise.all(docs.map(async (doc) => afterRead({
283
+ collection: collectionConfig,
284
+ context: populateReq.context || {},
285
+ currentDepth: 0,
286
+ depth,
287
+ doc,
288
+ draft,
289
+ fallbackLocale,
290
+ findMany: false,
291
+ flattenLocales: true,
292
+ global: null,
293
+ locale,
294
+ overrideAccess,
295
+ populate: undefined,
296
+ req: populateReq,
297
+ select: undefined,
298
+ showHiddenFields,
299
+ })));
300
+ },
301
+ };
302
+ // Run onInit hook if provided (skip during build to avoid database connections)
303
+ const isBuildTime = process.env.NEXT_PHASE === 'phase-production-build' ||
304
+ (process.env.NODE_ENV === 'production' && !process.env.RUNTIME_INIT);
305
+ if (config.onInit && !isBuildTime) {
306
+ await config.onInit(revealUIInstance);
307
+ }
308
+ // Initialize DataLoader for the base request
309
+ baseReq.revealui = revealUIInstance;
310
+ baseReq.dataLoader = getDataLoader(baseReq);
311
+ return revealUIInstance;
312
+ }
@@ -0,0 +1,3 @@
1
+ export { createLogger, defaultLogger, Logger, type RevealUILogger, } from './logger.js';
2
+ export { createRevealUIInstance } from './RevealUIInstance.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,KAAK,cAAc,GACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { createLogger, defaultLogger, Logger, } from './logger.js';
2
+ export { createRevealUIInstance } from './RevealUIInstance.js';
@@ -0,0 +1,31 @@
1
+ /**
2
+ * RevealUI Logger
3
+ *
4
+ * Production-safe logging utility for RevealUI framework operations.
5
+ * Info/warn messages are no-ops in production to avoid console pollution.
6
+ */
7
+ export interface RevealUILogger {
8
+ info: (...args: unknown[]) => void;
9
+ warn: (...args: unknown[]) => void;
10
+ error: (...args: unknown[]) => void;
11
+ debug: (...args: unknown[]) => void;
12
+ }
13
+ /**
14
+ * Production-safe logger implementation
15
+ * Info/warn messages are completely silenced in production
16
+ */
17
+ export declare class Logger implements RevealUILogger {
18
+ info(...args: unknown[]): void;
19
+ warn(...args: unknown[]): void;
20
+ error(...args: unknown[]): void;
21
+ debug(...args: unknown[]): void;
22
+ }
23
+ /**
24
+ * Creates a new logger instance
25
+ */
26
+ export declare function createLogger(): RevealUILogger;
27
+ /**
28
+ * Default logger instance
29
+ */
30
+ export declare const defaultLogger: RevealUILogger;
31
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/instance/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACpC;AAED;;;GAGG;AACH,qBAAa,MAAO,YAAW,cAAc;IAC3C,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAO9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAO9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAA6B,CAAA"}