@revealui/core 0.3.0 → 0.5.2

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 (155) hide show
  1. package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
  2. package/dist/client/admin/components/AdminDashboard.js +20 -3
  3. package/dist/client/richtext/index.d.ts.map +1 -1
  4. package/dist/client/richtext/plugins/FloatingToolbarPlugin.js +1 -3
  5. package/dist/collections/operations/create.d.ts +2 -1
  6. package/dist/collections/operations/create.d.ts.map +1 -1
  7. package/dist/collections/operations/create.js +28 -1
  8. package/dist/database/type-adapter.d.ts.map +1 -1
  9. package/dist/features.d.ts +13 -3
  10. package/dist/features.d.ts.map +1 -1
  11. package/dist/features.js +17 -0
  12. package/dist/globals/GlobalOperations.d.ts.map +1 -1
  13. package/dist/globals/GlobalOperations.js +12 -2
  14. package/dist/index.d.ts +11 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +11 -1
  17. package/dist/license.d.ts +6 -0
  18. package/dist/license.d.ts.map +1 -1
  19. package/dist/license.js +14 -1
  20. package/dist/monitoring/alerts.d.ts +4 -4
  21. package/dist/monitoring/alerts.d.ts.map +1 -1
  22. package/dist/plugins/nested-docs.d.ts.map +1 -1
  23. package/dist/plugins/nested-docs.js +0 -1
  24. package/dist/queries/queryBuilder.d.ts.map +1 -1
  25. package/dist/queries/queryBuilder.js +4 -3
  26. package/dist/richtext/index.d.ts.map +1 -1
  27. package/dist/storage/vercel-blob.d.ts.map +1 -1
  28. package/dist/storage/vercel-blob.js +3 -0
  29. package/dist/types/api.d.ts.map +1 -1
  30. package/dist/types/config.d.ts.map +1 -1
  31. package/dist/types/core.d.ts +1 -1
  32. package/dist/types/core.d.ts.map +1 -1
  33. package/dist/types/extensions.d.ts.map +1 -1
  34. package/dist/types/frontend.d.ts.map +1 -1
  35. package/dist/types/legacy.d.ts.map +1 -1
  36. package/dist/types/query.d.ts.map +1 -1
  37. package/dist/types/runtime.d.ts +1 -0
  38. package/dist/types/runtime.d.ts.map +1 -1
  39. package/dist/utils/error-responses.d.ts.map +1 -1
  40. package/dist/utils/error-responses.js +2 -3
  41. package/package.json +24 -24
  42. package/dist/caching/app-cache.d.ts +0 -242
  43. package/dist/caching/app-cache.d.ts.map +0 -1
  44. package/dist/caching/app-cache.js +0 -438
  45. package/dist/caching/cdn-config.d.ts +0 -155
  46. package/dist/caching/cdn-config.d.ts.map +0 -1
  47. package/dist/caching/cdn-config.js +0 -415
  48. package/dist/caching/edge-cache.d.ts +0 -177
  49. package/dist/caching/edge-cache.d.ts.map +0 -1
  50. package/dist/caching/edge-cache.js +0 -414
  51. package/dist/caching/service-worker.d.ts +0 -157
  52. package/dist/caching/service-worker.d.ts.map +0 -1
  53. package/dist/caching/service-worker.js +0 -438
  54. package/dist/client/admin/utils/auth.d.ts +0 -23
  55. package/dist/client/admin/utils/auth.d.ts.map +0 -1
  56. package/dist/client/admin/utils/auth.js +0 -52
  57. package/dist/client/http/client.d.ts +0 -15
  58. package/dist/client/http/client.d.ts.map +0 -1
  59. package/dist/client/http/client.js +0 -49
  60. package/dist/client/http/fetchBanner.d.ts +0 -18
  61. package/dist/client/http/fetchBanner.d.ts.map +0 -1
  62. package/dist/client/http/fetchBanner.js +0 -44
  63. package/dist/client/http/fetchCard.d.ts +0 -18
  64. package/dist/client/http/fetchCard.d.ts.map +0 -1
  65. package/dist/client/http/fetchCard.js +0 -46
  66. package/dist/client/http/fetchEvents.d.ts +0 -18
  67. package/dist/client/http/fetchEvents.d.ts.map +0 -1
  68. package/dist/client/http/fetchEvents.js +0 -44
  69. package/dist/client/http/fetchHero.d.ts +0 -17
  70. package/dist/client/http/fetchHero.d.ts.map +0 -1
  71. package/dist/client/http/fetchHero.js +0 -55
  72. package/dist/client/http/fetchMainInfos.d.ts +0 -17
  73. package/dist/client/http/fetchMainInfos.d.ts.map +0 -1
  74. package/dist/client/http/fetchMainInfos.js +0 -44
  75. package/dist/client/http/fetchVideos.d.ts +0 -13
  76. package/dist/client/http/fetchVideos.d.ts.map +0 -1
  77. package/dist/client/http/fetchVideos.js +0 -36
  78. package/dist/client/http/index.d.ts +0 -19
  79. package/dist/client/http/index.d.ts.map +0 -1
  80. package/dist/client/http/index.js +0 -11
  81. package/dist/error-handling/circuit-breaker.d.ts +0 -262
  82. package/dist/error-handling/circuit-breaker.d.ts.map +0 -1
  83. package/dist/error-handling/circuit-breaker.js +0 -550
  84. package/dist/error-handling/retry.d.ts +0 -194
  85. package/dist/error-handling/retry.d.ts.map +0 -1
  86. package/dist/error-handling/retry.js +0 -455
  87. package/dist/errors/index.d.ts +0 -23
  88. package/dist/errors/index.d.ts.map +0 -1
  89. package/dist/errors/index.js +0 -40
  90. package/dist/generated/agents/index.d.ts +0 -8
  91. package/dist/generated/agents/index.d.ts.map +0 -1
  92. package/dist/generated/agents/index.js +0 -7
  93. package/dist/generated/components/index.d.ts +0 -8
  94. package/dist/generated/components/index.d.ts.map +0 -1
  95. package/dist/generated/components/index.js +0 -7
  96. package/dist/generated/functions/index.d.ts +0 -8
  97. package/dist/generated/functions/index.d.ts.map +0 -1
  98. package/dist/generated/functions/index.js +0 -7
  99. package/dist/generated/hooks/index.d.ts +0 -8
  100. package/dist/generated/hooks/index.d.ts.map +0 -1
  101. package/dist/generated/hooks/index.js +0 -7
  102. package/dist/generated/plans/index.d.ts +0 -8
  103. package/dist/generated/plans/index.d.ts.map +0 -1
  104. package/dist/generated/plans/index.js +0 -7
  105. package/dist/generated/prompts/index.d.ts +0 -8
  106. package/dist/generated/prompts/index.d.ts.map +0 -1
  107. package/dist/generated/prompts/index.js +0 -7
  108. package/dist/generated/tools/index.d.ts +0 -8
  109. package/dist/generated/tools/index.d.ts.map +0 -1
  110. package/dist/generated/tools/index.js +0 -7
  111. package/dist/generated/types/supabase.d.ts +0 -193
  112. package/dist/generated/types/supabase.d.ts.map +0 -1
  113. package/dist/generated/types/supabase.js +0 -5
  114. package/dist/optimization/asset-optimizer.d.ts +0 -206
  115. package/dist/optimization/asset-optimizer.d.ts.map +0 -1
  116. package/dist/optimization/asset-optimizer.js +0 -336
  117. package/dist/optimization/build-optimizer.d.ts +0 -202
  118. package/dist/optimization/build-optimizer.d.ts.map +0 -1
  119. package/dist/optimization/build-optimizer.js +0 -271
  120. package/dist/optimization/bundle-analyzer.d.ts +0 -98
  121. package/dist/optimization/bundle-analyzer.d.ts.map +0 -1
  122. package/dist/optimization/bundle-analyzer.js +0 -346
  123. package/dist/optimization/code-splitting.d.ts +0 -121
  124. package/dist/optimization/code-splitting.d.ts.map +0 -1
  125. package/dist/optimization/code-splitting.js +0 -261
  126. package/dist/plugin/index.d.ts +0 -12
  127. package/dist/plugin/index.d.ts.map +0 -1
  128. package/dist/plugin/index.js +0 -4
  129. package/dist/security/audit.d.ts +0 -188
  130. package/dist/security/audit.d.ts.map +0 -1
  131. package/dist/security/audit.js +0 -433
  132. package/dist/security/auth.d.ts +0 -110
  133. package/dist/security/auth.d.ts.map +0 -1
  134. package/dist/security/auth.js +0 -257
  135. package/dist/security/authorization.d.ts +0 -211
  136. package/dist/security/authorization.d.ts.map +0 -1
  137. package/dist/security/authorization.js +0 -492
  138. package/dist/security/encryption.d.ts +0 -226
  139. package/dist/security/encryption.d.ts.map +0 -1
  140. package/dist/security/encryption.js +0 -534
  141. package/dist/security/gdpr-storage.d.ts +0 -102
  142. package/dist/security/gdpr-storage.d.ts.map +0 -1
  143. package/dist/security/gdpr-storage.js +0 -65
  144. package/dist/security/gdpr.d.ts +0 -320
  145. package/dist/security/gdpr.d.ts.map +0 -1
  146. package/dist/security/gdpr.js +0 -531
  147. package/dist/security/headers.d.ts +0 -184
  148. package/dist/security/headers.d.ts.map +0 -1
  149. package/dist/security/headers.js +0 -420
  150. package/dist/utils/jwt-validation.d.ts +0 -14
  151. package/dist/utils/jwt-validation.d.ts.map +0 -1
  152. package/dist/utils/jwt-validation.js +0 -36
  153. package/dist/utils/request-headers.d.ts +0 -15
  154. package/dist/utils/request-headers.d.ts.map +0 -1
  155. package/dist/utils/request-headers.js +0 -31
@@ -1,65 +0,0 @@
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
- }
@@ -1,320 +0,0 @@
1
- /**
2
- * GDPR Compliance Utilities
3
- *
4
- * Data privacy, consent management, data export, and right to be forgotten
5
- */
6
- import { type BreachStorage, type GDPRStorage } from './gdpr-storage.js';
7
- export type ConsentType = 'necessary' | 'functional' | 'analytics' | 'marketing' | 'personalization';
8
- export type DataCategory = 'personal' | 'sensitive' | 'financial' | 'health' | 'behavioral' | 'location';
9
- export interface ConsentRecord {
10
- id: string;
11
- userId: string;
12
- type: ConsentType;
13
- granted: boolean;
14
- timestamp: string;
15
- expiresAt?: string;
16
- source: 'explicit' | 'implicit' | 'legitimate_interest';
17
- version: string;
18
- metadata?: Record<string, unknown>;
19
- }
20
- export interface DataProcessingPurpose {
21
- id: string;
22
- name: string;
23
- description: string;
24
- legalBasis: 'consent' | 'contract' | 'legal_obligation' | 'vital_interest' | 'public_interest' | 'legitimate_interest';
25
- dataCategories: DataCategory[];
26
- retentionPeriod: number;
27
- consentRequired: boolean;
28
- }
29
- export interface PersonalDataExport {
30
- userId: string;
31
- exportedAt: string;
32
- data: {
33
- profile: Record<string, unknown>;
34
- activities: Record<string, unknown>[];
35
- consents: ConsentRecord[];
36
- dataProcessing: DataProcessingPurpose[];
37
- };
38
- format: 'json' | 'csv' | 'pdf';
39
- }
40
- export interface DataDeletionRequest {
41
- id: string;
42
- userId: string;
43
- requestedAt: string;
44
- processedAt?: string;
45
- status: 'pending' | 'processing' | 'completed' | 'failed';
46
- dataCategories: DataCategory[];
47
- reason?: string;
48
- retainedData?: string[];
49
- deletedData?: string[];
50
- }
51
- /**
52
- * Consent management system
53
- */
54
- export declare class ConsentManager {
55
- private readonly storage;
56
- private consentVersion;
57
- constructor(storage: GDPRStorage);
58
- /**
59
- * Grant consent
60
- */
61
- grantConsent(userId: string, type: ConsentType, source?: ConsentRecord['source'], expiresIn?: number): Promise<ConsentRecord>;
62
- /**
63
- * Revoke consent
64
- */
65
- revokeConsent(userId: string, type: ConsentType): Promise<void>;
66
- /**
67
- * Check if consent is granted
68
- */
69
- hasConsent(userId: string, type: ConsentType): Promise<boolean>;
70
- /**
71
- * Get all consents for user
72
- */
73
- getUserConsents(userId: string): Promise<ConsentRecord[]>;
74
- /**
75
- * Update consent version
76
- */
77
- setConsentVersion(version: string): void;
78
- /**
79
- * Check if consent needs renewal
80
- */
81
- needsRenewal(userId: string, type: ConsentType, maxAge: number): Promise<boolean>;
82
- /**
83
- * Get consent statistics
84
- */
85
- getStatistics(): Promise<{
86
- total: number;
87
- granted: number;
88
- revoked: number;
89
- expired: number;
90
- byType: Record<ConsentType, number>;
91
- }>;
92
- }
93
- /**
94
- * Data export system
95
- */
96
- export declare class DataExportSystem {
97
- /**
98
- * Export user data
99
- */
100
- exportUserData(userId: string, getUserData: (userId: string) => Promise<{
101
- profile: Record<string, unknown>;
102
- activities: Record<string, unknown>[];
103
- consents: ConsentRecord[];
104
- }>, format?: PersonalDataExport['format']): Promise<PersonalDataExport>;
105
- /**
106
- * Format export as JSON
107
- */
108
- formatAsJSON(exportData: PersonalDataExport): string;
109
- /**
110
- * Format export as CSV
111
- */
112
- formatAsCSV(exportData: PersonalDataExport): string;
113
- /**
114
- * Create download link
115
- */
116
- createDownloadLink(content: string, _filename: string, mimeType: string): string;
117
- }
118
- /**
119
- * Data deletion system (Right to be Forgotten)
120
- */
121
- export declare class DataDeletionSystem {
122
- private readonly storage;
123
- constructor(storage: GDPRStorage);
124
- /**
125
- * Request data deletion
126
- */
127
- requestDeletion(userId: string, dataCategories: DataCategory[], reason?: string): Promise<DataDeletionRequest>;
128
- /**
129
- * Process deletion request
130
- */
131
- processDeletion(requestId: string, deleteData: (userId: string, categories: DataCategory[]) => Promise<{
132
- deleted: string[];
133
- retained: string[];
134
- }>): Promise<void>;
135
- /**
136
- * Get deletion request
137
- */
138
- getRequest(requestId: string): Promise<DataDeletionRequest | undefined>;
139
- /**
140
- * Get user deletion requests
141
- */
142
- getUserRequests(userId: string): Promise<DataDeletionRequest[]>;
143
- /**
144
- * Check if data can be deleted
145
- */
146
- canDelete(_dataCategory: DataCategory, legalBasis: DataProcessingPurpose['legalBasis']): boolean;
147
- /**
148
- * Calculate retention period
149
- */
150
- calculateRetentionEnd(createdAt: Date, retentionPeriod: number): Date;
151
- /**
152
- * Check if data should be deleted (retention period expired)
153
- */
154
- shouldDelete(createdAt: Date, retentionPeriod: number): boolean;
155
- }
156
- /**
157
- * Data anonymization utilities
158
- */
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
- };
189
- /**
190
- * Privacy policy manager
191
- */
192
- export declare class PrivacyPolicyManager {
193
- private policies;
194
- private currentVersion;
195
- /**
196
- * Add policy version
197
- */
198
- addPolicy(version: string, content: string, effectiveDate: Date): void;
199
- /**
200
- * Get current policy
201
- */
202
- getCurrentPolicy(): {
203
- version: string;
204
- content: string;
205
- effectiveDate: Date;
206
- } | undefined;
207
- /**
208
- * Get policy by version
209
- */
210
- getPolicy(version: string): {
211
- version: string;
212
- content: string;
213
- effectiveDate: Date;
214
- } | undefined;
215
- /**
216
- * Check if user accepted current policy
217
- */
218
- hasAcceptedCurrent(userAcceptedVersion: string): boolean;
219
- /**
220
- * Get all versions
221
- */
222
- getAllVersions(): string[];
223
- }
224
- /**
225
- * Cookie consent banner
226
- */
227
- export interface CookieConsentConfig {
228
- necessary: boolean;
229
- functional: boolean;
230
- analytics: boolean;
231
- marketing: boolean;
232
- }
233
- export declare class CookieConsentManager {
234
- private config;
235
- /**
236
- * Set consent configuration
237
- */
238
- setConsent(config: Partial<CookieConsentConfig>): void;
239
- /**
240
- * Get consent configuration
241
- */
242
- getConsent(): CookieConsentConfig;
243
- /**
244
- * Check if specific consent is granted
245
- */
246
- hasConsent(type: keyof CookieConsentConfig): boolean;
247
- /**
248
- * Save to storage
249
- */
250
- private saveToStorage;
251
- /**
252
- * Load from storage
253
- */
254
- loadFromStorage(): void;
255
- /**
256
- * Clear consent
257
- */
258
- clearConsent(): void;
259
- }
260
- /**
261
- * Data breach notification system
262
- */
263
- export interface DataBreach {
264
- id: string;
265
- detectedAt: string;
266
- reportedAt?: string;
267
- type: 'unauthorized_access' | 'data_loss' | 'data_leak' | 'system_compromise';
268
- severity: 'low' | 'medium' | 'high' | 'critical';
269
- affectedUsers: string[];
270
- dataCategories: DataCategory[];
271
- description: string;
272
- mitigation?: string;
273
- status: 'detected' | 'investigating' | 'notified' | 'resolved';
274
- }
275
- export declare class DataBreachManager {
276
- private readonly storage;
277
- constructor(storage?: BreachStorage);
278
- /**
279
- * Report data breach
280
- */
281
- reportBreach(breach: Omit<DataBreach, 'id' | 'detectedAt' | 'status'>): Promise<DataBreach>;
282
- /**
283
- * Notify authorities (required within 72 hours under GDPR)
284
- */
285
- notifyAuthorities(breach: DataBreach): Promise<void>;
286
- /**
287
- * Notify affected users
288
- */
289
- notifyAffectedUsers(breachId: string, notifyFn: (userId: string, breach: DataBreach) => Promise<void>): Promise<void>;
290
- /**
291
- * Check if breach notification is required
292
- */
293
- requiresNotification(breach: DataBreach): boolean;
294
- /**
295
- * Get breach
296
- */
297
- getBreach(id: string): Promise<DataBreach | undefined>;
298
- /**
299
- * Get all breaches
300
- */
301
- getAllBreaches(): Promise<DataBreach[]>;
302
- }
303
- /**
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.
311
- */
312
- export declare function createConsentManager(storage: GDPRStorage): ConsentManager;
313
- export declare function createDataDeletionSystem(storage: GDPRStorage): DataDeletionSystem;
314
- export declare const dataExportSystem: DataExportSystem;
315
- export declare const privacyPolicyManager: PrivacyPolicyManager;
316
- export declare const cookieConsentManager: CookieConsentManager;
317
- export declare function createDataBreachManager(storage?: BreachStorage): DataBreachManager;
318
- export declare const dataBreachManager: DataBreachManager;
319
- export {};
320
- //# sourceMappingURL=gdpr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"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"}