@revealui/core 0.0.1-pre.3 → 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 (623) 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 -697
  598. package/LICENSE_SUMMARY.md +0 -55
  599. package/NOTICE +0 -34
  600. package/dist/core/gaurds/logger/log404/index.spec.snapshot-1 +0 -8
  601. package/dist/core/gaurds/logger/log404/index.spec.snapshot-2 +0 -9
  602. package/dist/exports/RenderErrorPage.js +0 -3
  603. package/dist/exports/__internal.js +0 -3
  604. package/dist/exports/abort.js +0 -3
  605. package/dist/exports/bin-entry.js +0 -17
  606. package/dist/exports/cli.js +0 -3
  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/node/cli/index.js +0 -18
  620. package/dist/shared/RenderErrorPage.d.ts +0 -3
  621. package/dist/shared/RenderErrorPage.js +0 -3
  622. package/dist/shared/abort.js +0 -3
  623. package/dist/shared/route/routing.js +0 -3
@@ -0,0 +1,450 @@
1
+ /**
2
+ * Retry Logic for API Calls
3
+ *
4
+ * Implements exponential backoff and retry strategies
5
+ */
6
+ import { logger } from '../observability/logger.js';
7
+ const DEFAULT_CONFIG = {
8
+ maxRetries: 3,
9
+ baseDelay: 1000,
10
+ maxDelay: 30000,
11
+ exponentialBackoff: true,
12
+ jitter: true,
13
+ retryableErrors: (error) => {
14
+ // Check for explicit non-retryable status codes (4xx client errors)
15
+ if ('statusCode' in error) {
16
+ const statusCode = error.statusCode;
17
+ // Don't retry 4xx errors except 408 (timeout) and 429 (rate limit)
18
+ if (statusCode !== undefined && statusCode >= 400 && statusCode < 500) {
19
+ return statusCode === 408 || statusCode === 429;
20
+ }
21
+ }
22
+ // Retry all other errors by default (network errors, 5xx, generic errors)
23
+ return true;
24
+ },
25
+ onRetry: () => { },
26
+ };
27
+ /**
28
+ * Retry a function with exponential backoff
29
+ */
30
+ export async function retry(fn, config = {}, options = {}) {
31
+ const mergedConfig = { ...DEFAULT_CONFIG, ...config };
32
+ let lastError;
33
+ for (let attempt = 0; attempt <= mergedConfig.maxRetries; attempt++) {
34
+ try {
35
+ // Check if aborted
36
+ if (options.signal?.aborted) {
37
+ throw new Error('Request aborted');
38
+ }
39
+ return await fn();
40
+ }
41
+ catch (error) {
42
+ lastError = error instanceof Error ? error : new Error(String(error));
43
+ // Don't retry if it's the last attempt
44
+ if (attempt === mergedConfig.maxRetries) {
45
+ throw lastError;
46
+ }
47
+ // Don't retry if error is not retryable
48
+ if (!mergedConfig.retryableErrors(lastError)) {
49
+ throw lastError;
50
+ }
51
+ // Call retry callback
52
+ mergedConfig.onRetry(lastError, attempt + 1);
53
+ // Calculate delay
54
+ const delay = calculateDelay(attempt, mergedConfig.baseDelay, mergedConfig.maxDelay, mergedConfig.exponentialBackoff, mergedConfig.jitter);
55
+ // Wait before retrying
56
+ await sleep(delay, options.signal);
57
+ }
58
+ }
59
+ throw lastError;
60
+ }
61
+ /**
62
+ * Calculate retry delay with exponential backoff
63
+ */
64
+ export function calculateDelay(attempt, baseDelay, maxDelay, exponentialBackoff, jitter) {
65
+ let delay = baseDelay;
66
+ if (exponentialBackoff) {
67
+ // Exponential backoff: 2^attempt * baseDelay
68
+ delay = Math.min(baseDelay * 2 ** attempt, maxDelay);
69
+ }
70
+ if (jitter) {
71
+ // Add random jitter (±25%)
72
+ const jitterAmount = delay * 0.25;
73
+ delay = delay + (Math.random() * jitterAmount * 2 - jitterAmount);
74
+ }
75
+ return Math.floor(delay);
76
+ }
77
+ /**
78
+ * Sleep with abort support
79
+ */
80
+ export function sleep(ms, signal) {
81
+ return new Promise((resolve, reject) => {
82
+ if (signal?.aborted) {
83
+ reject(new Error('Request aborted'));
84
+ return;
85
+ }
86
+ const timeout = setTimeout(resolve, ms);
87
+ if (signal) {
88
+ signal.addEventListener('abort', () => {
89
+ clearTimeout(timeout);
90
+ reject(new Error('Request aborted'));
91
+ });
92
+ }
93
+ });
94
+ }
95
+ /**
96
+ * Retry wrapper for fetch
97
+ */
98
+ export async function fetchWithRetry(url, init, config) {
99
+ const abortController = new AbortController();
100
+ const signal = init?.signal || abortController.signal;
101
+ return retry(async () => {
102
+ const response = await fetch(url, {
103
+ ...init,
104
+ signal,
105
+ });
106
+ // Throw on error status
107
+ if (!response.ok) {
108
+ const error = new Error(`HTTP ${response.status}: ${response.statusText}`);
109
+ error.statusCode = response.status;
110
+ error.response = response;
111
+ throw error;
112
+ }
113
+ return response;
114
+ }, {
115
+ ...config,
116
+ retryableErrors: (error) => {
117
+ // Check custom retryable errors first
118
+ if (config?.retryableErrors && !config.retryableErrors(error)) {
119
+ return false;
120
+ }
121
+ // Don't retry 4xx errors (except 408, 429)
122
+ if ('statusCode' in error) {
123
+ const statusCode = error.statusCode;
124
+ if (statusCode !== undefined && statusCode >= 400 && statusCode < 500) {
125
+ return statusCode === 408 || statusCode === 429;
126
+ }
127
+ }
128
+ return true;
129
+ },
130
+ }, { signal });
131
+ }
132
+ /**
133
+ * Retry wrapper class
134
+ */
135
+ export class RetryableOperation {
136
+ fn;
137
+ config;
138
+ abortController;
139
+ attempts = 0;
140
+ lastError;
141
+ constructor(fn, config = {}) {
142
+ this.fn = fn;
143
+ this.config = { ...DEFAULT_CONFIG, ...config };
144
+ this.abortController = new AbortController();
145
+ }
146
+ /**
147
+ * Execute with retry
148
+ */
149
+ async execute() {
150
+ return retry(this.fn, this.config, { signal: this.abortController.signal });
151
+ }
152
+ /**
153
+ * Abort operation
154
+ */
155
+ abort() {
156
+ this.abortController.abort();
157
+ }
158
+ /**
159
+ * Get retry statistics
160
+ */
161
+ getStats() {
162
+ return {
163
+ attempts: this.attempts,
164
+ lastError: this.lastError,
165
+ };
166
+ }
167
+ }
168
+ /**
169
+ * Retry decorator
170
+ */
171
+ export function Retryable(config) {
172
+ return (_target, _propertyKey, descriptor) => {
173
+ const originalMethod = descriptor.value;
174
+ descriptor.value = async function (...args) {
175
+ return retry(() => originalMethod.apply(this, args), config);
176
+ };
177
+ return descriptor;
178
+ };
179
+ }
180
+ /**
181
+ * Create retry middleware for API client
182
+ */
183
+ export function createRetryMiddleware(config = {}) {
184
+ return async (_request, next) => {
185
+ return retry(next, config);
186
+ };
187
+ }
188
+ /**
189
+ * Batch retry - retry multiple operations
190
+ */
191
+ export async function retryBatch(operations, config = {}) {
192
+ return Promise.all(operations.map(async (op) => {
193
+ try {
194
+ return await retry(op, config);
195
+ }
196
+ catch (error) {
197
+ return error instanceof Error ? error : new Error(String(error));
198
+ }
199
+ }));
200
+ }
201
+ /**
202
+ * Retry with fallback
203
+ */
204
+ export async function retryWithFallback(primary, fallback, config = {}) {
205
+ try {
206
+ return await retry(primary, config);
207
+ }
208
+ catch (error) {
209
+ logger.warn('Primary operation failed, trying fallback', {
210
+ error: error instanceof Error ? error.message : String(error),
211
+ });
212
+ return fallback();
213
+ }
214
+ }
215
+ /**
216
+ * Conditional retry - only retry if condition is met
217
+ */
218
+ export async function retryIf(fn, condition, config = {}) {
219
+ return retry(fn, {
220
+ ...config,
221
+ retryableErrors: (error) => {
222
+ // Check original retryable condition first
223
+ const originalCheck = config.retryableErrors?.(error) ?? DEFAULT_CONFIG.retryableErrors(error);
224
+ if (!originalCheck)
225
+ return false;
226
+ // Then check custom condition
227
+ return condition(error, 0);
228
+ },
229
+ });
230
+ }
231
+ /**
232
+ * Retry until condition is met
233
+ */
234
+ export async function retryUntil(fn, predicate, config = {}, maxAttempts = 10) {
235
+ let attempts = 0;
236
+ while (attempts < maxAttempts) {
237
+ try {
238
+ const result = await fn();
239
+ if (predicate(result)) {
240
+ return result;
241
+ }
242
+ // Result doesn't match predicate, treat as retryable error
243
+ attempts++;
244
+ if (attempts >= maxAttempts) {
245
+ throw new Error('Max attempts reached without matching predicate');
246
+ }
247
+ const delay = calculateDelay(attempts - 1, config.baseDelay || DEFAULT_CONFIG.baseDelay, config.maxDelay || DEFAULT_CONFIG.maxDelay, config.exponentialBackoff ?? DEFAULT_CONFIG.exponentialBackoff, config.jitter ?? DEFAULT_CONFIG.jitter);
248
+ await sleep(delay);
249
+ }
250
+ catch (error) {
251
+ attempts++;
252
+ if (attempts >= maxAttempts) {
253
+ throw error;
254
+ }
255
+ const delay = calculateDelay(attempts - 1, config.baseDelay || DEFAULT_CONFIG.baseDelay, config.maxDelay || DEFAULT_CONFIG.maxDelay, config.exponentialBackoff ?? DEFAULT_CONFIG.exponentialBackoff, config.jitter ?? DEFAULT_CONFIG.jitter);
256
+ await sleep(delay);
257
+ }
258
+ }
259
+ throw new Error('Max attempts reached');
260
+ }
261
+ /**
262
+ * Exponential backoff iterator
263
+ */
264
+ export class ExponentialBackoff {
265
+ baseDelay;
266
+ maxDelay;
267
+ maxAttempts;
268
+ jitter;
269
+ constructor(baseDelay = 1000, maxDelay = 30000, maxAttempts = 10, jitter = true) {
270
+ this.baseDelay = baseDelay;
271
+ this.maxDelay = maxDelay;
272
+ this.maxAttempts = maxAttempts;
273
+ this.jitter = jitter;
274
+ }
275
+ async *[Symbol.asyncIterator]() {
276
+ for (let attempt = 0; attempt < this.maxAttempts; attempt++) {
277
+ const delay = calculateDelay(attempt, this.baseDelay, this.maxDelay, true, this.jitter);
278
+ yield delay;
279
+ await sleep(delay);
280
+ }
281
+ }
282
+ }
283
+ /**
284
+ * Retry policy builder
285
+ */
286
+ export class RetryPolicyBuilder {
287
+ config = {};
288
+ /**
289
+ * Set max retries
290
+ */
291
+ maxRetries(count) {
292
+ this.config.maxRetries = count;
293
+ return this;
294
+ }
295
+ /**
296
+ * Set base delay
297
+ */
298
+ baseDelay(ms) {
299
+ this.config.baseDelay = ms;
300
+ return this;
301
+ }
302
+ /**
303
+ * Set max delay
304
+ */
305
+ maxDelay(ms) {
306
+ this.config.maxDelay = ms;
307
+ return this;
308
+ }
309
+ /**
310
+ * Enable/disable exponential backoff
311
+ */
312
+ exponentialBackoff(enabled = true) {
313
+ this.config.exponentialBackoff = enabled;
314
+ return this;
315
+ }
316
+ /**
317
+ * Enable/disable jitter
318
+ */
319
+ jitter(enabled = true) {
320
+ this.config.jitter = enabled;
321
+ return this;
322
+ }
323
+ /**
324
+ * Set custom retryable errors function
325
+ */
326
+ retryOn(fn) {
327
+ this.config.retryableErrors = fn;
328
+ return this;
329
+ }
330
+ /**
331
+ * Set retry callback
332
+ */
333
+ onRetry(fn) {
334
+ this.config.onRetry = fn;
335
+ return this;
336
+ }
337
+ /**
338
+ * Build retry config
339
+ */
340
+ build() {
341
+ return this.config;
342
+ }
343
+ /**
344
+ * Execute function with built policy
345
+ */
346
+ async execute(fn) {
347
+ return retry(fn, this.build());
348
+ }
349
+ }
350
+ /**
351
+ * Common retry policies
352
+ */
353
+ export const RetryPolicies = {
354
+ /**
355
+ * Default policy - 3 retries with exponential backoff
356
+ */
357
+ default: () => ({
358
+ maxRetries: 3,
359
+ baseDelay: 1000,
360
+ maxDelay: 30000,
361
+ exponentialBackoff: true,
362
+ jitter: true,
363
+ }),
364
+ /**
365
+ * Aggressive policy - more retries, faster backoff
366
+ */
367
+ aggressive: () => ({
368
+ maxRetries: 5,
369
+ baseDelay: 500,
370
+ maxDelay: 10000,
371
+ exponentialBackoff: true,
372
+ jitter: true,
373
+ }),
374
+ /**
375
+ * Conservative policy - fewer retries, longer backoff
376
+ */
377
+ conservative: () => ({
378
+ maxRetries: 2,
379
+ baseDelay: 2000,
380
+ maxDelay: 60000,
381
+ exponentialBackoff: true,
382
+ jitter: true,
383
+ }),
384
+ /**
385
+ * Linear backoff policy
386
+ */
387
+ linear: () => ({
388
+ maxRetries: 3,
389
+ baseDelay: 1000,
390
+ maxDelay: 10000,
391
+ exponentialBackoff: false,
392
+ jitter: false,
393
+ }),
394
+ /**
395
+ * Immediate retry policy - no delay
396
+ */
397
+ immediate: () => ({
398
+ maxRetries: 3,
399
+ baseDelay: 0,
400
+ maxDelay: 0,
401
+ exponentialBackoff: false,
402
+ jitter: false,
403
+ }),
404
+ /**
405
+ * Network error only policy
406
+ */
407
+ networkOnly: () => ({
408
+ maxRetries: 3,
409
+ baseDelay: 1000,
410
+ maxDelay: 30000,
411
+ exponentialBackoff: true,
412
+ jitter: true,
413
+ retryableErrors: (error) => error.name === 'NetworkError',
414
+ }),
415
+ /**
416
+ * Idempotent operations policy (safe to retry)
417
+ */
418
+ idempotent: () => ({
419
+ maxRetries: 5,
420
+ baseDelay: 1000,
421
+ maxDelay: 30000,
422
+ exponentialBackoff: true,
423
+ jitter: true,
424
+ }),
425
+ };
426
+ /**
427
+ * Global retry configuration
428
+ */
429
+ class GlobalRetryConfig {
430
+ config = RetryPolicies.default();
431
+ /**
432
+ * Set global retry config
433
+ */
434
+ setConfig(config) {
435
+ this.config = { ...this.config, ...config };
436
+ }
437
+ /**
438
+ * Get global retry config
439
+ */
440
+ getConfig() {
441
+ return this.config;
442
+ }
443
+ /**
444
+ * Reset to default config
445
+ */
446
+ reset() {
447
+ this.config = RetryPolicies.default();
448
+ }
449
+ }
450
+ export const globalRetryConfig = new GlobalRetryConfig();
@@ -0,0 +1,23 @@
1
+ /**
2
+ * RevealUI CMS Errors
3
+ * @module @revealui/core/errors
4
+ */
5
+ export declare class RevealUIError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ export declare class MissingEditorProp extends RevealUIError {
9
+ constructor(fieldName?: string);
10
+ }
11
+ export declare class ValidationError extends RevealUIError {
12
+ constructor(message: string);
13
+ }
14
+ export declare class ConfigurationError extends RevealUIError {
15
+ constructor(message: string);
16
+ }
17
+ export declare class AccessDeniedError extends RevealUIError {
18
+ constructor(message?: string);
19
+ }
20
+ export declare class NotFoundError extends RevealUIError {
21
+ constructor(resource?: string);
22
+ }
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,SAAS,CAAC,EAAE,MAAM;CAI/B;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,OAAO,SAAkB;CAItC;AAED,qBAAa,aAAc,SAAQ,aAAa;gBAClC,QAAQ,CAAC,EAAE,MAAM;CAI9B"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * RevealUI CMS Errors
3
+ * @module @revealui/core/errors
4
+ */
5
+ export class RevealUIError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = 'RevealUIError';
9
+ }
10
+ }
11
+ export class MissingEditorProp extends RevealUIError {
12
+ constructor(fieldName) {
13
+ super(`Missing editor prop${fieldName ? ` for field: ${fieldName}` : ''}`);
14
+ this.name = 'MissingEditorProp';
15
+ }
16
+ }
17
+ export class ValidationError extends RevealUIError {
18
+ constructor(message) {
19
+ super(message);
20
+ this.name = 'ValidationError';
21
+ }
22
+ }
23
+ export class ConfigurationError extends RevealUIError {
24
+ constructor(message) {
25
+ super(message);
26
+ this.name = 'ConfigurationError';
27
+ }
28
+ }
29
+ export class AccessDeniedError extends RevealUIError {
30
+ constructor(message = 'Access denied') {
31
+ super(message);
32
+ this.name = 'AccessDeniedError';
33
+ }
34
+ }
35
+ export class NotFoundError extends RevealUIError {
36
+ constructor(resource) {
37
+ super(`${resource || 'Resource'} not found`);
38
+ this.name = 'NotFoundError';
39
+ }
40
+ }
@@ -0,0 +1,50 @@
1
+ import type { RevealConfig, RevealUIAccessRule, RevealUIBlock, RevealUICollectionConfig, RevealUIField, RevealUIInstance } from '../types/index.js';
2
+ /**
3
+ * Factory Functions
4
+ *
5
+ * Helper functions for creating RevealUI configuration objects.
6
+ */
7
+ /**
8
+ * Creates a RevealUI instance (wrapper around createRevealUIInstance for backward compatibility)
9
+ */
10
+ export declare function createRevealUI(config: RevealConfig): Promise<RevealUIInstance>;
11
+ /**
12
+ * Creates a collection configuration with defaults
13
+ */
14
+ export declare function createRevealUICollection(options: {
15
+ slug: string;
16
+ fields: RevealUIField[];
17
+ revealUI?: RevealUICollectionConfig['revealUI'];
18
+ access?: RevealUICollectionConfig['access'];
19
+ }): RevealUICollectionConfig;
20
+ /**
21
+ * Creates a field configuration with defaults
22
+ */
23
+ export declare function createRevealUIField(options: {
24
+ name: string;
25
+ type: RevealUIField['type'];
26
+ label?: string;
27
+ required?: boolean;
28
+ revealUI?: RevealUIField['revealUI'];
29
+ admin?: RevealUIField['admin'];
30
+ validate?: RevealUIField['validate'];
31
+ }): RevealUIField;
32
+ /**
33
+ * Creates a block configuration with defaults
34
+ */
35
+ export declare function createRevealUIBlock(options: {
36
+ slug: string;
37
+ fields: RevealUIField[];
38
+ revealUI?: RevealUIBlock['revealUI'];
39
+ labels?: RevealUIBlock['labels'];
40
+ }): RevealUIBlock;
41
+ /**
42
+ * Creates an access rule configuration
43
+ */
44
+ export declare function createRevealUIAccessRule(options: {
45
+ tenant?: string;
46
+ user?: string;
47
+ permissions?: RevealUIAccessRule['permissions'];
48
+ condition?: RevealUIAccessRule['condition'];
49
+ }): RevealUIAccessRule;
50
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/factories/builders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAE1B;;;;GAIG;AAEH;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEpF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,wBAAwB,CAY3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACpC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;CACrC,GAAG,aAAa,CAiBhB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACjC,GAAG,aAAa,CAahB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAC/C,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;CAC5C,GAAG,kBAAkB,CAOrB"}
@@ -0,0 +1,77 @@
1
+ import { createRevealUIInstance } from '../instance/RevealUIInstance.js';
2
+ /**
3
+ * Factory Functions
4
+ *
5
+ * Helper functions for creating RevealUI configuration objects.
6
+ */
7
+ /**
8
+ * Creates a RevealUI instance (wrapper around createRevealUIInstance for backward compatibility)
9
+ */
10
+ export async function createRevealUI(config) {
11
+ return createRevealUIInstance(config);
12
+ }
13
+ /**
14
+ * Creates a collection configuration with defaults
15
+ */
16
+ export function createRevealUICollection(options) {
17
+ return {
18
+ slug: options.slug,
19
+ fields: options.fields,
20
+ revealUI: {
21
+ tenantScoped: false,
22
+ auditLog: false,
23
+ permissions: ['read', 'update'],
24
+ ...(options.revealUI || {}),
25
+ },
26
+ access: options.access,
27
+ };
28
+ }
29
+ /**
30
+ * Creates a field configuration with defaults
31
+ */
32
+ export function createRevealUIField(options) {
33
+ return {
34
+ name: options.name,
35
+ type: options.type,
36
+ label: options.label,
37
+ required: options.required,
38
+ revealUI: {
39
+ searchable: false,
40
+ permissions: ['read', 'update'],
41
+ tenantScoped: false,
42
+ auditLog: false,
43
+ validation: [],
44
+ ...options.revealUI,
45
+ },
46
+ admin: options.admin,
47
+ validate: options.validate,
48
+ };
49
+ }
50
+ /**
51
+ * Creates a block configuration with defaults
52
+ */
53
+ export function createRevealUIBlock(options) {
54
+ return {
55
+ slug: options.slug,
56
+ fields: options.fields,
57
+ revealUI: {
58
+ category: 'content',
59
+ icon: 'block',
60
+ permissions: ['read', 'update'],
61
+ tenantScoped: false,
62
+ ...options.revealUI,
63
+ },
64
+ labels: options.labels,
65
+ };
66
+ }
67
+ /**
68
+ * Creates an access rule configuration
69
+ */
70
+ export function createRevealUIAccessRule(options) {
71
+ return {
72
+ tenant: options.tenant,
73
+ user: options.user,
74
+ permissions: options.permissions,
75
+ condition: options.condition,
76
+ };
77
+ }
@@ -0,0 +1,2 @@
1
+ export { createRevealUI, createRevealUIAccessRule, createRevealUIBlock, createRevealUICollection, createRevealUIField, } from './builders.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ export { createRevealUI, createRevealUIAccessRule, createRevealUIBlock, createRevealUICollection, createRevealUIField, } from './builders.js';