@revealui/core 0.0.1-pre.4 → 0.2.1

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 (622) hide show
  1. package/LICENSE +22 -202
  2. package/README.md +108 -152
  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 +316 -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 +411 -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 +385 -0
  36. package/dist/caching/service-worker.d.ts +154 -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 +23 -0
  70. package/dist/client/admin/utils/auth.d.ts.map +1 -0
  71. package/dist/client/admin/utils/auth.js +52 -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 +11 -0
  106. package/dist/client/index.d.ts.map +1 -0
  107. package/dist/client/index.js +13 -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 +34 -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/safe-parse.d.ts +26 -0
  187. package/dist/database/safe-parse.d.ts.map +1 -0
  188. package/dist/database/safe-parse.js +42 -0
  189. package/dist/database/ssl-config.d.ts +9 -0
  190. package/dist/database/ssl-config.d.ts.map +1 -0
  191. package/dist/database/ssl-config.js +7 -0
  192. package/dist/database/type-adapter.d.ts +113 -0
  193. package/dist/database/type-adapter.d.ts.map +1 -0
  194. package/dist/database/type-adapter.js +97 -0
  195. package/dist/database/universal-postgres.d.ts +45 -0
  196. package/dist/database/universal-postgres.d.ts.map +1 -0
  197. package/dist/database/universal-postgres.js +526 -0
  198. package/dist/dataloader.d.ts +26 -0
  199. package/dist/dataloader.d.ts.map +1 -0
  200. package/dist/dataloader.js +176 -0
  201. package/dist/error-handling/circuit-breaker.d.ts +262 -0
  202. package/dist/error-handling/circuit-breaker.d.ts.map +1 -0
  203. package/dist/error-handling/circuit-breaker.js +542 -0
  204. package/dist/error-handling/error-boundary.d.ts +94 -0
  205. package/dist/error-handling/error-boundary.d.ts.map +1 -0
  206. package/dist/error-handling/error-boundary.js +285 -0
  207. package/dist/error-handling/error-reporter.d.ts +214 -0
  208. package/dist/error-handling/error-reporter.d.ts.map +1 -0
  209. package/dist/error-handling/error-reporter.js +477 -0
  210. package/dist/error-handling/fallback-components.d.ts +131 -0
  211. package/dist/error-handling/fallback-components.d.ts.map +1 -0
  212. package/dist/error-handling/fallback-components.js +371 -0
  213. package/dist/error-handling/index.d.ts +16 -0
  214. package/dist/error-handling/index.d.ts.map +1 -0
  215. package/dist/error-handling/index.js +15 -0
  216. package/dist/error-handling/retry.d.ts +194 -0
  217. package/dist/error-handling/retry.d.ts.map +1 -0
  218. package/dist/error-handling/retry.js +450 -0
  219. package/dist/errors/index.d.ts +23 -0
  220. package/dist/errors/index.d.ts.map +1 -0
  221. package/dist/errors/index.js +40 -0
  222. package/dist/factories/builders.d.ts +50 -0
  223. package/dist/factories/builders.d.ts.map +1 -0
  224. package/dist/factories/builders.js +77 -0
  225. package/dist/factories/index.d.ts +2 -0
  226. package/dist/factories/index.d.ts.map +1 -0
  227. package/dist/factories/index.js +1 -0
  228. package/dist/features.d.ts +86 -0
  229. package/dist/features.d.ts.map +1 -0
  230. package/dist/features.js +92 -0
  231. package/dist/fieldTraversal.d.ts +26 -0
  232. package/dist/fieldTraversal.d.ts.map +1 -0
  233. package/dist/fieldTraversal.js +132 -0
  234. package/dist/fields/config/types.d.ts +48 -0
  235. package/dist/fields/config/types.d.ts.map +1 -0
  236. package/dist/fields/config/types.js +20 -0
  237. package/dist/fields/getDefaultValue.d.ts +16 -0
  238. package/dist/fields/getDefaultValue.d.ts.map +1 -0
  239. package/dist/fields/getDefaultValue.js +20 -0
  240. package/dist/fields/getFieldPaths.d.ts +25 -0
  241. package/dist/fields/getFieldPaths.d.ts.map +1 -0
  242. package/dist/fields/getFieldPaths.js +23 -0
  243. package/dist/fields/hooks/afterRead/index.d.ts +36 -0
  244. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -0
  245. package/dist/fields/hooks/afterRead/index.js +70 -0
  246. package/dist/fields/hooks/afterRead/promise.d.ts +46 -0
  247. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -0
  248. package/dist/fields/hooks/afterRead/promise.js +178 -0
  249. package/dist/fields/hooks/afterRead/traverseFields.d.ts +44 -0
  250. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -0
  251. package/dist/fields/hooks/afterRead/traverseFields.js +37 -0
  252. package/dist/generated/agents/index.d.ts +8 -0
  253. package/dist/generated/agents/index.d.ts.map +1 -0
  254. package/dist/generated/agents/index.js +7 -0
  255. package/dist/generated/components/index.d.ts +8 -0
  256. package/dist/generated/components/index.d.ts.map +1 -0
  257. package/dist/generated/components/index.js +7 -0
  258. package/dist/generated/functions/index.d.ts +8 -0
  259. package/dist/generated/functions/index.d.ts.map +1 -0
  260. package/dist/generated/functions/index.js +7 -0
  261. package/dist/generated/hooks/index.d.ts +8 -0
  262. package/dist/generated/hooks/index.d.ts.map +1 -0
  263. package/dist/generated/hooks/index.js +7 -0
  264. package/dist/generated/index.d.ts +10 -0
  265. package/dist/generated/index.d.ts.map +1 -0
  266. package/dist/generated/index.js +9 -0
  267. package/dist/generated/plans/index.d.ts +8 -0
  268. package/dist/generated/plans/index.d.ts.map +1 -0
  269. package/dist/generated/plans/index.js +7 -0
  270. package/dist/generated/prompts/index.d.ts +8 -0
  271. package/dist/generated/prompts/index.d.ts.map +1 -0
  272. package/dist/generated/prompts/index.js +7 -0
  273. package/dist/generated/tools/index.d.ts +8 -0
  274. package/dist/generated/tools/index.d.ts.map +1 -0
  275. package/dist/generated/tools/index.js +7 -0
  276. package/dist/generated/types/cms.d.ts +1766 -0
  277. package/dist/generated/types/cms.d.ts.map +1 -0
  278. package/dist/generated/types/cms.js +12 -0
  279. package/dist/generated/types/index.d.ts +16 -0
  280. package/dist/generated/types/index.d.ts.map +1 -0
  281. package/dist/generated/types/index.js +21 -0
  282. package/dist/generated/types/neon.d.ts +11 -0
  283. package/dist/generated/types/neon.d.ts.map +1 -0
  284. package/dist/generated/types/neon.js +11 -0
  285. package/dist/generated/types/supabase.d.ts +193 -0
  286. package/dist/generated/types/supabase.d.ts.map +1 -0
  287. package/dist/generated/types/supabase.js +5 -0
  288. package/dist/globals/GlobalOperations.d.ts +24 -0
  289. package/dist/globals/GlobalOperations.d.ts.map +1 -0
  290. package/dist/globals/GlobalOperations.js +149 -0
  291. package/dist/globals/index.d.ts +2 -0
  292. package/dist/globals/index.d.ts.map +1 -0
  293. package/dist/globals/index.js +1 -0
  294. package/dist/index.d.ts +64 -1
  295. package/dist/index.d.ts.map +1 -0
  296. package/dist/index.js +126 -33
  297. package/dist/instance/RevealUIInstance.d.ts +6 -0
  298. package/dist/instance/RevealUIInstance.d.ts.map +1 -0
  299. package/dist/instance/RevealUIInstance.js +306 -0
  300. package/dist/instance/index.d.ts +3 -0
  301. package/dist/instance/index.d.ts.map +1 -0
  302. package/dist/instance/index.js +2 -0
  303. package/dist/instance/logger.d.ts +31 -0
  304. package/dist/instance/logger.d.ts.map +1 -0
  305. package/dist/instance/logger.js +42 -0
  306. package/dist/instance/methods/create.d.ts +10 -0
  307. package/dist/instance/methods/create.d.ts.map +1 -0
  308. package/dist/instance/methods/create.js +41 -0
  309. package/dist/instance/methods/delete.d.ts +10 -0
  310. package/dist/instance/methods/delete.d.ts.map +1 -0
  311. package/dist/instance/methods/delete.js +27 -0
  312. package/dist/instance/methods/find.d.ts +10 -0
  313. package/dist/instance/methods/find.d.ts.map +1 -0
  314. package/dist/instance/methods/find.js +23 -0
  315. package/dist/instance/methods/findById.d.ts +13 -0
  316. package/dist/instance/methods/findById.d.ts.map +1 -0
  317. package/dist/instance/methods/findById.js +23 -0
  318. package/dist/instance/methods/hooks.d.ts +14 -0
  319. package/dist/instance/methods/hooks.d.ts.map +1 -0
  320. package/dist/instance/methods/hooks.js +34 -0
  321. package/dist/instance/methods/update.d.ts +10 -0
  322. package/dist/instance/methods/update.d.ts.map +1 -0
  323. package/dist/instance/methods/update.js +45 -0
  324. package/dist/license.d.ts +82 -0
  325. package/dist/license.d.ts.map +1 -0
  326. package/dist/license.js +193 -0
  327. package/dist/monitoring/alerts.d.ts +118 -0
  328. package/dist/monitoring/alerts.d.ts.map +1 -0
  329. package/dist/monitoring/alerts.js +324 -0
  330. package/dist/monitoring/cleanup-manager.d.ts +71 -0
  331. package/dist/monitoring/cleanup-manager.d.ts.map +1 -0
  332. package/dist/monitoring/cleanup-manager.js +226 -0
  333. package/dist/monitoring/health-monitor.d.ts +22 -0
  334. package/dist/monitoring/health-monitor.d.ts.map +1 -0
  335. package/dist/monitoring/health-monitor.js +142 -0
  336. package/dist/monitoring/index.d.ts +14 -0
  337. package/dist/monitoring/index.d.ts.map +1 -0
  338. package/dist/monitoring/index.js +17 -0
  339. package/dist/monitoring/process-registry.d.ts +97 -0
  340. package/dist/monitoring/process-registry.d.ts.map +1 -0
  341. package/dist/monitoring/process-registry.js +222 -0
  342. package/dist/monitoring/query-monitor.d.ts +153 -0
  343. package/dist/monitoring/query-monitor.d.ts.map +1 -0
  344. package/dist/monitoring/query-monitor.js +209 -0
  345. package/dist/monitoring/types.d.ts +231 -0
  346. package/dist/monitoring/types.d.ts.map +1 -0
  347. package/dist/monitoring/types.js +42 -0
  348. package/dist/monitoring/zombie-detector.d.ts +81 -0
  349. package/dist/monitoring/zombie-detector.d.ts.map +1 -0
  350. package/dist/monitoring/zombie-detector.js +231 -0
  351. package/dist/nextjs/index.d.ts +4 -0
  352. package/dist/nextjs/index.d.ts.map +1 -0
  353. package/dist/nextjs/index.js +3 -0
  354. package/dist/nextjs/utilities.d.ts +5 -0
  355. package/dist/nextjs/utilities.d.ts.map +1 -0
  356. package/dist/nextjs/utilities.js +16 -0
  357. package/dist/nextjs/withRevealUI.d.ts +20 -0
  358. package/dist/nextjs/withRevealUI.d.ts.map +1 -0
  359. package/dist/nextjs/withRevealUI.js +181 -0
  360. package/dist/observability/alerts.d.ts +138 -0
  361. package/dist/observability/alerts.d.ts.map +1 -0
  362. package/dist/observability/alerts.js +390 -0
  363. package/dist/observability/health-check.d.ts +95 -0
  364. package/dist/observability/health-check.d.ts.map +1 -0
  365. package/dist/observability/health-check.js +375 -0
  366. package/dist/observability/index.d.ts +12 -0
  367. package/dist/observability/index.d.ts.map +1 -0
  368. package/dist/observability/index.js +11 -0
  369. package/dist/observability/logger.d.ts +47 -0
  370. package/dist/observability/logger.d.ts.map +1 -0
  371. package/dist/observability/logger.js +140 -0
  372. package/dist/observability/metrics.d.ts +205 -0
  373. package/dist/observability/metrics.d.ts.map +1 -0
  374. package/dist/observability/metrics.js +429 -0
  375. package/dist/observability/tracing.d.ts +149 -0
  376. package/dist/observability/tracing.d.ts.map +1 -0
  377. package/dist/observability/tracing.js +381 -0
  378. package/dist/optimization/asset-optimizer.d.ts +202 -0
  379. package/dist/optimization/asset-optimizer.d.ts.map +1 -0
  380. package/dist/optimization/asset-optimizer.js +312 -0
  381. package/dist/optimization/build-optimizer.d.ts +202 -0
  382. package/dist/optimization/build-optimizer.d.ts.map +1 -0
  383. package/dist/optimization/build-optimizer.js +271 -0
  384. package/dist/optimization/bundle-analyzer.d.ts +98 -0
  385. package/dist/optimization/bundle-analyzer.d.ts.map +1 -0
  386. package/dist/optimization/bundle-analyzer.js +322 -0
  387. package/dist/optimization/code-splitting.d.ts +131 -0
  388. package/dist/optimization/code-splitting.d.ts.map +1 -0
  389. package/dist/optimization/code-splitting.js +277 -0
  390. package/dist/plugin/index.d.ts +12 -0
  391. package/dist/plugin/index.d.ts.map +1 -0
  392. package/dist/plugin/index.js +4 -0
  393. package/dist/plugins/form-builder.d.ts +115 -0
  394. package/dist/plugins/form-builder.d.ts.map +1 -0
  395. package/dist/plugins/form-builder.js +239 -0
  396. package/dist/plugins/index.d.ts +5 -0
  397. package/dist/plugins/index.d.ts.map +1 -0
  398. package/dist/plugins/index.js +4 -0
  399. package/dist/plugins/nested-docs.d.ts +8 -0
  400. package/dist/plugins/nested-docs.d.ts.map +1 -0
  401. package/dist/plugins/nested-docs.js +67 -0
  402. package/dist/plugins/redirects.d.ts +17 -0
  403. package/dist/plugins/redirects.d.ts.map +1 -0
  404. package/dist/plugins/redirects.js +62 -0
  405. package/dist/queries/index.d.ts +2 -0
  406. package/dist/queries/index.d.ts.map +1 -0
  407. package/dist/queries/index.js +1 -0
  408. package/dist/queries/queryBuilder.d.ts +47 -0
  409. package/dist/queries/queryBuilder.d.ts.map +1 -0
  410. package/dist/queries/queryBuilder.js +255 -0
  411. package/dist/relationships/analyzer.d.ts +39 -0
  412. package/dist/relationships/analyzer.d.ts.map +1 -0
  413. package/dist/relationships/analyzer.js +127 -0
  414. package/dist/relationships/index.d.ts +3 -0
  415. package/dist/relationships/index.d.ts.map +1 -0
  416. package/dist/relationships/index.js +2 -0
  417. package/dist/relationships/populate-helpers.d.ts +104 -0
  418. package/dist/relationships/populate-helpers.d.ts.map +1 -0
  419. package/dist/relationships/populate-helpers.js +187 -0
  420. package/dist/relationships/population.d.ts +42 -0
  421. package/dist/relationships/population.d.ts.map +1 -0
  422. package/dist/relationships/population.js +188 -0
  423. package/dist/revealui.d.ts +46 -0
  424. package/dist/revealui.d.ts.map +1 -0
  425. package/dist/revealui.js +92 -0
  426. package/dist/richtext/exports/client/rcc.d.ts +37 -0
  427. package/dist/richtext/exports/client/rcc.d.ts.map +1 -0
  428. package/dist/richtext/exports/client/rcc.js +182 -0
  429. package/dist/richtext/exports/server/rsc.d.ts +117 -0
  430. package/dist/richtext/exports/server/rsc.d.ts.map +1 -0
  431. package/dist/richtext/exports/server/rsc.js +288 -0
  432. package/dist/richtext/index.d.ts +161 -0
  433. package/dist/richtext/index.d.ts.map +1 -0
  434. package/dist/richtext/index.js +243 -0
  435. package/dist/richtext/lexical.d.ts +23 -0
  436. package/dist/richtext/lexical.d.ts.map +1 -0
  437. package/dist/richtext/lexical.js +35 -0
  438. package/dist/security/audit.d.ts +188 -0
  439. package/dist/security/audit.d.ts.map +1 -0
  440. package/dist/security/audit.js +431 -0
  441. package/dist/security/auth.d.ts +241 -0
  442. package/dist/security/auth.d.ts.map +1 -0
  443. package/dist/security/auth.js +476 -0
  444. package/dist/security/authorization.d.ts +235 -0
  445. package/dist/security/authorization.d.ts.map +1 -0
  446. package/dist/security/authorization.js +434 -0
  447. package/dist/security/encryption.d.ts +214 -0
  448. package/dist/security/encryption.d.ts.map +1 -0
  449. package/dist/security/encryption.js +517 -0
  450. package/dist/security/gdpr.d.ts +300 -0
  451. package/dist/security/gdpr.d.ts.map +1 -0
  452. package/dist/security/gdpr.js +465 -0
  453. package/dist/security/headers.d.ts +182 -0
  454. package/dist/security/headers.d.ts.map +1 -0
  455. package/dist/security/headers.js +402 -0
  456. package/dist/security/index.d.ts +19 -0
  457. package/dist/security/index.d.ts.map +1 -0
  458. package/dist/security/index.js +18 -0
  459. package/dist/server/index.d.ts +21 -0
  460. package/dist/server/index.d.ts.map +1 -0
  461. package/dist/server/index.js +28 -0
  462. package/dist/server/renderPage.d.ts +69 -0
  463. package/dist/server/renderPage.d.ts.map +1 -0
  464. package/dist/server/renderPage.js +109 -0
  465. package/dist/storage/index.d.ts +1 -0
  466. package/dist/storage/index.d.ts.map +1 -0
  467. package/dist/storage/index.js +4 -0
  468. package/dist/storage/vercel-blob.d.ts +17 -0
  469. package/dist/storage/vercel-blob.d.ts.map +1 -0
  470. package/dist/storage/vercel-blob.js +83 -0
  471. package/dist/translations/index.d.ts +17 -0
  472. package/dist/translations/index.d.ts.map +1 -0
  473. package/dist/translations/index.js +1 -0
  474. package/dist/types/access.d.ts +67 -0
  475. package/dist/types/access.d.ts.map +1 -0
  476. package/dist/types/access.js +8 -0
  477. package/dist/types/api.d.ts +57 -0
  478. package/dist/types/api.d.ts.map +1 -0
  479. package/dist/types/api.js +8 -0
  480. package/dist/types/cms.d.ts +8 -0
  481. package/dist/types/cms.d.ts.map +1 -0
  482. package/dist/types/cms.js +6 -0
  483. package/dist/types/config.d.ts +152 -0
  484. package/dist/types/config.d.ts.map +1 -0
  485. package/dist/types/config.js +9 -0
  486. package/dist/types/core.d.ts +11 -0
  487. package/dist/types/core.d.ts.map +1 -0
  488. package/dist/types/core.js +9 -0
  489. package/dist/types/extensions.d.ts +116 -0
  490. package/dist/types/extensions.d.ts.map +1 -0
  491. package/dist/types/extensions.js +8 -0
  492. package/dist/types/frontend.d.ts +53 -0
  493. package/dist/types/frontend.d.ts.map +1 -0
  494. package/dist/types/frontend.js +7 -0
  495. package/dist/types/generated.d.ts +12 -0
  496. package/dist/types/generated.d.ts.map +1 -0
  497. package/dist/types/generated.js +10 -0
  498. package/dist/types/hooks.d.ts +53 -0
  499. package/dist/types/hooks.d.ts.map +1 -0
  500. package/dist/types/hooks.js +8 -0
  501. package/dist/types/index.d.ts +49 -0
  502. package/dist/types/index.d.ts.map +1 -0
  503. package/dist/types/index.js +61 -0
  504. package/dist/types/interfaces/app.d.ts +50 -0
  505. package/dist/types/interfaces/app.d.ts.map +1 -0
  506. package/dist/types/interfaces/app.js +5 -0
  507. package/dist/types/jobs.d.ts +112 -0
  508. package/dist/types/jobs.d.ts.map +1 -0
  509. package/dist/types/jobs.js +7 -0
  510. package/dist/types/legacy.d.ts +147 -0
  511. package/dist/types/legacy.d.ts.map +1 -0
  512. package/dist/types/legacy.js +8 -0
  513. package/dist/types/plugins.d.ts +17 -0
  514. package/dist/types/plugins.d.ts.map +1 -0
  515. package/dist/types/plugins.js +8 -0
  516. package/dist/types/query.d.ts +99 -0
  517. package/dist/types/query.d.ts.map +1 -0
  518. package/dist/types/query.js +24 -0
  519. package/dist/types/request.d.ts +40 -0
  520. package/dist/types/request.d.ts.map +1 -0
  521. package/dist/types/request.js +8 -0
  522. package/dist/types/richtext.d.ts +23 -0
  523. package/dist/types/richtext.d.ts.map +1 -0
  524. package/dist/types/richtext.js +8 -0
  525. package/dist/types/runtime.d.ts +216 -0
  526. package/dist/types/runtime.d.ts.map +1 -0
  527. package/dist/types/runtime.js +9 -0
  528. package/dist/types/schema.d.ts +9 -0
  529. package/dist/types/schema.d.ts.map +1 -0
  530. package/dist/types/schema.js +7 -0
  531. package/dist/types/user.d.ts +48 -0
  532. package/dist/types/user.d.ts.map +1 -0
  533. package/dist/types/user.js +8 -0
  534. package/dist/utils/access-conversion.d.ts +17 -0
  535. package/dist/utils/access-conversion.d.ts.map +1 -0
  536. package/dist/utils/access-conversion.js +96 -0
  537. package/dist/utils/api-wrapper.d.ts +63 -0
  538. package/dist/utils/api-wrapper.d.ts.map +1 -0
  539. package/dist/utils/api-wrapper.js +151 -0
  540. package/dist/utils/block-conversion.d.ts +21 -0
  541. package/dist/utils/block-conversion.d.ts.map +1 -0
  542. package/dist/utils/block-conversion.js +109 -0
  543. package/dist/utils/cache.d.ts +86 -0
  544. package/dist/utils/cache.d.ts.map +1 -0
  545. package/dist/utils/cache.js +154 -0
  546. package/dist/utils/deep-clone.d.ts +25 -0
  547. package/dist/utils/deep-clone.d.ts.map +1 -0
  548. package/dist/utils/deep-clone.js +115 -0
  549. package/dist/utils/error-responses.d.ts +57 -0
  550. package/dist/utils/error-responses.d.ts.map +1 -0
  551. package/dist/utils/error-responses.js +96 -0
  552. package/dist/utils/errors.d.ts +97 -0
  553. package/dist/utils/errors.d.ts.map +1 -0
  554. package/dist/utils/errors.js +397 -0
  555. package/dist/utils/field-conversion.d.ts +40 -0
  556. package/dist/utils/field-conversion.d.ts.map +1 -0
  557. package/dist/utils/field-conversion.js +275 -0
  558. package/dist/utils/flattenResult.d.ts +7 -0
  559. package/dist/utils/flattenResult.d.ts.map +1 -0
  560. package/dist/utils/flattenResult.js +23 -0
  561. package/dist/utils/getBlockSelect.d.ts +12 -0
  562. package/dist/utils/getBlockSelect.d.ts.map +1 -0
  563. package/dist/utils/getBlockSelect.js +12 -0
  564. package/dist/utils/getSelectMode.d.ts +8 -0
  565. package/dist/utils/getSelectMode.d.ts.map +1 -0
  566. package/dist/utils/getSelectMode.js +21 -0
  567. package/dist/utils/isValidID.d.ts +5 -0
  568. package/dist/utils/isValidID.d.ts.map +1 -0
  569. package/dist/utils/isValidID.js +13 -0
  570. package/dist/utils/json-parsing.d.ts +48 -0
  571. package/dist/utils/json-parsing.d.ts.map +1 -0
  572. package/dist/utils/json-parsing.js +130 -0
  573. package/dist/utils/jwt-validation.d.ts +14 -0
  574. package/dist/utils/jwt-validation.d.ts.map +1 -0
  575. package/dist/utils/jwt-validation.js +36 -0
  576. package/dist/utils/logger-client.d.ts +32 -0
  577. package/dist/utils/logger-client.d.ts.map +1 -0
  578. package/dist/utils/logger-client.js +55 -0
  579. package/dist/utils/logger-server.d.ts +32 -0
  580. package/dist/utils/logger-server.d.ts.map +1 -0
  581. package/dist/utils/logger-server.js +68 -0
  582. package/dist/utils/logger.d.ts +14 -0
  583. package/dist/utils/logger.d.ts.map +1 -0
  584. package/dist/utils/logger.js +12 -0
  585. package/dist/utils/request-context.d.ts +143 -0
  586. package/dist/utils/request-context.d.ts.map +1 -0
  587. package/dist/utils/request-context.js +168 -0
  588. package/dist/utils/request-headers.d.ts +15 -0
  589. package/dist/utils/request-headers.d.ts.map +1 -0
  590. package/dist/utils/request-headers.js +31 -0
  591. package/dist/utils/stripUnselectedFields.d.ts +10 -0
  592. package/dist/utils/stripUnselectedFields.d.ts.map +1 -0
  593. package/dist/utils/stripUnselectedFields.js +20 -0
  594. package/dist/utils/type-guards.d.ts +33 -0
  595. package/dist/utils/type-guards.d.ts.map +1 -0
  596. package/dist/utils/type-guards.js +63 -0
  597. package/dist/utils/user.d.ts +14 -0
  598. package/dist/utils/user.d.ts.map +1 -0
  599. package/dist/utils/user.js +15 -0
  600. package/package.json +241 -724
  601. package/LICENSE_SUMMARY.md +0 -55
  602. package/NOTICE +0 -34
  603. package/dist/exports/RenderErrorPage.js +0 -3
  604. package/dist/exports/__internal.js +0 -3
  605. package/dist/exports/abort.js +0 -3
  606. package/dist/exports/bin-entry.js +0 -5
  607. package/dist/exports/client.js +0 -3
  608. package/dist/exports/config.js +0 -1
  609. package/dist/exports/helpers.js +0 -1
  610. package/dist/exports/index.js +0 -33
  611. package/dist/exports/plugin.js +0 -3
  612. package/dist/exports/prerender.js +0 -3
  613. package/dist/exports/router.js +0 -3
  614. package/dist/exports/routing.js +0 -3
  615. package/dist/exports/server.js +0 -3
  616. package/dist/exports/setup.js +0 -3
  617. package/dist/exports/types.js +0 -1
  618. package/dist/integration/styles.css +0 -141
  619. package/dist/shared/RenderErrorPage.d.ts +0 -3
  620. package/dist/shared/RenderErrorPage.js +0 -3
  621. package/dist/shared/abort.js +0 -3
  622. package/dist/shared/route/routing.js +0 -3
@@ -0,0 +1,154 @@
1
+ /**
2
+ * LRU Cache with TTL (Time To Live)
3
+ *
4
+ * Provides a cache implementation with:
5
+ * - TTL (Time To Live) expiration
6
+ * - Size limits with LRU eviction
7
+ * - Type-safe generic interface
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const cache = new LRUCache<string, User>({ maxSize: 100, ttlMs: 5 * 60 * 1000 })
12
+ * const user = await cache.fetch('user:123', () => fetchUserFromDB('123'))
13
+ * ```
14
+ */
15
+ /**
16
+ * LRU Cache with TTL for storing key-value pairs
17
+ *
18
+ * Features:
19
+ * - Automatic expiration based on TTL
20
+ * - Size limits with LRU (Least Recently Used) eviction
21
+ * - Type-safe generic interface
22
+ */
23
+ export class LRUCache {
24
+ cache = new Map();
25
+ maxSize;
26
+ ttlMs;
27
+ constructor(options = {}) {
28
+ this.maxSize = options.maxSize ?? 100;
29
+ this.ttlMs = options.ttlMs ?? 5 * 60 * 1000; // 5 minutes default
30
+ }
31
+ /**
32
+ * Fetch a value from cache or compute it using the fetcher function
33
+ *
34
+ * @param key - Cache key
35
+ * @param fetcher - Function to fetch the value if not in cache
36
+ * @returns The cached or newly fetched value
37
+ */
38
+ async fetch(key, fetcher) {
39
+ const now = Date.now();
40
+ const cached = this.cache.get(key);
41
+ // Check if cached entry exists and is still valid
42
+ if (cached && cached.expiresAt > now) {
43
+ // Update last accessed time for LRU
44
+ cached.lastAccessed = now;
45
+ return cached.data;
46
+ }
47
+ // Remove expired entry if present
48
+ if (cached) {
49
+ this.cache.delete(key);
50
+ }
51
+ // Evict least recently used entries if at capacity
52
+ this.evictIfNeeded();
53
+ // Fetch fresh data
54
+ const data = await fetcher();
55
+ this.cache.set(key, {
56
+ data,
57
+ expiresAt: now + this.ttlMs,
58
+ lastAccessed: now,
59
+ });
60
+ return data;
61
+ }
62
+ /**
63
+ * Get a value from cache without fetching (returns undefined if not found or expired)
64
+ *
65
+ * @param key - Cache key
66
+ * @returns The cached value or undefined
67
+ */
68
+ get(key) {
69
+ const now = Date.now();
70
+ const cached = this.cache.get(key);
71
+ if (cached && cached.expiresAt > now) {
72
+ cached.lastAccessed = now;
73
+ return cached.data;
74
+ }
75
+ // Remove expired entry
76
+ if (cached) {
77
+ this.cache.delete(key);
78
+ }
79
+ return undefined;
80
+ }
81
+ /**
82
+ * Set a value in the cache
83
+ *
84
+ * @param key - Cache key
85
+ * @param value - Value to cache
86
+ */
87
+ set(key, value) {
88
+ const now = Date.now();
89
+ this.evictIfNeeded();
90
+ this.cache.set(key, {
91
+ data: value,
92
+ expiresAt: now + this.ttlMs,
93
+ lastAccessed: now,
94
+ });
95
+ }
96
+ /**
97
+ * Delete a value from the cache
98
+ *
99
+ * @param key - Cache key
100
+ * @returns true if the entry was deleted, false if it didn't exist
101
+ */
102
+ delete(key) {
103
+ return this.cache.delete(key);
104
+ }
105
+ /**
106
+ * Clear all entries from the cache
107
+ */
108
+ clear() {
109
+ this.cache.clear();
110
+ }
111
+ /**
112
+ * Get the current size of the cache
113
+ */
114
+ get size() {
115
+ return this.cache.size;
116
+ }
117
+ /**
118
+ * Evict expired entries and LRU entries if at capacity
119
+ */
120
+ evictIfNeeded() {
121
+ const now = Date.now();
122
+ // First, remove all expired entries
123
+ for (const [key, entry] of this.cache.entries()) {
124
+ if (entry.expiresAt <= now) {
125
+ this.cache.delete(key);
126
+ }
127
+ }
128
+ // If still at capacity, remove least recently used entry
129
+ if (this.cache.size >= this.maxSize) {
130
+ let lruKey;
131
+ let lruTime = Infinity;
132
+ for (const [key, entry] of this.cache.entries()) {
133
+ if (entry.lastAccessed < lruTime) {
134
+ lruTime = entry.lastAccessed;
135
+ lruKey = key;
136
+ }
137
+ }
138
+ if (lruKey !== undefined) {
139
+ this.cache.delete(lruKey);
140
+ }
141
+ }
142
+ }
143
+ /**
144
+ * Clean up expired entries (can be called periodically)
145
+ */
146
+ cleanup() {
147
+ const now = Date.now();
148
+ for (const [key, entry] of this.cache.entries()) {
149
+ if (entry.expiresAt <= now) {
150
+ this.cache.delete(key);
151
+ }
152
+ }
153
+ }
154
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Deep Clone Utility
3
+ *
4
+ * Properly deep clones objects, handling edge cases that JSON.parse(JSON.stringify()) misses:
5
+ * - Preserves Date objects
6
+ * - Handles undefined values (by omitting them, which is acceptable for our use case)
7
+ * - Handles null values correctly
8
+ * - Works with plain objects and arrays
9
+ * - Handles Map, Set, RegExp, TypedArrays, ArrayBuffer
10
+ * - Throws on circular references (fail-fast is better than silent corruption)
11
+ *
12
+ * This is a comprehensive deep clone implementation suitable for production use.
13
+ * Moved from @revealui/ai/memory/utils/deep-clone.ts to @revealui/core/utils/deep-clone.ts
14
+ * for shared usage across the framework.
15
+ */
16
+ /**
17
+ * Deep clones a plain object or array.
18
+ *
19
+ * @param obj - Object to clone
20
+ * @param visited - Internal parameter to track visited objects (for circular reference detection)
21
+ * @returns Deep cloned object
22
+ * @throws Error if object contains circular references
23
+ */
24
+ export declare function deepClone<T>(obj: T, visited?: WeakMap<object, unknown>): T;
25
+ //# sourceMappingURL=deep-clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-clone.d.ts","sourceRoot":"","sources":["../../src/utils/deep-clone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,2BAAiC,GAAG,CAAC,CAuHhF"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Deep Clone Utility
3
+ *
4
+ * Properly deep clones objects, handling edge cases that JSON.parse(JSON.stringify()) misses:
5
+ * - Preserves Date objects
6
+ * - Handles undefined values (by omitting them, which is acceptable for our use case)
7
+ * - Handles null values correctly
8
+ * - Works with plain objects and arrays
9
+ * - Handles Map, Set, RegExp, TypedArrays, ArrayBuffer
10
+ * - Throws on circular references (fail-fast is better than silent corruption)
11
+ *
12
+ * This is a comprehensive deep clone implementation suitable for production use.
13
+ * Moved from @revealui/ai/memory/utils/deep-clone.ts to @revealui/core/utils/deep-clone.ts
14
+ * for shared usage across the framework.
15
+ */
16
+ /**
17
+ * Deep clones a plain object or array.
18
+ *
19
+ * @param obj - Object to clone
20
+ * @param visited - Internal parameter to track visited objects (for circular reference detection)
21
+ * @returns Deep cloned object
22
+ * @throws Error if object contains circular references
23
+ */
24
+ export function deepClone(obj, visited = new WeakMap()) {
25
+ // Handle primitives and null
26
+ if (obj === null || typeof obj !== 'object') {
27
+ return obj;
28
+ }
29
+ // Check for circular references
30
+ if (visited.has(obj)) {
31
+ throw new Error('Circular reference detected in object');
32
+ }
33
+ // Handle Date objects
34
+ if (obj instanceof Date) {
35
+ return new Date(obj.getTime());
36
+ }
37
+ // Handle RegExp objects
38
+ if (obj instanceof RegExp) {
39
+ return new RegExp(obj.source, obj.flags);
40
+ }
41
+ // Handle Map objects
42
+ if (obj instanceof Map) {
43
+ visited.set(obj, new Map());
44
+ const cloned = new Map();
45
+ for (const [key, value] of obj.entries()) {
46
+ cloned.set(deepClone(key, visited), deepClone(value, visited));
47
+ }
48
+ visited.delete(obj);
49
+ return cloned;
50
+ }
51
+ // Handle Set objects
52
+ if (obj instanceof Set) {
53
+ visited.set(obj, new Set());
54
+ const cloned = new Set();
55
+ for (const value of obj.values()) {
56
+ cloned.add(deepClone(value, visited));
57
+ }
58
+ visited.delete(obj);
59
+ return cloned;
60
+ }
61
+ // Handle TypedArrays (Uint8Array, Int32Array, etc.)
62
+ if (ArrayBuffer.isView(obj)) {
63
+ const typedArray = obj;
64
+ const TypedArrayConstructor = obj.constructor;
65
+ return new TypedArrayConstructor(typedArray.buffer.slice(), typedArray.byteOffset, typedArray.length);
66
+ }
67
+ // Handle ArrayBuffer
68
+ if (obj instanceof ArrayBuffer) {
69
+ return obj.slice(0);
70
+ }
71
+ // Handle arrays
72
+ if (Array.isArray(obj)) {
73
+ visited.set(obj, []);
74
+ const array = obj;
75
+ const cloned = array.map((item) => deepClone(item, visited));
76
+ visited.delete(obj);
77
+ return cloned;
78
+ }
79
+ // Handle plain objects
80
+ if (typeof obj === 'object') {
81
+ visited.set(obj, {});
82
+ const cloned = {};
83
+ const objRecord = obj;
84
+ for (const key in objRecord) {
85
+ if (Object.hasOwn(objRecord, key)) {
86
+ const value = objRecord[key];
87
+ // Skip undefined (JSON.stringify behavior)
88
+ if (value === undefined) {
89
+ continue;
90
+ }
91
+ try {
92
+ ;
93
+ cloned[key] = deepClone(value, visited);
94
+ }
95
+ catch (error) {
96
+ visited.delete(obj);
97
+ // If we hit a circular reference or other issue, throw with context
98
+ throw new Error(`Failed to deep clone object: ${error instanceof Error ? error.message : String(error)} at key "${key}"`);
99
+ }
100
+ }
101
+ }
102
+ visited.delete(obj);
103
+ return cloned;
104
+ }
105
+ // Handle functions - return as-is (can't clone functions)
106
+ if (typeof obj === 'function') {
107
+ return obj;
108
+ }
109
+ // Handle symbols - return as-is (symbols are unique by design)
110
+ if (typeof obj === 'symbol') {
111
+ return obj;
112
+ }
113
+ // Fallback for other types
114
+ return obj;
115
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Framework-Agnostic Error Response Utilities
3
+ *
4
+ * Provides standardized error response data objects (not Response/NextResponse wrappers).
5
+ * These functions return plain data objects that can be wrapped by framework-specific
6
+ * response utilities (NextResponse.json, new Response, etc.).
7
+ *
8
+ * Use these functions to create error response data, then wrap in your framework's
9
+ * response type:
10
+ * - Next.js: `NextResponse.json(createErrorResponseData(...), { status: 400 })`
11
+ * - Standard: `new Response(JSON.stringify(createErrorResponseData(...)), { status: 400 })`
12
+ */
13
+ /**
14
+ * Error response data format
15
+ */
16
+ export interface ErrorResponseData {
17
+ error: string;
18
+ message: string;
19
+ code?: string;
20
+ details?: unknown;
21
+ }
22
+ /**
23
+ * Create error response data from an error object
24
+ *
25
+ * @param error - The error to convert to response data
26
+ * @param context - Additional context for error handling
27
+ * @returns Error response data object
28
+ */
29
+ export declare function createErrorResponseData(error: unknown, context?: Record<string, unknown>): ErrorResponseData;
30
+ /**
31
+ * Create validation error response data
32
+ *
33
+ * @param message - Error message
34
+ * @param field - Field that failed validation
35
+ * @param value - Invalid value
36
+ * @param details - Additional validation details
37
+ * @returns Validation error response data
38
+ */
39
+ export declare function createValidationErrorResponseData(message: string, field: string, value: unknown, details?: Record<string, unknown>): ErrorResponseData;
40
+ /**
41
+ * Create application error response data
42
+ *
43
+ * @param message - Error message
44
+ * @param code - Error code
45
+ * @param statusCode - HTTP status code (for reference, not included in data)
46
+ * @param context - Additional context
47
+ * @returns Application error response data
48
+ */
49
+ export declare function createApplicationErrorResponseData(message: string, code: string, statusCode?: number, context?: Record<string, unknown>): ErrorResponseData;
50
+ /**
51
+ * Create success response data
52
+ *
53
+ * @param data - Response data
54
+ * @returns Success response data (can be wrapped by framework)
55
+ */
56
+ export declare function createSuccessResponseData<T>(data: T): T;
57
+ //# sourceMappingURL=error-responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-responses.d.ts","sourceRoot":"","sources":["../../src/utils/error-responses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,iBAAiB,CA8BnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,iBAAiB,CAWnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,iBAAiB,CAQnB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAEvD"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Framework-Agnostic Error Response Utilities
3
+ *
4
+ * Provides standardized error response data objects (not Response/NextResponse wrappers).
5
+ * These functions return plain data objects that can be wrapped by framework-specific
6
+ * response utilities (NextResponse.json, new Response, etc.).
7
+ *
8
+ * Use these functions to create error response data, then wrap in your framework's
9
+ * response type:
10
+ * - Next.js: `NextResponse.json(createErrorResponseData(...), { status: 400 })`
11
+ * - Standard: `new Response(JSON.stringify(createErrorResponseData(...)), { status: 400 })`
12
+ */
13
+ import { ApplicationError, ValidationError } from './errors.js';
14
+ /**
15
+ * Create error response data from an error object
16
+ *
17
+ * @param error - The error to convert to response data
18
+ * @param context - Additional context for error handling
19
+ * @returns Error response data object
20
+ */
21
+ export function createErrorResponseData(error, context) {
22
+ if (error instanceof ApplicationError) {
23
+ return {
24
+ error: error.code || 'INTERNAL_ERROR',
25
+ message: error.message,
26
+ code: error.code,
27
+ ...(error.context && { details: error.context }),
28
+ ...(context && { details: { ...error.context, ...context } }),
29
+ };
30
+ }
31
+ if (error instanceof ValidationError) {
32
+ return {
33
+ error: 'VALIDATION_ERROR',
34
+ message: error.message,
35
+ code: 'VALIDATION_ERROR',
36
+ ...(error.context && { details: error.context }),
37
+ ...(context && { details: { ...error.context, ...context } }),
38
+ };
39
+ }
40
+ // Unknown error
41
+ const errorMessage = error instanceof Error ? error.message : String(error);
42
+ return {
43
+ error: 'INTERNAL_ERROR',
44
+ message: errorMessage,
45
+ code: 'INTERNAL_ERROR',
46
+ ...(context && { details: context }),
47
+ };
48
+ }
49
+ /**
50
+ * Create validation error response data
51
+ *
52
+ * @param message - Error message
53
+ * @param field - Field that failed validation
54
+ * @param value - Invalid value
55
+ * @param details - Additional validation details
56
+ * @returns Validation error response data
57
+ */
58
+ export function createValidationErrorResponseData(message, field, value, details) {
59
+ return {
60
+ error: 'VALIDATION_ERROR',
61
+ message,
62
+ code: 'VALIDATION_ERROR',
63
+ details: {
64
+ field,
65
+ value,
66
+ ...details,
67
+ },
68
+ };
69
+ }
70
+ /**
71
+ * Create application error response data
72
+ *
73
+ * @param message - Error message
74
+ * @param code - Error code
75
+ * @param statusCode - HTTP status code (for reference, not included in data)
76
+ * @param context - Additional context
77
+ * @returns Application error response data
78
+ */
79
+ export function createApplicationErrorResponseData(message, code, statusCode, context) {
80
+ return {
81
+ error: code || 'INTERNAL_ERROR',
82
+ message,
83
+ code,
84
+ ...(context && { details: context }),
85
+ ...(statusCode !== undefined && { statusCode }), // Include for reference if needed
86
+ };
87
+ }
88
+ /**
89
+ * Create success response data
90
+ *
91
+ * @param data - Response data
92
+ * @returns Success response data (can be wrapped by framework)
93
+ */
94
+ export function createSuccessResponseData(data) {
95
+ return data;
96
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Error Handling Utilities
3
+ *
4
+ * Standardized error handling for RevealUI framework.
5
+ */
6
+ /**
7
+ * Application Error
8
+ * Use for business logic failures, validation failures, expected errors
9
+ */
10
+ export declare class ApplicationError extends Error {
11
+ code: string;
12
+ statusCode: number;
13
+ context?: Record<string, unknown> | undefined;
14
+ constructor(message: string, code: string, statusCode?: number, context?: Record<string, unknown> | undefined);
15
+ }
16
+ /**
17
+ * Validation Error
18
+ * Use for input validation failures, schema validation failures
19
+ */
20
+ export declare class ValidationError extends Error {
21
+ field: string;
22
+ value: unknown;
23
+ context?: Record<string, unknown> | undefined;
24
+ constructor(message: string, field: string, value: unknown, context?: Record<string, unknown> | undefined);
25
+ }
26
+ /**
27
+ * Database Error
28
+ * Use for database operation failures with Postgres error code parsing
29
+ */
30
+ export declare class DatabaseError extends Error {
31
+ code: string;
32
+ statusCode: number;
33
+ pgCode?: string | undefined;
34
+ constraint?: string | undefined;
35
+ table?: string | undefined;
36
+ column?: string | undefined;
37
+ context?: Record<string, unknown> | undefined;
38
+ constructor(message: string, code: string, statusCode?: number, pgCode?: string | undefined, constraint?: string | undefined, table?: string | undefined, column?: string | undefined, context?: Record<string, unknown> | undefined);
39
+ }
40
+ /**
41
+ * Postgres Error Codes
42
+ * Reference: https://www.postgresql.org/docs/current/errcodes-appendix.html
43
+ */
44
+ export declare const PostgresErrorCode: {
45
+ readonly UNIQUE_VIOLATION: "23505";
46
+ readonly FOREIGN_KEY_VIOLATION: "23503";
47
+ readonly NOT_NULL_VIOLATION: "23502";
48
+ readonly CHECK_VIOLATION: "23514";
49
+ readonly UNDEFINED_TABLE: "42P01";
50
+ readonly UNDEFINED_COLUMN: "42703";
51
+ readonly DUPLICATE_TABLE: "42P07";
52
+ readonly DUPLICATE_COLUMN: "42701";
53
+ readonly DEADLOCK_DETECTED: "40P01";
54
+ readonly SERIALIZATION_FAILURE: "40001";
55
+ readonly QUERY_CANCELED: "57014";
56
+ readonly ADMIN_SHUTDOWN: "57P01";
57
+ readonly DISK_FULL: "53100";
58
+ readonly OUT_OF_MEMORY: "53200";
59
+ readonly TOO_MANY_CONNECTIONS: "53300";
60
+ readonly CONNECTION_EXCEPTION: "08000";
61
+ readonly CONNECTION_FAILURE: "08006";
62
+ readonly CONNECTION_DOES_NOT_EXIST: "08003";
63
+ readonly INVALID_TRANSACTION_STATE: "25000";
64
+ readonly ACTIVE_SQL_TRANSACTION: "25001";
65
+ };
66
+ /**
67
+ * Handle and log error in API routes
68
+ *
69
+ * @param error - The error to handle
70
+ * @param context - Additional context to log
71
+ * @returns User-friendly error message
72
+ */
73
+ export declare function handleApiError(error: unknown, context?: Record<string, unknown>): {
74
+ message: string;
75
+ statusCode: number;
76
+ code?: string;
77
+ retryable?: boolean;
78
+ };
79
+ /**
80
+ * Handle database errors with Postgres error code parsing
81
+ *
82
+ * @param error - Database error
83
+ * @param operation - Operation being performed (e.g., 'insert user', 'update order')
84
+ * @param context - Additional context (e.g., { userId: '123', table: 'users' })
85
+ * @returns Never - always throws a DatabaseError
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * try {
90
+ * await db.insert(users).values({ email: 'existing@example.com' })
91
+ * } catch (error) {
92
+ * handleDatabaseError(error, 'insert user', { email: 'existing@example.com' })
93
+ * }
94
+ * ```
95
+ */
96
+ export declare function handleDatabaseError(error: unknown, operation: string, context?: Record<string, unknown>): never;
97
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAGhC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,MAAM;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHxC,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAM3C;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHxC,OAAO,EAAE,MAAM,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAM3C;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,MAAM;IAClB,MAAM,CAAC,EAAE,MAAM;IACf,UAAU,CAAC,EAAE,MAAM;IACnB,KAAK,CAAC,EAAE,MAAM;IACd,MAAM,CAAC,EAAE,MAAM;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAPxC,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,EACxB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAM3C;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAkCpB,CAAA;AAkCV;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CA+D7E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,KAAK,CA4WP"}