@revealui/core 0.2.0 → 0.3.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 (341) hide show
  1. package/README.md +137 -30
  2. package/dist/api/compression.d.ts.map +1 -1
  3. package/dist/api/payload-optimization.d.ts.map +1 -1
  4. package/dist/api/rate-limit.d.ts +30 -29
  5. package/dist/api/rate-limit.d.ts.map +1 -1
  6. package/dist/api/rate-limit.js +79 -4
  7. package/dist/api/response-cache.d.ts.map +1 -1
  8. package/dist/api/response-cache.js +1 -1
  9. package/dist/api/rest.d.ts.map +1 -1
  10. package/dist/api/rest.js +5 -4
  11. package/dist/auth/access.d.ts.map +1 -1
  12. package/dist/auth/index.d.ts.map +1 -1
  13. package/dist/cache/query-cache.d.ts +12 -10
  14. package/dist/cache/query-cache.d.ts.map +1 -1
  15. package/dist/cache/query-cache.js +38 -42
  16. package/dist/caching/app-cache.d.ts +5 -0
  17. package/dist/caching/app-cache.d.ts.map +1 -1
  18. package/dist/caching/app-cache.js +9 -1
  19. package/dist/caching/cdn-config.d.ts +2 -2
  20. package/dist/caching/cdn-config.d.ts.map +1 -1
  21. package/dist/caching/cdn-config.js +5 -15
  22. package/dist/caching/edge-cache.d.ts +1 -1
  23. package/dist/caching/edge-cache.d.ts.map +1 -1
  24. package/dist/caching/edge-cache.js +44 -11
  25. package/dist/caching/index.d.ts +6 -0
  26. package/dist/caching/index.d.ts.map +1 -0
  27. package/dist/caching/index.js +5 -0
  28. package/dist/caching/service-worker.d.ts +10 -18
  29. package/dist/caching/service-worker.d.ts.map +1 -1
  30. package/dist/caching/service-worker.js +5 -4
  31. package/dist/client/admin/RichText.d.ts +1 -1
  32. package/dist/client/admin/RichText.d.ts.map +1 -1
  33. package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
  34. package/dist/client/admin/components/AdminDashboard.js +178 -205
  35. package/dist/client/admin/components/CollectionList.d.ts.map +1 -1
  36. package/dist/client/admin/components/DocumentForm.d.ts.map +1 -1
  37. package/dist/client/admin/components/DocumentForm.js +130 -6
  38. package/dist/client/admin/components/GlobalForm.d.ts.map +1 -1
  39. package/dist/client/admin/context/ServerFunctionContext.d.ts +8 -0
  40. package/dist/client/admin/context/ServerFunctionContext.d.ts.map +1 -0
  41. package/dist/client/admin/context/ServerFunctionContext.js +15 -0
  42. package/dist/client/admin/i18n/en.d.ts.map +1 -1
  43. package/dist/client/admin/index.d.ts +1 -0
  44. package/dist/client/admin/index.d.ts.map +1 -1
  45. package/dist/client/admin/index.js +1 -0
  46. package/dist/client/admin/layout.d.ts +1 -1
  47. package/dist/client/admin/layout.d.ts.map +1 -1
  48. package/dist/client/admin/layout.js +3 -2
  49. package/dist/client/admin/page.d.ts.map +1 -1
  50. package/dist/client/admin/utils/apiClient.d.ts.map +1 -1
  51. package/dist/client/admin/utils/apiClient.js +0 -4
  52. package/dist/client/admin/utils/auth.d.ts +0 -4
  53. package/dist/client/admin/utils/auth.d.ts.map +1 -1
  54. package/dist/client/admin/utils/auth.js +0 -6
  55. package/dist/client/admin/utils/index.d.ts +0 -1
  56. package/dist/client/admin/utils/index.d.ts.map +1 -1
  57. package/dist/client/admin/utils/index.js +0 -1
  58. package/dist/client/admin/utils/serializeConfig.d.ts.map +1 -1
  59. package/dist/client/hooks.d.ts.map +1 -1
  60. package/dist/client/index.d.ts +0 -1
  61. package/dist/client/index.d.ts.map +1 -1
  62. package/dist/client/index.js +0 -2
  63. package/dist/client/richtext/RichTextEditor.d.ts.map +1 -1
  64. package/dist/client/richtext/components/ImageNodeComponent.d.ts.map +1 -1
  65. package/dist/client/richtext/components/ImageNodeComponent.js +0 -1
  66. package/dist/client/richtext/components/ImageUploadButton.d.ts +2 -0
  67. package/dist/client/richtext/components/ImageUploadButton.d.ts.map +1 -1
  68. package/dist/client/richtext/components/ImageUploadButton.js +30 -15
  69. package/dist/client/richtext/index.d.ts.map +1 -1
  70. package/dist/client/richtext/nodes/DecoratorBlockNode.d.ts.map +1 -1
  71. package/dist/client/richtext/nodes/ImageNode.d.ts.map +1 -1
  72. package/dist/client/richtext/plugins/CollaborationPlugin.d.ts.map +1 -1
  73. package/dist/client/richtext/plugins/CursorsOverlayPlugin.d.ts.map +1 -1
  74. package/dist/client/richtext/plugins/FloatingToolbarPlugin.d.ts.map +1 -1
  75. package/dist/client/richtext/plugins/ImagePlugin.d.ts.map +1 -1
  76. package/dist/client/richtext/plugins/ToolbarPlugin.d.ts.map +1 -1
  77. package/dist/client/ui/index.d.ts.map +1 -1
  78. package/dist/client/ui/index.js +1 -1
  79. package/dist/collections/CollectionOperations.d.ts +7 -7
  80. package/dist/collections/CollectionOperations.d.ts.map +1 -1
  81. package/dist/collections/CollectionOperations.js +15 -1
  82. package/dist/collections/hooks.d.ts.map +1 -1
  83. package/dist/collections/index.d.ts.map +1 -1
  84. package/dist/collections/operations/create.d.ts +2 -4
  85. package/dist/collections/operations/create.d.ts.map +1 -1
  86. package/dist/collections/operations/create.js +9 -7
  87. package/dist/collections/operations/createMany.d.ts +12 -0
  88. package/dist/collections/operations/createMany.d.ts.map +1 -0
  89. package/dist/collections/operations/createMany.js +43 -0
  90. package/dist/collections/operations/delete.d.ts +1 -1
  91. package/dist/collections/operations/delete.d.ts.map +1 -1
  92. package/dist/collections/operations/delete.js +31 -2
  93. package/dist/collections/operations/deleteMany.d.ts +11 -0
  94. package/dist/collections/operations/deleteMany.d.ts.map +1 -0
  95. package/dist/collections/operations/deleteMany.js +50 -0
  96. package/dist/collections/operations/fieldHooks.d.ts +2 -2
  97. package/dist/collections/operations/fieldHooks.d.ts.map +1 -1
  98. package/dist/collections/operations/fieldHooks.js +4 -4
  99. package/dist/collections/operations/find.d.ts +2 -4
  100. package/dist/collections/operations/find.d.ts.map +1 -1
  101. package/dist/collections/operations/find.js +115 -8
  102. package/dist/collections/operations/findById.d.ts +3 -4
  103. package/dist/collections/operations/findById.d.ts.map +1 -1
  104. package/dist/collections/operations/findById.js +53 -1
  105. package/dist/collections/operations/sqlAdapter.d.ts +23 -0
  106. package/dist/collections/operations/sqlAdapter.d.ts.map +1 -0
  107. package/dist/collections/operations/sqlAdapter.js +76 -0
  108. package/dist/collections/operations/update.d.ts +3 -5
  109. package/dist/collections/operations/update.d.ts.map +1 -1
  110. package/dist/collections/operations/update.js +103 -11
  111. package/dist/collections/operations/updateMany.d.ts +11 -0
  112. package/dist/collections/operations/updateMany.d.ts.map +1 -0
  113. package/dist/collections/operations/updateMany.js +52 -0
  114. package/dist/collections/registry.d.ts +12 -0
  115. package/dist/collections/registry.d.ts.map +1 -0
  116. package/dist/collections/registry.js +38 -0
  117. package/dist/config/index.d.ts.map +1 -1
  118. package/dist/config/runtime.d.ts.map +1 -1
  119. package/dist/config/utils.d.ts +0 -10
  120. package/dist/config/utils.d.ts.map +1 -1
  121. package/dist/config/utils.js +18 -17
  122. package/dist/database/index.d.ts +3 -0
  123. package/dist/database/index.d.ts.map +1 -1
  124. package/dist/database/index.js +1 -5
  125. package/dist/database/safe-parse.d.ts +26 -0
  126. package/dist/database/safe-parse.d.ts.map +1 -0
  127. package/dist/database/safe-parse.js +42 -0
  128. package/dist/database/ssl-config.d.ts.map +1 -1
  129. package/dist/database/type-adapter.d.ts.map +1 -1
  130. package/dist/database/universal-postgres.d.ts.map +1 -1
  131. package/dist/database/universal-postgres.js +18 -13
  132. package/dist/dataloader.d.ts.map +1 -1
  133. package/dist/dataloader.js +16 -2
  134. package/dist/error-handling/circuit-breaker.d.ts +1 -1
  135. package/dist/error-handling/circuit-breaker.d.ts.map +1 -1
  136. package/dist/error-handling/circuit-breaker.js +11 -3
  137. package/dist/error-handling/error-boundary.d.ts.map +1 -1
  138. package/dist/error-handling/error-reporter.d.ts +6 -5
  139. package/dist/error-handling/error-reporter.d.ts.map +1 -1
  140. package/dist/error-handling/error-reporter.js +26 -41
  141. package/dist/error-handling/fallback-components.d.ts.map +1 -1
  142. package/dist/error-handling/fallback-components.js +1 -1
  143. package/dist/error-handling/index.d.ts +3 -5
  144. package/dist/error-handling/index.d.ts.map +1 -1
  145. package/dist/error-handling/index.js +2 -5
  146. package/dist/error-handling/retry.d.ts.map +1 -1
  147. package/dist/error-handling/retry.js +13 -8
  148. package/dist/factories/builders.d.ts.map +1 -1
  149. package/dist/factories/index.d.ts.map +1 -1
  150. package/dist/features.d.ts +5 -5
  151. package/dist/features.d.ts.map +1 -1
  152. package/dist/features.js +6 -5
  153. package/dist/fieldTraversal.d.ts.map +1 -1
  154. package/dist/fields/config/types.d.ts.map +1 -1
  155. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  156. package/dist/fields/getFieldPaths.d.ts.map +1 -1
  157. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  158. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  159. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  160. package/dist/generated/types/cms.d.ts.map +1 -1
  161. package/dist/generated/types/cms.js +0 -1
  162. package/dist/generated/types/index.d.ts +0 -3
  163. package/dist/generated/types/index.d.ts.map +1 -1
  164. package/dist/generated/types/index.js +0 -7
  165. package/dist/generated/types/neon.d.ts.map +1 -1
  166. package/dist/generated/types/neon.js +4 -2
  167. package/dist/globals/GlobalOperations.d.ts.map +1 -1
  168. package/dist/globals/GlobalOperations.js +4 -2
  169. package/dist/globals/index.d.ts.map +1 -1
  170. package/dist/index.d.ts +4 -4
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +4 -6
  173. package/dist/instance/RevealUIInstance.d.ts.map +1 -1
  174. package/dist/instance/RevealUIInstance.js +50 -69
  175. package/dist/instance/index.d.ts.map +1 -1
  176. package/dist/instance/logger.d.ts.map +1 -1
  177. package/dist/instance/methods/create.d.ts.map +1 -1
  178. package/dist/instance/methods/create.js +4 -4
  179. package/dist/instance/methods/delete.d.ts.map +1 -1
  180. package/dist/instance/methods/delete.js +5 -5
  181. package/dist/instance/methods/find.d.ts.map +1 -1
  182. package/dist/instance/methods/find.js +0 -3
  183. package/dist/instance/methods/findById.d.ts.map +1 -1
  184. package/dist/instance/methods/findById.js +0 -3
  185. package/dist/instance/methods/hooks.d.ts.map +1 -1
  186. package/dist/instance/methods/hooks.js +3 -1
  187. package/dist/instance/methods/update.d.ts.map +1 -1
  188. package/dist/instance/methods/update.js +4 -4
  189. package/dist/jobs/index.d.ts +16 -0
  190. package/dist/jobs/index.d.ts.map +1 -0
  191. package/dist/jobs/index.js +14 -0
  192. package/dist/jobs/queue.d.ts +57 -0
  193. package/dist/jobs/queue.d.ts.map +1 -0
  194. package/dist/jobs/queue.js +134 -0
  195. package/dist/license-encryption.d.ts +21 -0
  196. package/dist/license-encryption.d.ts.map +1 -0
  197. package/dist/license-encryption.js +74 -0
  198. package/dist/license.d.ts +33 -7
  199. package/dist/license.d.ts.map +1 -1
  200. package/dist/license.js +119 -16
  201. package/dist/monitoring/alerts.d.ts.map +1 -1
  202. package/dist/monitoring/cleanup-manager.d.ts.map +1 -1
  203. package/dist/monitoring/health-monitor.d.ts.map +1 -1
  204. package/dist/monitoring/index.d.ts.map +1 -1
  205. package/dist/monitoring/process-registry.d.ts.map +1 -1
  206. package/dist/monitoring/query-monitor.d.ts.map +1 -1
  207. package/dist/monitoring/types.d.ts.map +1 -1
  208. package/dist/monitoring/zombie-detector.d.ts.map +1 -1
  209. package/dist/monitoring/zombie-detector.js +5 -0
  210. package/dist/nextjs/index.d.ts.map +1 -1
  211. package/dist/nextjs/utilities.d.ts.map +1 -1
  212. package/dist/nextjs/withRevealUI.d.ts.map +1 -1
  213. package/dist/observability/alerts.d.ts.map +1 -1
  214. package/dist/observability/alerts.js +1 -2
  215. package/dist/observability/health-check.d.ts +1 -5
  216. package/dist/observability/health-check.d.ts.map +1 -1
  217. package/dist/observability/health-check.js +37 -43
  218. package/dist/observability/index.d.ts.map +1 -1
  219. package/dist/observability/logger.d.ts.map +1 -1
  220. package/dist/observability/logger.js +1 -1
  221. package/dist/observability/metrics.d.ts.map +1 -1
  222. package/dist/observability/tracing.d.ts.map +1 -1
  223. package/dist/observability/tracing.js +0 -1
  224. package/dist/optimization/asset-optimizer.d.ts +6 -2
  225. package/dist/optimization/asset-optimizer.d.ts.map +1 -1
  226. package/dist/optimization/asset-optimizer.js +31 -7
  227. package/dist/optimization/bundle-analyzer.d.ts +1 -1
  228. package/dist/optimization/bundle-analyzer.d.ts.map +1 -1
  229. package/dist/optimization/bundle-analyzer.js +29 -5
  230. package/dist/optimization/code-splitting.d.ts +0 -23
  231. package/dist/optimization/code-splitting.d.ts.map +1 -1
  232. package/dist/optimization/code-splitting.js +0 -29
  233. package/dist/plugins/form-builder.d.ts.map +1 -1
  234. package/dist/plugins/index.d.ts.map +1 -1
  235. package/dist/plugins/nested-docs.d.ts +4 -0
  236. package/dist/plugins/nested-docs.d.ts.map +1 -1
  237. package/dist/plugins/nested-docs.js +50 -5
  238. package/dist/plugins/redirects.d.ts.map +1 -1
  239. package/dist/queries/index.d.ts.map +1 -1
  240. package/dist/queries/queryBuilder.d.ts.map +1 -1
  241. package/dist/queries/queryBuilder.js +15 -5
  242. package/dist/relationships/analyzer.d.ts.map +1 -1
  243. package/dist/relationships/analyzer.js +8 -0
  244. package/dist/relationships/index.d.ts.map +1 -1
  245. package/dist/relationships/populate-core.d.ts +57 -0
  246. package/dist/relationships/populate-core.d.ts.map +1 -0
  247. package/dist/relationships/populate-core.js +116 -0
  248. package/dist/relationships/populate-helpers.d.ts +5 -51
  249. package/dist/relationships/populate-helpers.d.ts.map +1 -1
  250. package/dist/relationships/populate-helpers.js +4 -109
  251. package/dist/relationships/population.d.ts +1 -9
  252. package/dist/relationships/population.d.ts.map +1 -1
  253. package/dist/relationships/population.js +8 -3
  254. package/dist/revealui.d.ts.map +1 -1
  255. package/dist/richtext/exports/client/rcc.d.ts.map +1 -1
  256. package/dist/richtext/exports/client/rcc.js +1 -1
  257. package/dist/richtext/exports/server/rsc.d.ts +17 -0
  258. package/dist/richtext/exports/server/rsc.d.ts.map +1 -1
  259. package/dist/richtext/exports/server/rsc.js +61 -5
  260. package/dist/richtext/index.d.ts.map +1 -1
  261. package/dist/richtext/lexical.d.ts.map +1 -1
  262. package/dist/security/audit.d.ts +1 -1
  263. package/dist/security/audit.d.ts.map +1 -1
  264. package/dist/security/audit.js +4 -2
  265. package/dist/security/auth.d.ts +29 -160
  266. package/dist/security/auth.d.ts.map +1 -1
  267. package/dist/security/auth.js +150 -367
  268. package/dist/security/authorization.d.ts +7 -31
  269. package/dist/security/authorization.d.ts.map +1 -1
  270. package/dist/security/authorization.js +72 -14
  271. package/dist/security/encryption.d.ts +56 -44
  272. package/dist/security/encryption.d.ts.map +1 -1
  273. package/dist/security/encryption.js +128 -100
  274. package/dist/security/gdpr-storage.d.ts +102 -0
  275. package/dist/security/gdpr-storage.d.ts.map +1 -0
  276. package/dist/security/gdpr-storage.js +65 -0
  277. package/dist/security/gdpr.d.ts +57 -37
  278. package/dist/security/gdpr.d.ts.map +1 -1
  279. package/dist/security/gdpr.js +155 -94
  280. package/dist/security/headers.d.ts +4 -2
  281. package/dist/security/headers.d.ts.map +1 -1
  282. package/dist/security/headers.js +35 -17
  283. package/dist/security/index.d.ts +3 -16
  284. package/dist/security/index.d.ts.map +1 -1
  285. package/dist/security/index.js +3 -16
  286. package/dist/server/index.d.ts.map +1 -1
  287. package/dist/server/renderPage.d.ts.map +1 -1
  288. package/dist/storage/index.d.ts +1 -0
  289. package/dist/storage/index.d.ts.map +1 -1
  290. package/dist/storage/index.js +2 -4
  291. package/dist/storage/vercel-blob.d.ts.map +1 -1
  292. package/dist/translations/index.d.ts.map +1 -1
  293. package/dist/types/access.d.ts.map +1 -1
  294. package/dist/types/api.d.ts.map +1 -1
  295. package/dist/types/cms.d.ts.map +1 -1
  296. package/dist/types/config.d.ts.map +1 -1
  297. package/dist/types/core.d.ts.map +1 -1
  298. package/dist/types/extensions.d.ts.map +1 -1
  299. package/dist/types/frontend.d.ts.map +1 -1
  300. package/dist/types/generated.d.ts +0 -2
  301. package/dist/types/generated.d.ts.map +1 -1
  302. package/dist/types/generated.js +0 -1
  303. package/dist/types/hooks.d.ts.map +1 -1
  304. package/dist/types/index.d.ts +1 -1
  305. package/dist/types/index.d.ts.map +1 -1
  306. package/dist/types/interfaces/app.d.ts.map +1 -1
  307. package/dist/types/jobs.d.ts.map +1 -1
  308. package/dist/types/legacy.d.ts.map +1 -1
  309. package/dist/types/plugins.d.ts.map +1 -1
  310. package/dist/types/query.d.ts.map +1 -1
  311. package/dist/types/request.d.ts.map +1 -1
  312. package/dist/types/richtext.d.ts.map +1 -1
  313. package/dist/types/runtime.d.ts +59 -1
  314. package/dist/types/runtime.d.ts.map +1 -1
  315. package/dist/types/schema.d.ts.map +1 -1
  316. package/dist/types/user.d.ts.map +1 -1
  317. package/dist/utils/access-conversion.d.ts.map +1 -1
  318. package/dist/utils/api-wrapper.d.ts.map +1 -1
  319. package/dist/utils/api-wrapper.js +1 -1
  320. package/dist/utils/block-conversion.d.ts.map +1 -1
  321. package/dist/utils/cache.d.ts.map +1 -1
  322. package/dist/utils/deep-clone.js +0 -1
  323. package/dist/utils/error-responses.d.ts.map +1 -1
  324. package/dist/utils/errors.d.ts +36 -0
  325. package/dist/utils/errors.d.ts.map +1 -1
  326. package/dist/utils/errors.js +103 -0
  327. package/dist/utils/field-conversion.d.ts +1 -1
  328. package/dist/utils/field-conversion.d.ts.map +1 -1
  329. package/dist/utils/flattenResult.d.ts.map +1 -1
  330. package/dist/utils/flattenResult.js +0 -1
  331. package/dist/utils/getBlockSelect.d.ts.map +1 -1
  332. package/dist/utils/getSelectMode.d.ts.map +1 -1
  333. package/dist/utils/isValidID.d.ts.map +1 -1
  334. package/dist/utils/json-parsing.d.ts.map +1 -1
  335. package/dist/utils/logger-client.d.ts.map +1 -1
  336. package/dist/utils/logger-server.d.ts.map +1 -1
  337. package/dist/utils/logger.d.ts.map +1 -1
  338. package/dist/utils/request-context.d.ts.map +1 -1
  339. package/dist/utils/stripUnselectedFields.d.ts.map +1 -1
  340. package/dist/utils/type-guards.d.ts.map +1 -1
  341. package/package.json +39 -16
@@ -0,0 +1,65 @@
1
+ /**
2
+ * GDPR Storage Abstraction
3
+ *
4
+ * Record-oriented storage interface for GDPR compliance data.
5
+ * Provides a clean seam for replacing the default in-memory implementation
6
+ * with a database-backed store in production.
7
+ */
8
+ /**
9
+ * In-memory implementation of `BreachStorage`.
10
+ *
11
+ * WARNING: All data is lost on process restart or serverless cold start.
12
+ * GDPR requires breach records be retained — use database-backed storage in production.
13
+ */
14
+ export class InMemoryBreachStorage {
15
+ breaches = new Map();
16
+ async setBreach(breach) {
17
+ this.breaches.set(breach.id, breach);
18
+ }
19
+ async getBreach(id) {
20
+ return this.breaches.get(id);
21
+ }
22
+ async getAllBreaches() {
23
+ return Array.from(this.breaches.values());
24
+ }
25
+ async updateBreach(id, updates) {
26
+ const existing = this.breaches.get(id);
27
+ if (existing) {
28
+ this.breaches.set(id, { ...existing, ...updates });
29
+ }
30
+ }
31
+ }
32
+ /**
33
+ * In-memory implementation of `GDPRStorage`.
34
+ *
35
+ * WARNING: All data is lost on process restart or serverless cold start.
36
+ * Use this only for development, testing, or as a reference implementation.
37
+ * Production deployments MUST supply a database-backed `GDPRStorage`.
38
+ */
39
+ export class InMemoryGDPRStorage {
40
+ consents = new Map();
41
+ deletionRequests = new Map();
42
+ // ── Consent Records ──────────────────────────────────────────────
43
+ async setConsent(userId, type, record) {
44
+ this.consents.set(`${userId}:${type}`, record);
45
+ }
46
+ async getConsent(userId, type) {
47
+ return this.consents.get(`${userId}:${type}`);
48
+ }
49
+ async getConsentsByUser(userId) {
50
+ return Array.from(this.consents.values()).filter((c) => c.userId === userId);
51
+ }
52
+ async getAllConsents() {
53
+ return Array.from(this.consents.values());
54
+ }
55
+ // ── Deletion Requests ────────────────────────────────────────────
56
+ async setDeletionRequest(request) {
57
+ this.deletionRequests.set(request.id, request);
58
+ }
59
+ async getDeletionRequest(requestId) {
60
+ return this.deletionRequests.get(requestId);
61
+ }
62
+ async getDeletionRequestsByUser(userId) {
63
+ return Array.from(this.deletionRequests.values()).filter((r) => r.userId === userId);
64
+ }
65
+ }
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Data privacy, consent management, data export, and right to be forgotten
5
5
  */
6
+ import { type BreachStorage, type GDPRStorage } from './gdpr-storage.js';
6
7
  export type ConsentType = 'necessary' | 'functional' | 'analytics' | 'marketing' | 'personalization';
7
8
  export type DataCategory = 'personal' | 'sensitive' | 'financial' | 'health' | 'behavioral' | 'location';
8
9
  export interface ConsentRecord {
@@ -51,8 +52,9 @@ export interface DataDeletionRequest {
51
52
  * Consent management system
52
53
  */
53
54
  export declare class ConsentManager {
54
- private consents;
55
+ private readonly storage;
55
56
  private consentVersion;
57
+ constructor(storage: GDPRStorage);
56
58
  /**
57
59
  * Grant consent
58
60
  */
@@ -64,11 +66,11 @@ export declare class ConsentManager {
64
66
  /**
65
67
  * Check if consent is granted
66
68
  */
67
- hasConsent(userId: string, type: ConsentType): boolean;
69
+ hasConsent(userId: string, type: ConsentType): Promise<boolean>;
68
70
  /**
69
71
  * Get all consents for user
70
72
  */
71
- getUserConsents(userId: string): ConsentRecord[];
73
+ getUserConsents(userId: string): Promise<ConsentRecord[]>;
72
74
  /**
73
75
  * Update consent version
74
76
  */
@@ -76,17 +78,17 @@ export declare class ConsentManager {
76
78
  /**
77
79
  * Check if consent needs renewal
78
80
  */
79
- needsRenewal(userId: string, type: ConsentType, maxAge: number): boolean;
81
+ needsRenewal(userId: string, type: ConsentType, maxAge: number): Promise<boolean>;
80
82
  /**
81
83
  * Get consent statistics
82
84
  */
83
- getStatistics(): {
85
+ getStatistics(): Promise<{
84
86
  total: number;
85
87
  granted: number;
86
88
  revoked: number;
87
89
  expired: number;
88
90
  byType: Record<ConsentType, number>;
89
- };
91
+ }>;
90
92
  }
91
93
  /**
92
94
  * Data export system
@@ -117,7 +119,8 @@ export declare class DataExportSystem {
117
119
  * Data deletion system (Right to be Forgotten)
118
120
  */
119
121
  export declare class DataDeletionSystem {
120
- private requests;
122
+ private readonly storage;
123
+ constructor(storage: GDPRStorage);
121
124
  /**
122
125
  * Request data deletion
123
126
  */
@@ -132,11 +135,11 @@ export declare class DataDeletionSystem {
132
135
  /**
133
136
  * Get deletion request
134
137
  */
135
- getRequest(requestId: string): DataDeletionRequest | undefined;
138
+ getRequest(requestId: string): Promise<DataDeletionRequest | undefined>;
136
139
  /**
137
140
  * Get user deletion requests
138
141
  */
139
- getUserRequests(userId: string): DataDeletionRequest[];
142
+ getUserRequests(userId: string): Promise<DataDeletionRequest[]>;
140
143
  /**
141
144
  * Check if data can be deleted
142
145
  */
@@ -153,28 +156,36 @@ export declare class DataDeletionSystem {
153
156
  /**
154
157
  * Data anonymization utilities
155
158
  */
156
- export declare class DataAnonymization {
157
- /**
158
- * Anonymize user data
159
- */
160
- static anonymizeUser(user: Record<string, unknown>): Record<string, unknown>;
161
- /**
162
- * Pseudonymize data (reversible)
163
- */
164
- static pseudonymize(value: string, key: string): string;
165
- /**
166
- * Hash value (irreversible)
167
- */
168
- static hashValue(value: string): string;
169
- /**
170
- * Anonymize dataset
171
- */
172
- static anonymizeDataset<T extends Record<string, unknown>>(data: T[], sensitiveFields: (keyof T)[]): T[];
173
- /**
174
- * K-anonymity check
175
- */
176
- static checkKAnonymity<T extends Record<string, unknown>>(data: T[], quasiIdentifiers: (keyof T)[], k: number): boolean;
177
- }
159
+ /**
160
+ * Hash value (irreversible) using SHA-256
161
+ */
162
+ declare function hashValue(value: string): string;
163
+ /**
164
+ * Anonymize user data
165
+ */
166
+ declare function anonymizeUser(user: Record<string, unknown>): Record<string, unknown>;
167
+ /**
168
+ * Pseudonymize data (one-way, key-dependent)
169
+ *
170
+ * Uses HMAC-SHA256 — cryptographically bound to the key, resistant to
171
+ * length-extension attacks and GPU brute-force (unlike plain SHA-256).
172
+ */
173
+ declare function pseudonymize(value: string, key: string): string;
174
+ /**
175
+ * Anonymize dataset
176
+ */
177
+ declare function anonymizeDataset<T extends Record<string, unknown>>(data: T[], sensitiveFields: (keyof T)[]): T[];
178
+ /**
179
+ * K-anonymity check
180
+ */
181
+ declare function checkKAnonymity<T extends Record<string, unknown>>(data: T[], quasiIdentifiers: (keyof T)[], k: number): boolean;
182
+ export declare const DataAnonymization: {
183
+ readonly anonymizeUser: typeof anonymizeUser;
184
+ readonly pseudonymize: typeof pseudonymize;
185
+ readonly hashValue: typeof hashValue;
186
+ readonly anonymizeDataset: typeof anonymizeDataset;
187
+ readonly checkKAnonymity: typeof checkKAnonymity;
188
+ };
178
189
  /**
179
190
  * Privacy policy manager
180
191
  */
@@ -262,7 +273,8 @@ export interface DataBreach {
262
273
  status: 'detected' | 'investigating' | 'notified' | 'resolved';
263
274
  }
264
275
  export declare class DataBreachManager {
265
- private breaches;
276
+ private readonly storage;
277
+ constructor(storage?: BreachStorage);
266
278
  /**
267
279
  * Report data breach
268
280
  */
@@ -282,19 +294,27 @@ export declare class DataBreachManager {
282
294
  /**
283
295
  * Get breach
284
296
  */
285
- getBreach(id: string): DataBreach | undefined;
297
+ getBreach(id: string): Promise<DataBreach | undefined>;
286
298
  /**
287
299
  * Get all breaches
288
300
  */
289
- getAllBreaches(): DataBreach[];
301
+ getAllBreaches(): Promise<DataBreach[]>;
290
302
  }
291
303
  /**
292
- * Global instances
304
+ * Factory functions for GDPR subsystems.
305
+ *
306
+ * `ConsentManager` and `DataDeletionSystem` require a `GDPRStorage` implementation.
307
+ * Use `InMemoryGDPRStorage` only in tests — production MUST use a database-backed store.
308
+ *
309
+ * `DataExportSystem`, `PrivacyPolicyManager`, `CookieConsentManager`, and
310
+ * `DataBreachManager` are stateless or client-side only, so singletons are safe.
293
311
  */
294
- export declare const consentManager: ConsentManager;
312
+ export declare function createConsentManager(storage: GDPRStorage): ConsentManager;
313
+ export declare function createDataDeletionSystem(storage: GDPRStorage): DataDeletionSystem;
295
314
  export declare const dataExportSystem: DataExportSystem;
296
- export declare const dataDeletionSystem: DataDeletionSystem;
297
315
  export declare const privacyPolicyManager: PrivacyPolicyManager;
298
316
  export declare const cookieConsentManager: CookieConsentManager;
317
+ export declare function createDataBreachManager(storage?: BreachStorage): DataBreachManager;
299
318
  export declare const dataBreachManager: DataBreachManager;
319
+ export {};
300
320
  //# sourceMappingURL=gdpr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"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"}