@revealui/core 0.2.1 → 0.5.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 (395) hide show
  1. package/dist/api/compression.d.ts.map +1 -1
  2. package/dist/api/payload-optimization.d.ts.map +1 -1
  3. package/dist/api/rate-limit.d.ts +29 -28
  4. package/dist/api/rate-limit.d.ts.map +1 -1
  5. package/dist/api/rate-limit.js +63 -3
  6. package/dist/api/response-cache.d.ts.map +1 -1
  7. package/dist/api/response-cache.js +1 -1
  8. package/dist/api/rest.d.ts.map +1 -1
  9. package/dist/api/rest.js +3 -2
  10. package/dist/auth/access.d.ts.map +1 -1
  11. package/dist/auth/index.d.ts.map +1 -1
  12. package/dist/cache/query-cache.d.ts +12 -10
  13. package/dist/cache/query-cache.d.ts.map +1 -1
  14. package/dist/cache/query-cache.js +38 -42
  15. package/dist/caching/index.d.ts +6 -0
  16. package/dist/caching/index.d.ts.map +1 -0
  17. package/dist/caching/index.js +5 -0
  18. package/dist/client/admin/RichText.d.ts +1 -1
  19. package/dist/client/admin/RichText.d.ts.map +1 -1
  20. package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
  21. package/dist/client/admin/components/AdminDashboard.js +195 -205
  22. package/dist/client/admin/components/CollectionList.d.ts.map +1 -1
  23. package/dist/client/admin/components/DocumentForm.d.ts.map +1 -1
  24. package/dist/client/admin/components/DocumentForm.js +130 -6
  25. package/dist/client/admin/components/GlobalForm.d.ts.map +1 -1
  26. package/dist/client/admin/context/ServerFunctionContext.d.ts +8 -0
  27. package/dist/client/admin/context/ServerFunctionContext.d.ts.map +1 -0
  28. package/dist/client/admin/context/ServerFunctionContext.js +15 -0
  29. package/dist/client/admin/i18n/en.d.ts.map +1 -1
  30. package/dist/client/admin/index.d.ts +1 -0
  31. package/dist/client/admin/index.d.ts.map +1 -1
  32. package/dist/client/admin/index.js +1 -0
  33. package/dist/client/admin/layout.d.ts +1 -1
  34. package/dist/client/admin/layout.d.ts.map +1 -1
  35. package/dist/client/admin/layout.js +3 -2
  36. package/dist/client/admin/page.d.ts.map +1 -1
  37. package/dist/client/admin/utils/apiClient.d.ts.map +1 -1
  38. package/dist/client/admin/utils/apiClient.js +0 -4
  39. package/dist/client/admin/utils/index.d.ts +0 -1
  40. package/dist/client/admin/utils/index.d.ts.map +1 -1
  41. package/dist/client/admin/utils/index.js +0 -1
  42. package/dist/client/admin/utils/serializeConfig.d.ts.map +1 -1
  43. package/dist/client/hooks.d.ts.map +1 -1
  44. package/dist/client/index.d.ts.map +1 -1
  45. package/dist/client/richtext/RichTextEditor.d.ts.map +1 -1
  46. package/dist/client/richtext/components/ImageNodeComponent.d.ts.map +1 -1
  47. package/dist/client/richtext/components/ImageNodeComponent.js +0 -1
  48. package/dist/client/richtext/components/ImageUploadButton.d.ts +2 -0
  49. package/dist/client/richtext/components/ImageUploadButton.d.ts.map +1 -1
  50. package/dist/client/richtext/components/ImageUploadButton.js +30 -15
  51. package/dist/client/richtext/index.d.ts.map +1 -1
  52. package/dist/client/richtext/nodes/DecoratorBlockNode.d.ts.map +1 -1
  53. package/dist/client/richtext/nodes/ImageNode.d.ts.map +1 -1
  54. package/dist/client/richtext/plugins/CollaborationPlugin.d.ts.map +1 -1
  55. package/dist/client/richtext/plugins/CursorsOverlayPlugin.d.ts.map +1 -1
  56. package/dist/client/richtext/plugins/FloatingToolbarPlugin.d.ts.map +1 -1
  57. package/dist/client/richtext/plugins/FloatingToolbarPlugin.js +1 -3
  58. package/dist/client/richtext/plugins/ImagePlugin.d.ts.map +1 -1
  59. package/dist/client/richtext/plugins/ToolbarPlugin.d.ts.map +1 -1
  60. package/dist/client/ui/index.d.ts.map +1 -1
  61. package/dist/client/ui/index.js +1 -1
  62. package/dist/collections/CollectionOperations.d.ts +7 -7
  63. package/dist/collections/CollectionOperations.d.ts.map +1 -1
  64. package/dist/collections/CollectionOperations.js +15 -1
  65. package/dist/collections/hooks.d.ts.map +1 -1
  66. package/dist/collections/index.d.ts.map +1 -1
  67. package/dist/collections/operations/create.d.ts +4 -5
  68. package/dist/collections/operations/create.d.ts.map +1 -1
  69. package/dist/collections/operations/create.js +35 -6
  70. package/dist/collections/operations/createMany.d.ts +12 -0
  71. package/dist/collections/operations/createMany.d.ts.map +1 -0
  72. package/dist/collections/operations/createMany.js +43 -0
  73. package/dist/collections/operations/delete.d.ts +1 -1
  74. package/dist/collections/operations/delete.d.ts.map +1 -1
  75. package/dist/collections/operations/delete.js +31 -2
  76. package/dist/collections/operations/deleteMany.d.ts +11 -0
  77. package/dist/collections/operations/deleteMany.d.ts.map +1 -0
  78. package/dist/collections/operations/deleteMany.js +50 -0
  79. package/dist/collections/operations/fieldHooks.d.ts +2 -2
  80. package/dist/collections/operations/fieldHooks.d.ts.map +1 -1
  81. package/dist/collections/operations/fieldHooks.js +4 -4
  82. package/dist/collections/operations/find.d.ts +2 -4
  83. package/dist/collections/operations/find.d.ts.map +1 -1
  84. package/dist/collections/operations/find.js +115 -8
  85. package/dist/collections/operations/findById.d.ts +3 -4
  86. package/dist/collections/operations/findById.d.ts.map +1 -1
  87. package/dist/collections/operations/findById.js +53 -1
  88. package/dist/collections/operations/sqlAdapter.d.ts +23 -0
  89. package/dist/collections/operations/sqlAdapter.d.ts.map +1 -0
  90. package/dist/collections/operations/sqlAdapter.js +76 -0
  91. package/dist/collections/operations/update.d.ts +3 -5
  92. package/dist/collections/operations/update.d.ts.map +1 -1
  93. package/dist/collections/operations/update.js +103 -11
  94. package/dist/collections/operations/updateMany.d.ts +11 -0
  95. package/dist/collections/operations/updateMany.d.ts.map +1 -0
  96. package/dist/collections/operations/updateMany.js +52 -0
  97. package/dist/collections/registry.d.ts +12 -0
  98. package/dist/collections/registry.d.ts.map +1 -0
  99. package/dist/collections/registry.js +38 -0
  100. package/dist/config/index.d.ts.map +1 -1
  101. package/dist/config/runtime.d.ts.map +1 -1
  102. package/dist/config/utils.d.ts +0 -10
  103. package/dist/config/utils.d.ts.map +1 -1
  104. package/dist/config/utils.js +0 -13
  105. package/dist/database/index.d.ts +3 -0
  106. package/dist/database/index.d.ts.map +1 -1
  107. package/dist/database/index.js +1 -5
  108. package/dist/database/safe-parse.d.ts.map +1 -1
  109. package/dist/database/ssl-config.d.ts.map +1 -1
  110. package/dist/database/type-adapter.d.ts.map +1 -1
  111. package/dist/database/universal-postgres.d.ts.map +1 -1
  112. package/dist/database/universal-postgres.js +6 -1
  113. package/dist/dataloader.d.ts.map +1 -1
  114. package/dist/error-handling/error-boundary.d.ts.map +1 -1
  115. package/dist/error-handling/error-reporter.d.ts +1 -1
  116. package/dist/error-handling/error-reporter.d.ts.map +1 -1
  117. package/dist/error-handling/error-reporter.js +19 -5
  118. package/dist/error-handling/fallback-components.d.ts.map +1 -1
  119. package/dist/error-handling/fallback-components.js +1 -1
  120. package/dist/error-handling/index.d.ts +2 -4
  121. package/dist/error-handling/index.d.ts.map +1 -1
  122. package/dist/error-handling/index.js +1 -4
  123. package/dist/factories/builders.d.ts.map +1 -1
  124. package/dist/factories/index.d.ts.map +1 -1
  125. package/dist/features.d.ts +7 -7
  126. package/dist/features.d.ts.map +1 -1
  127. package/dist/features.js +2 -2
  128. package/dist/fieldTraversal.d.ts.map +1 -1
  129. package/dist/fields/config/types.d.ts.map +1 -1
  130. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  131. package/dist/fields/getFieldPaths.d.ts.map +1 -1
  132. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  133. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  134. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  135. package/dist/generated/types/cms.d.ts.map +1 -1
  136. package/dist/generated/types/cms.js +0 -1
  137. package/dist/generated/types/neon.d.ts.map +1 -1
  138. package/dist/generated/types/neon.js +4 -2
  139. package/dist/globals/GlobalOperations.d.ts.map +1 -1
  140. package/dist/globals/GlobalOperations.js +16 -4
  141. package/dist/globals/index.d.ts.map +1 -1
  142. package/dist/index.d.ts +15 -4
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +15 -5
  145. package/dist/instance/RevealUIInstance.d.ts.map +1 -1
  146. package/dist/instance/RevealUIInstance.js +6 -19
  147. package/dist/instance/index.d.ts.map +1 -1
  148. package/dist/instance/logger.d.ts.map +1 -1
  149. package/dist/instance/methods/create.d.ts.map +1 -1
  150. package/dist/instance/methods/create.js +0 -3
  151. package/dist/instance/methods/delete.d.ts.map +1 -1
  152. package/dist/instance/methods/delete.js +1 -4
  153. package/dist/instance/methods/find.d.ts.map +1 -1
  154. package/dist/instance/methods/find.js +0 -3
  155. package/dist/instance/methods/findById.d.ts.map +1 -1
  156. package/dist/instance/methods/findById.js +0 -3
  157. package/dist/instance/methods/hooks.d.ts.map +1 -1
  158. package/dist/instance/methods/update.d.ts.map +1 -1
  159. package/dist/instance/methods/update.js +0 -3
  160. package/dist/jobs/index.d.ts +16 -0
  161. package/dist/jobs/index.d.ts.map +1 -0
  162. package/dist/jobs/index.js +14 -0
  163. package/dist/jobs/queue.d.ts +57 -0
  164. package/dist/jobs/queue.d.ts.map +1 -0
  165. package/dist/jobs/queue.js +134 -0
  166. package/dist/license-encryption.d.ts +21 -0
  167. package/dist/license-encryption.d.ts.map +1 -0
  168. package/dist/license-encryption.js +74 -0
  169. package/dist/license.d.ts +26 -3
  170. package/dist/license.d.ts.map +1 -1
  171. package/dist/license.js +87 -7
  172. package/dist/monitoring/alerts.d.ts +4 -4
  173. package/dist/monitoring/alerts.d.ts.map +1 -1
  174. package/dist/monitoring/cleanup-manager.d.ts.map +1 -1
  175. package/dist/monitoring/health-monitor.d.ts.map +1 -1
  176. package/dist/monitoring/index.d.ts.map +1 -1
  177. package/dist/monitoring/process-registry.d.ts.map +1 -1
  178. package/dist/monitoring/query-monitor.d.ts.map +1 -1
  179. package/dist/monitoring/types.d.ts.map +1 -1
  180. package/dist/monitoring/zombie-detector.d.ts.map +1 -1
  181. package/dist/monitoring/zombie-detector.js +5 -0
  182. package/dist/nextjs/index.d.ts.map +1 -1
  183. package/dist/nextjs/utilities.d.ts.map +1 -1
  184. package/dist/nextjs/withRevealUI.d.ts.map +1 -1
  185. package/dist/observability/alerts.d.ts.map +1 -1
  186. package/dist/observability/alerts.js +1 -2
  187. package/dist/observability/health-check.d.ts +0 -4
  188. package/dist/observability/health-check.d.ts.map +1 -1
  189. package/dist/observability/health-check.js +0 -36
  190. package/dist/observability/index.d.ts.map +1 -1
  191. package/dist/observability/logger.d.ts.map +1 -1
  192. package/dist/observability/logger.js +1 -1
  193. package/dist/observability/metrics.d.ts.map +1 -1
  194. package/dist/observability/tracing.d.ts.map +1 -1
  195. package/dist/observability/tracing.js +0 -1
  196. package/dist/plugins/form-builder.d.ts.map +1 -1
  197. package/dist/plugins/index.d.ts.map +1 -1
  198. package/dist/plugins/nested-docs.d.ts +4 -0
  199. package/dist/plugins/nested-docs.d.ts.map +1 -1
  200. package/dist/plugins/nested-docs.js +50 -6
  201. package/dist/plugins/redirects.d.ts.map +1 -1
  202. package/dist/queries/index.d.ts.map +1 -1
  203. package/dist/queries/queryBuilder.d.ts.map +1 -1
  204. package/dist/queries/queryBuilder.js +13 -5
  205. package/dist/relationships/analyzer.d.ts.map +1 -1
  206. package/dist/relationships/analyzer.js +8 -0
  207. package/dist/relationships/index.d.ts.map +1 -1
  208. package/dist/relationships/populate-core.d.ts +57 -0
  209. package/dist/relationships/populate-core.d.ts.map +1 -0
  210. package/dist/relationships/populate-core.js +116 -0
  211. package/dist/relationships/populate-helpers.d.ts +5 -51
  212. package/dist/relationships/populate-helpers.d.ts.map +1 -1
  213. package/dist/relationships/populate-helpers.js +4 -109
  214. package/dist/relationships/population.d.ts +1 -9
  215. package/dist/relationships/population.d.ts.map +1 -1
  216. package/dist/relationships/population.js +8 -3
  217. package/dist/revealui.d.ts.map +1 -1
  218. package/dist/richtext/exports/client/rcc.d.ts.map +1 -1
  219. package/dist/richtext/exports/client/rcc.js +1 -1
  220. package/dist/richtext/exports/server/rsc.d.ts +17 -0
  221. package/dist/richtext/exports/server/rsc.d.ts.map +1 -1
  222. package/dist/richtext/exports/server/rsc.js +61 -5
  223. package/dist/richtext/index.d.ts.map +1 -1
  224. package/dist/richtext/lexical.d.ts.map +1 -1
  225. package/dist/security/index.d.ts +3 -16
  226. package/dist/security/index.d.ts.map +1 -1
  227. package/dist/security/index.js +3 -16
  228. package/dist/server/index.d.ts.map +1 -1
  229. package/dist/server/renderPage.d.ts.map +1 -1
  230. package/dist/storage/index.d.ts +1 -0
  231. package/dist/storage/index.d.ts.map +1 -1
  232. package/dist/storage/index.js +2 -4
  233. package/dist/storage/vercel-blob.d.ts.map +1 -1
  234. package/dist/storage/vercel-blob.js +3 -0
  235. package/dist/translations/index.d.ts.map +1 -1
  236. package/dist/types/access.d.ts.map +1 -1
  237. package/dist/types/api.d.ts.map +1 -1
  238. package/dist/types/cms.d.ts.map +1 -1
  239. package/dist/types/config.d.ts.map +1 -1
  240. package/dist/types/core.d.ts +1 -1
  241. package/dist/types/core.d.ts.map +1 -1
  242. package/dist/types/extensions.d.ts.map +1 -1
  243. package/dist/types/frontend.d.ts.map +1 -1
  244. package/dist/types/generated.d.ts.map +1 -1
  245. package/dist/types/hooks.d.ts.map +1 -1
  246. package/dist/types/index.d.ts +1 -1
  247. package/dist/types/index.d.ts.map +1 -1
  248. package/dist/types/interfaces/app.d.ts.map +1 -1
  249. package/dist/types/jobs.d.ts.map +1 -1
  250. package/dist/types/legacy.d.ts.map +1 -1
  251. package/dist/types/plugins.d.ts.map +1 -1
  252. package/dist/types/query.d.ts.map +1 -1
  253. package/dist/types/request.d.ts.map +1 -1
  254. package/dist/types/richtext.d.ts.map +1 -1
  255. package/dist/types/runtime.d.ts +60 -1
  256. package/dist/types/runtime.d.ts.map +1 -1
  257. package/dist/types/schema.d.ts.map +1 -1
  258. package/dist/types/user.d.ts.map +1 -1
  259. package/dist/utils/access-conversion.d.ts.map +1 -1
  260. package/dist/utils/api-wrapper.d.ts.map +1 -1
  261. package/dist/utils/api-wrapper.js +1 -1
  262. package/dist/utils/block-conversion.d.ts.map +1 -1
  263. package/dist/utils/cache.d.ts.map +1 -1
  264. package/dist/utils/deep-clone.js +0 -1
  265. package/dist/utils/error-responses.d.ts.map +1 -1
  266. package/dist/utils/error-responses.js +2 -3
  267. package/dist/utils/errors.d.ts +36 -0
  268. package/dist/utils/errors.d.ts.map +1 -1
  269. package/dist/utils/errors.js +103 -0
  270. package/dist/utils/field-conversion.d.ts +1 -1
  271. package/dist/utils/field-conversion.d.ts.map +1 -1
  272. package/dist/utils/flattenResult.d.ts.map +1 -1
  273. package/dist/utils/flattenResult.js +0 -1
  274. package/dist/utils/getBlockSelect.d.ts.map +1 -1
  275. package/dist/utils/getSelectMode.d.ts.map +1 -1
  276. package/dist/utils/isValidID.d.ts.map +1 -1
  277. package/dist/utils/json-parsing.d.ts.map +1 -1
  278. package/dist/utils/logger-client.d.ts.map +1 -1
  279. package/dist/utils/logger-server.d.ts.map +1 -1
  280. package/dist/utils/logger.d.ts.map +1 -1
  281. package/dist/utils/request-context.d.ts.map +1 -1
  282. package/dist/utils/stripUnselectedFields.d.ts.map +1 -1
  283. package/dist/utils/type-guards.d.ts.map +1 -1
  284. package/package.json +58 -26
  285. package/dist/caching/app-cache.d.ts +0 -237
  286. package/dist/caching/app-cache.d.ts.map +0 -1
  287. package/dist/caching/app-cache.js +0 -430
  288. package/dist/caching/cdn-config.d.ts +0 -155
  289. package/dist/caching/cdn-config.d.ts.map +0 -1
  290. package/dist/caching/cdn-config.js +0 -411
  291. package/dist/caching/edge-cache.d.ts +0 -177
  292. package/dist/caching/edge-cache.d.ts.map +0 -1
  293. package/dist/caching/edge-cache.js +0 -385
  294. package/dist/caching/service-worker.d.ts +0 -154
  295. package/dist/caching/service-worker.d.ts.map +0 -1
  296. package/dist/caching/service-worker.js +0 -437
  297. package/dist/client/admin/utils/auth.d.ts +0 -23
  298. package/dist/client/admin/utils/auth.d.ts.map +0 -1
  299. package/dist/client/admin/utils/auth.js +0 -52
  300. package/dist/client/http/client.d.ts +0 -15
  301. package/dist/client/http/client.d.ts.map +0 -1
  302. package/dist/client/http/client.js +0 -49
  303. package/dist/client/http/fetchBanner.d.ts +0 -18
  304. package/dist/client/http/fetchBanner.d.ts.map +0 -1
  305. package/dist/client/http/fetchBanner.js +0 -44
  306. package/dist/client/http/fetchCard.d.ts +0 -18
  307. package/dist/client/http/fetchCard.d.ts.map +0 -1
  308. package/dist/client/http/fetchCard.js +0 -46
  309. package/dist/client/http/fetchEvents.d.ts +0 -18
  310. package/dist/client/http/fetchEvents.d.ts.map +0 -1
  311. package/dist/client/http/fetchEvents.js +0 -44
  312. package/dist/client/http/fetchHero.d.ts +0 -17
  313. package/dist/client/http/fetchHero.d.ts.map +0 -1
  314. package/dist/client/http/fetchHero.js +0 -55
  315. package/dist/client/http/fetchMainInfos.d.ts +0 -17
  316. package/dist/client/http/fetchMainInfos.d.ts.map +0 -1
  317. package/dist/client/http/fetchMainInfos.js +0 -44
  318. package/dist/client/http/fetchVideos.d.ts +0 -13
  319. package/dist/client/http/fetchVideos.d.ts.map +0 -1
  320. package/dist/client/http/fetchVideos.js +0 -36
  321. package/dist/client/http/index.d.ts +0 -19
  322. package/dist/client/http/index.d.ts.map +0 -1
  323. package/dist/client/http/index.js +0 -11
  324. package/dist/error-handling/circuit-breaker.d.ts +0 -262
  325. package/dist/error-handling/circuit-breaker.d.ts.map +0 -1
  326. package/dist/error-handling/circuit-breaker.js +0 -542
  327. package/dist/error-handling/retry.d.ts +0 -194
  328. package/dist/error-handling/retry.d.ts.map +0 -1
  329. package/dist/error-handling/retry.js +0 -450
  330. package/dist/errors/index.d.ts +0 -23
  331. package/dist/errors/index.d.ts.map +0 -1
  332. package/dist/errors/index.js +0 -40
  333. package/dist/generated/agents/index.d.ts +0 -8
  334. package/dist/generated/agents/index.d.ts.map +0 -1
  335. package/dist/generated/agents/index.js +0 -7
  336. package/dist/generated/components/index.d.ts +0 -8
  337. package/dist/generated/components/index.d.ts.map +0 -1
  338. package/dist/generated/components/index.js +0 -7
  339. package/dist/generated/functions/index.d.ts +0 -8
  340. package/dist/generated/functions/index.d.ts.map +0 -1
  341. package/dist/generated/functions/index.js +0 -7
  342. package/dist/generated/hooks/index.d.ts +0 -8
  343. package/dist/generated/hooks/index.d.ts.map +0 -1
  344. package/dist/generated/hooks/index.js +0 -7
  345. package/dist/generated/plans/index.d.ts +0 -8
  346. package/dist/generated/plans/index.d.ts.map +0 -1
  347. package/dist/generated/plans/index.js +0 -7
  348. package/dist/generated/prompts/index.d.ts +0 -8
  349. package/dist/generated/prompts/index.d.ts.map +0 -1
  350. package/dist/generated/prompts/index.js +0 -7
  351. package/dist/generated/tools/index.d.ts +0 -8
  352. package/dist/generated/tools/index.d.ts.map +0 -1
  353. package/dist/generated/tools/index.js +0 -7
  354. package/dist/generated/types/supabase.d.ts +0 -193
  355. package/dist/generated/types/supabase.d.ts.map +0 -1
  356. package/dist/generated/types/supabase.js +0 -5
  357. package/dist/optimization/asset-optimizer.d.ts +0 -202
  358. package/dist/optimization/asset-optimizer.d.ts.map +0 -1
  359. package/dist/optimization/asset-optimizer.js +0 -312
  360. package/dist/optimization/build-optimizer.d.ts +0 -202
  361. package/dist/optimization/build-optimizer.d.ts.map +0 -1
  362. package/dist/optimization/build-optimizer.js +0 -271
  363. package/dist/optimization/bundle-analyzer.d.ts +0 -98
  364. package/dist/optimization/bundle-analyzer.d.ts.map +0 -1
  365. package/dist/optimization/bundle-analyzer.js +0 -322
  366. package/dist/optimization/code-splitting.d.ts +0 -131
  367. package/dist/optimization/code-splitting.d.ts.map +0 -1
  368. package/dist/optimization/code-splitting.js +0 -277
  369. package/dist/plugin/index.d.ts +0 -12
  370. package/dist/plugin/index.d.ts.map +0 -1
  371. package/dist/plugin/index.js +0 -4
  372. package/dist/security/audit.d.ts +0 -188
  373. package/dist/security/audit.d.ts.map +0 -1
  374. package/dist/security/audit.js +0 -431
  375. package/dist/security/auth.d.ts +0 -241
  376. package/dist/security/auth.d.ts.map +0 -1
  377. package/dist/security/auth.js +0 -476
  378. package/dist/security/authorization.d.ts +0 -235
  379. package/dist/security/authorization.d.ts.map +0 -1
  380. package/dist/security/authorization.js +0 -434
  381. package/dist/security/encryption.d.ts +0 -214
  382. package/dist/security/encryption.d.ts.map +0 -1
  383. package/dist/security/encryption.js +0 -517
  384. package/dist/security/gdpr.d.ts +0 -300
  385. package/dist/security/gdpr.d.ts.map +0 -1
  386. package/dist/security/gdpr.js +0 -465
  387. package/dist/security/headers.d.ts +0 -182
  388. package/dist/security/headers.d.ts.map +0 -1
  389. package/dist/security/headers.js +0 -402
  390. package/dist/utils/jwt-validation.d.ts +0 -14
  391. package/dist/utils/jwt-validation.d.ts.map +0 -1
  392. package/dist/utils/jwt-validation.js +0 -36
  393. package/dist/utils/request-headers.d.ts +0 -15
  394. package/dist/utils/request-headers.d.ts.map +0 -1
  395. package/dist/utils/request-headers.js +0 -31
@@ -1,194 +0,0 @@
1
- /**
2
- * Retry Logic for API Calls
3
- *
4
- * Implements exponential backoff and retry strategies
5
- */
6
- export interface HttpError extends Error {
7
- statusCode?: number;
8
- response?: Response;
9
- }
10
- export interface RetryConfig {
11
- maxRetries?: number;
12
- baseDelay?: number;
13
- maxDelay?: number;
14
- exponentialBackoff?: boolean;
15
- jitter?: boolean;
16
- retryableErrors?: (error: Error) => boolean;
17
- onRetry?: (error: Error, attempt: number) => void;
18
- }
19
- export interface RetryOptions {
20
- signal?: AbortSignal;
21
- }
22
- /**
23
- * Retry a function with exponential backoff
24
- */
25
- export declare function retry<T>(fn: () => Promise<T>, config?: RetryConfig, options?: RetryOptions): Promise<T>;
26
- /**
27
- * Calculate retry delay with exponential backoff
28
- */
29
- export declare function calculateDelay(attempt: number, baseDelay: number, maxDelay: number, exponentialBackoff: boolean, jitter: boolean): number;
30
- /**
31
- * Sleep with abort support
32
- */
33
- export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
34
- /**
35
- * Retry wrapper for fetch
36
- */
37
- export declare function fetchWithRetry(url: string, init?: RequestInit, config?: RetryConfig): Promise<Response>;
38
- /**
39
- * Retry wrapper class
40
- */
41
- export declare class RetryableOperation<T> {
42
- private fn;
43
- private config;
44
- private abortController;
45
- private attempts;
46
- private lastError?;
47
- constructor(fn: () => Promise<T>, config?: RetryConfig);
48
- /**
49
- * Execute with retry
50
- */
51
- execute(): Promise<T>;
52
- /**
53
- * Abort operation
54
- */
55
- abort(): void;
56
- /**
57
- * Get retry statistics
58
- */
59
- getStats(): {
60
- attempts: number;
61
- lastError?: Error;
62
- };
63
- }
64
- /**
65
- * Retry decorator
66
- */
67
- export declare function Retryable(config?: RetryConfig): (_target: object, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
68
- /**
69
- * Create retry middleware for API client
70
- */
71
- export declare function createRetryMiddleware<TRequest = unknown, TResponse = unknown>(config?: RetryConfig): (_request: TRequest, next: () => Promise<TResponse>) => Promise<TResponse>;
72
- /**
73
- * Batch retry - retry multiple operations
74
- */
75
- export declare function retryBatch<T>(operations: Array<() => Promise<T>>, config?: RetryConfig): Promise<Array<T | Error>>;
76
- /**
77
- * Retry with fallback
78
- */
79
- export declare function retryWithFallback<T>(primary: () => Promise<T>, fallback: () => Promise<T>, config?: RetryConfig): Promise<T>;
80
- /**
81
- * Conditional retry - only retry if condition is met
82
- */
83
- export declare function retryIf<T>(fn: () => Promise<T>, condition: (error: Error, attempt: number) => boolean, config?: RetryConfig): Promise<T>;
84
- /**
85
- * Retry until condition is met
86
- */
87
- export declare function retryUntil<T>(fn: () => Promise<T>, predicate: (result: T) => boolean, config?: RetryConfig, maxAttempts?: number): Promise<T>;
88
- /**
89
- * Exponential backoff iterator
90
- */
91
- export declare class ExponentialBackoff implements AsyncIterable<number> {
92
- private baseDelay;
93
- private maxDelay;
94
- private maxAttempts;
95
- private jitter;
96
- constructor(baseDelay?: number, maxDelay?: number, maxAttempts?: number, jitter?: boolean);
97
- [Symbol.asyncIterator](): AsyncIterator<number>;
98
- }
99
- /**
100
- * Retry policy builder
101
- */
102
- export declare class RetryPolicyBuilder {
103
- private config;
104
- /**
105
- * Set max retries
106
- */
107
- maxRetries(count: number): this;
108
- /**
109
- * Set base delay
110
- */
111
- baseDelay(ms: number): this;
112
- /**
113
- * Set max delay
114
- */
115
- maxDelay(ms: number): this;
116
- /**
117
- * Enable/disable exponential backoff
118
- */
119
- exponentialBackoff(enabled?: boolean): this;
120
- /**
121
- * Enable/disable jitter
122
- */
123
- jitter(enabled?: boolean): this;
124
- /**
125
- * Set custom retryable errors function
126
- */
127
- retryOn(fn: (error: Error) => boolean): this;
128
- /**
129
- * Set retry callback
130
- */
131
- onRetry(fn: (error: Error, attempt: number) => void): this;
132
- /**
133
- * Build retry config
134
- */
135
- build(): RetryConfig;
136
- /**
137
- * Execute function with built policy
138
- */
139
- execute<T>(fn: () => Promise<T>): Promise<T>;
140
- }
141
- /**
142
- * Common retry policies
143
- */
144
- export declare const RetryPolicies: {
145
- /**
146
- * Default policy - 3 retries with exponential backoff
147
- */
148
- default: () => RetryConfig;
149
- /**
150
- * Aggressive policy - more retries, faster backoff
151
- */
152
- aggressive: () => RetryConfig;
153
- /**
154
- * Conservative policy - fewer retries, longer backoff
155
- */
156
- conservative: () => RetryConfig;
157
- /**
158
- * Linear backoff policy
159
- */
160
- linear: () => RetryConfig;
161
- /**
162
- * Immediate retry policy - no delay
163
- */
164
- immediate: () => RetryConfig;
165
- /**
166
- * Network error only policy
167
- */
168
- networkOnly: () => RetryConfig;
169
- /**
170
- * Idempotent operations policy (safe to retry)
171
- */
172
- idempotent: () => RetryConfig;
173
- };
174
- /**
175
- * Global retry configuration
176
- */
177
- declare class GlobalRetryConfig {
178
- private config;
179
- /**
180
- * Set global retry config
181
- */
182
- setConfig(config: RetryConfig): void;
183
- /**
184
- * Get global retry config
185
- */
186
- getConfig(): RetryConfig;
187
- /**
188
- * Reset to default config
189
- */
190
- reset(): void;
191
- }
192
- export declare const globalRetryConfig: GlobalRetryConfig;
193
- export {};
194
- //# sourceMappingURL=retry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/error-handling/retry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAuBD;;GAEG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,GAAE,WAAgB,EACxB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,CA2CZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,OAAO,EAC3B,MAAM,EAAE,OAAO,GACd,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,QAAQ,CAAC,CA0CnB;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAO7B,OAAO,CAAC,EAAE;IANZ,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAO;gBAGf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC5B,MAAM,GAAE,WAAgB;IAM1B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;IAI3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,QAAQ,IAAI;QACV,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,KAAK,CAAA;KAClB;CAMF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,IACpC,SAAS,MAAM,EAAE,cAAc,MAAM,EAAE,YAAY,kBAAkB,wBAS9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAG,OAAO,EAAE,SAAS,GAAG,OAAO,EAC3E,MAAM,GAAE,WAAgB,IAEV,UAAU,QAAQ,EAAE,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,KAAG,OAAO,CAAC,SAAS,CAAC,CAGtF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,UAAU,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACnC,MAAM,GAAE,WAAgB,GACvB,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAU3B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,MAAM,GAAE,WAAgB,GACvB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,EACrD,MAAM,GAAE,WAAgB,GACvB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EACjC,MAAM,GAAE,WAAgB,EACxB,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,CAAC,CAAC,CA+CZ;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,aAAa,CAAC,MAAM,CAAC;IAE5D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;gBAHN,SAAS,GAAE,MAAa,EACxB,QAAQ,GAAE,MAAc,EACxB,WAAW,GAAE,MAAW,EACxB,MAAM,GAAE,OAAc;IAGzB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC;CASvD;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAqC;IAEnD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,kBAAkB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKjD;;OAEG;IACH,MAAM,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKrC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI;IAK5C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK1D;;OAEG;IACH,KAAK,IAAI,WAAW;IAIpB;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGnD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;mBACU,WAAW;IAQxB;;OAEG;sBACa,WAAW;IAQ3B;;OAEG;wBACe,WAAW;IAQ7B;;OAEG;kBACS,WAAW;IAQvB;;OAEG;qBACY,WAAW;IAQ1B;;OAEG;uBACc,WAAW;IAS5B;;OAEG;sBACa,WAAW;CAO5B,CAAA;AAED;;GAEG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,MAAM,CAAuC;IAErD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAA"}
@@ -1,450 +0,0 @@
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();
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}