@revealui/core 0.3.0 → 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 (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 +7 -3
  10. package/dist/features.d.ts.map +1 -1
  11. package/dist/features.js +2 -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 +23 -23
  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,261 +0,0 @@
1
- /**
2
- * Code Splitting Utilities
3
- *
4
- * Helpers for dynamic imports, lazy loading, and code splitting
5
- */
6
- import { lazy } from 'react';
7
- import { logger } from '../observability/logger.js';
8
- export function lazyWithRetry(importFn, options = {}) {
9
- const { maxRetries = 3, retryDelay = 1000 } = options;
10
- return lazy(() => {
11
- return new Promise((resolve, reject) => {
12
- let retries = 0;
13
- const attemptImport = () => {
14
- importFn()
15
- .then(resolve)
16
- .catch((error) => {
17
- if (retries < maxRetries) {
18
- retries++;
19
- logger.warn('Import failed, retrying', { attempt: retries, maxRetries });
20
- setTimeout(attemptImport, retryDelay);
21
- }
22
- else {
23
- logger.error('Import failed after max retries', error instanceof Error ? error : new Error(String(error)), { maxRetries });
24
- reject(error);
25
- }
26
- });
27
- };
28
- attemptImport();
29
- });
30
- });
31
- }
32
- /**
33
- * Preload component
34
- */
35
- export function preloadComponent(importFn) {
36
- return importFn();
37
- }
38
- /**
39
- * Lazy load with prefetch on hover
40
- */
41
- export function lazyWithPrefetch(importFn) {
42
- let importPromise = null;
43
- const prefetch = () => {
44
- if (!importPromise) {
45
- importPromise = importFn();
46
- }
47
- return importPromise;
48
- };
49
- const Component = lazy(() => {
50
- if (!importPromise) {
51
- importPromise = importFn();
52
- }
53
- return importPromise;
54
- });
55
- return { Component, prefetch };
56
- }
57
- export function createRoutes(configs) {
58
- return configs.map((config) => ({
59
- path: config.path,
60
- Component: lazy(config.component),
61
- preload: config.preload ? () => config.component() : undefined,
62
- }));
63
- }
64
- /**
65
- * Chunk naming helper
66
- */
67
- export function createChunkName(name) {
68
- return name.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase();
69
- }
70
- /**
71
- * Prefetch multiple components
72
- */
73
- export function prefetchComponents(importFns) {
74
- return Promise.all(importFns.map((fn) => fn()));
75
- }
76
- /**
77
- * Idle callback prefetch
78
- */
79
- export function prefetchOnIdle(importFn) {
80
- if ('requestIdleCallback' in window) {
81
- window.requestIdleCallback(() => importFn());
82
- }
83
- else {
84
- // Fallback for browsers without requestIdleCallback
85
- setTimeout(() => importFn(), 1);
86
- }
87
- }
88
- /**
89
- * Intersection observer prefetch
90
- */
91
- export function prefetchOnVisible(element, importFn, options) {
92
- if (!element || typeof IntersectionObserver === 'undefined') {
93
- return () => { };
94
- }
95
- const observer = new IntersectionObserver((entries) => {
96
- for (const entry of entries) {
97
- if (entry.isIntersecting) {
98
- importFn();
99
- observer.disconnect();
100
- }
101
- }
102
- }, options);
103
- observer.observe(element);
104
- return () => observer.disconnect();
105
- }
106
- /**
107
- * Media query based loading
108
- */
109
- export function loadOnMediaQuery(query, importFn) {
110
- if (typeof window === 'undefined') {
111
- return () => { };
112
- }
113
- const mediaQuery = window.matchMedia(query);
114
- const handleChange = (e) => {
115
- if (e.matches) {
116
- importFn();
117
- }
118
- };
119
- // Check initial state
120
- if (mediaQuery.matches) {
121
- importFn();
122
- }
123
- // Listen for changes
124
- mediaQuery.addEventListener('change', handleChange);
125
- return () => mediaQuery.removeEventListener('change', handleChange);
126
- }
127
- /**
128
- * Load on interaction (click, hover, focus)
129
- */
130
- export function loadOnInteraction(element, importFn, events = ['mouseenter', 'focus']) {
131
- if (!element) {
132
- return () => { };
133
- }
134
- let loaded = false;
135
- const handleInteraction = () => {
136
- if (!loaded) {
137
- loaded = true;
138
- importFn();
139
- cleanup();
140
- }
141
- };
142
- const cleanup = () => {
143
- for (const event of events) {
144
- element.removeEventListener(event, handleInteraction);
145
- }
146
- };
147
- for (const event of events) {
148
- element.addEventListener(event, handleInteraction, { once: true });
149
- }
150
- return cleanup;
151
- }
152
- export const VENDOR_CHUNK_CONFIGS = [
153
- {
154
- name: 'react-vendors',
155
- test: /[\\/]node_modules[\\/](react|react-dom|react-router|react-router-dom)[\\/]/,
156
- priority: 10,
157
- },
158
- {
159
- name: 'ui-vendors',
160
- test: /[\\/]node_modules[\\/](class-variance-authority|clsx)[\\/]/,
161
- priority: 9,
162
- },
163
- {
164
- name: 'utils-vendors',
165
- test: /[\\/]node_modules[\\/](lodash|date-fns|classnames|clsx)[\\/]/,
166
- priority: 8,
167
- },
168
- {
169
- name: 'vendors',
170
- test: /[\\/]node_modules[\\/]/,
171
- priority: 5,
172
- },
173
- ];
174
- /**
175
- * Generate webpack splitChunks config
176
- */
177
- export function generateSplitChunksConfig(customChunks = []) {
178
- const chunks = [...VENDOR_CHUNK_CONFIGS, ...customChunks];
179
- const cacheGroups = {};
180
- for (const chunk of chunks) {
181
- cacheGroups[chunk.name] = {
182
- test: chunk.test,
183
- priority: chunk.priority || 5,
184
- reuseExistingChunk: true,
185
- enforce: true,
186
- };
187
- }
188
- return {
189
- chunks: 'all',
190
- maxInitialRequests: 25,
191
- maxAsyncRequests: 25,
192
- minSize: 20000,
193
- cacheGroups,
194
- };
195
- }
196
- /**
197
- * Module concatenation helper
198
- */
199
- export function shouldConcatenateModule(modulePath) {
200
- // Don't concatenate node_modules by default
201
- if (modulePath.includes('node_modules')) {
202
- return false;
203
- }
204
- // Concatenate ES modules
205
- return modulePath.endsWith('.js') || modulePath.endsWith('.ts');
206
- }
207
- /**
208
- * Inline critical scripts
209
- */
210
- export function shouldInlineScript(scriptPath, size) {
211
- // Inline if:
212
- // 1. Critical script (runtime, polyfills)
213
- // 2. Small size (<5KB)
214
- const isCritical = scriptPath.includes('runtime') || scriptPath.includes('polyfill');
215
- const isSmall = size < 5 * 1024;
216
- return isCritical || isSmall;
217
- }
218
- export const DEFAULT_BUDGETS = {
219
- maxSize: 500 * 1024, // 500KB total
220
- maxInitialSize: 200 * 1024, // 200KB initial
221
- maxAsyncSize: 100 * 1024, // 100KB per async chunk
222
- maxCSSSize: 50 * 1024, // 50KB CSS
223
- };
224
- export function checkBundleBudgets(stats, budgets = DEFAULT_BUDGETS) {
225
- const violations = [];
226
- if (stats.totalSize > budgets.maxSize) {
227
- violations.push({
228
- type: 'total',
229
- actual: stats.totalSize,
230
- budget: budgets.maxSize,
231
- exceeded: stats.totalSize - budgets.maxSize,
232
- });
233
- }
234
- if (stats.initialSize > budgets.maxInitialSize) {
235
- violations.push({
236
- type: 'initial',
237
- actual: stats.initialSize,
238
- budget: budgets.maxInitialSize,
239
- exceeded: stats.initialSize - budgets.maxInitialSize,
240
- });
241
- }
242
- for (const asyncSize of stats.asyncSizes) {
243
- if (asyncSize > budgets.maxAsyncSize) {
244
- violations.push({
245
- type: 'async',
246
- actual: asyncSize,
247
- budget: budgets.maxAsyncSize,
248
- exceeded: asyncSize - budgets.maxAsyncSize,
249
- });
250
- }
251
- }
252
- if (stats.cssSize > budgets.maxCSSSize) {
253
- violations.push({
254
- type: 'css',
255
- actual: stats.cssSize,
256
- budget: budgets.maxCSSSize,
257
- exceeded: stats.cssSize - budgets.maxCSSSize,
258
- });
259
- }
260
- return violations;
261
- }
@@ -1,12 +0,0 @@
1
- import type { Plugin } from 'vite';
2
- interface RevealUIOptions {
3
- prerender?: boolean | {
4
- partial?: boolean;
5
- noExtraDir?: boolean;
6
- parallel?: number;
7
- disableAutoRun?: boolean;
8
- };
9
- }
10
- export default function revealui(options?: RevealUIOptions): Plugin;
11
- export {};
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,UAAU,eAAe;IACvB,SAAS,CAAC,EACN,OAAO,GACP;QACE,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACN;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGtE"}
@@ -1,4 +0,0 @@
1
- export default function revealui(options = {}) {
2
- // Use revealui internally but expose as revealui
3
- return revealui(options);
4
- }
@@ -1,188 +0,0 @@
1
- /**
2
- * Audit Logging System
3
- *
4
- * Track security-relevant events and user actions for compliance
5
- */
6
- export type AuditEventType = 'auth.login' | 'auth.logout' | 'auth.failed_login' | 'auth.password_change' | 'auth.password_reset' | 'auth.mfa_enabled' | 'auth.mfa_disabled' | 'user.create' | 'user.update' | 'user.delete' | 'user.view' | 'data.create' | 'data.read' | 'data.update' | 'data.delete' | 'data.export' | 'permission.grant' | 'permission.revoke' | 'role.assign' | 'role.remove' | 'config.change' | 'security.violation' | 'security.alert' | 'gdpr.consent' | 'gdpr.data_request' | 'gdpr.data_deletion' | `data.${string}` | `permission.${string}` | `security.${string}` | `gdpr.${string}`;
7
- export type AuditSeverity = 'low' | 'medium' | 'high' | 'critical';
8
- export interface AuditEvent {
9
- id: string;
10
- timestamp: string;
11
- type: AuditEventType;
12
- severity: AuditSeverity;
13
- actor: {
14
- id: string;
15
- type: 'user' | 'system' | 'api';
16
- ip?: string;
17
- userAgent?: string;
18
- };
19
- resource?: {
20
- type: string;
21
- id: string;
22
- name?: string;
23
- };
24
- action: string;
25
- result: 'success' | 'failure' | 'partial';
26
- changes?: {
27
- before?: Record<string, unknown>;
28
- after?: Record<string, unknown>;
29
- };
30
- metadata?: Record<string, unknown>;
31
- message?: string;
32
- }
33
- export interface AuditQuery {
34
- types?: AuditEventType[];
35
- actorId?: string;
36
- resourceType?: string;
37
- resourceId?: string;
38
- startDate?: Date;
39
- endDate?: Date;
40
- severity?: AuditSeverity[];
41
- result?: ('success' | 'failure' | 'partial')[];
42
- limit?: number;
43
- offset?: number;
44
- }
45
- export interface AuditStorage {
46
- write(event: AuditEvent): Promise<void>;
47
- query(query: AuditQuery): Promise<AuditEvent[]>;
48
- count(query: AuditQuery): Promise<number>;
49
- }
50
- /**
51
- * Audit logging system
52
- */
53
- export declare class AuditSystem {
54
- private storage;
55
- private filters;
56
- constructor(storage: AuditStorage);
57
- /**
58
- * Log audit event
59
- */
60
- log(event: Omit<AuditEvent, 'id' | 'timestamp'>): Promise<void>;
61
- /**
62
- * Log authentication event
63
- */
64
- logAuth(type: Extract<AuditEventType, 'auth.login' | 'auth.logout' | 'auth.failed_login' | 'auth.password_change'>, actorId: string, result: 'success' | 'failure', metadata?: Record<string, unknown>): Promise<void>;
65
- /**
66
- * Log data access event
67
- */
68
- logDataAccess(action: 'create' | 'read' | 'update' | 'delete', actorId: string, resourceType: string, resourceId: string, result: 'success' | 'failure', changes?: {
69
- before?: Record<string, unknown>;
70
- after?: Record<string, unknown>;
71
- }): Promise<void>;
72
- /**
73
- * Log permission change
74
- */
75
- logPermissionChange(action: 'grant' | 'revoke', actorId: string, targetUserId: string, permission: string, result: 'success' | 'failure'): Promise<void>;
76
- /**
77
- * Log security event
78
- */
79
- logSecurityEvent(type: 'violation' | 'alert', severity: AuditSeverity, actorId: string, message: string, metadata?: Record<string, unknown>): Promise<void>;
80
- /**
81
- * Log GDPR event
82
- */
83
- logGDPREvent(type: 'consent' | 'data_request' | 'data_deletion', actorId: string, result: 'success' | 'failure', metadata?: Record<string, unknown>): Promise<void>;
84
- /**
85
- * Query audit logs
86
- */
87
- query(query: AuditQuery): Promise<AuditEvent[]>;
88
- /**
89
- * Count audit logs
90
- */
91
- count(query: AuditQuery): Promise<number>;
92
- /**
93
- * Add filter
94
- */
95
- addFilter(filter: (event: AuditEvent) => boolean): void;
96
- /**
97
- * Remove filter
98
- */
99
- removeFilter(filter: (event: AuditEvent) => boolean): void;
100
- }
101
- /**
102
- * In-memory audit storage (for development)
103
- */
104
- export declare class InMemoryAuditStorage implements AuditStorage {
105
- private events;
106
- private maxEvents;
107
- constructor(maxEvents?: number);
108
- write(event: AuditEvent): Promise<void>;
109
- query(query: AuditQuery): Promise<AuditEvent[]>;
110
- count(query: AuditQuery): Promise<number>;
111
- /**
112
- * Clear all events
113
- */
114
- clear(): void;
115
- /**
116
- * Get all events
117
- */
118
- getAll(): AuditEvent[];
119
- }
120
- /**
121
- * Audit trail decorator
122
- */
123
- export declare function AuditTrail(type: AuditEventType, action: string, options?: {
124
- severity?: AuditSeverity;
125
- captureChanges?: boolean;
126
- resourceType?: string;
127
- }): (_target: object, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
128
- /**
129
- * Audit middleware
130
- */
131
- export declare function createAuditMiddleware<TRequest = unknown, TResponse = unknown>(audit: AuditSystem, getUser: (request: TRequest) => {
132
- id: string;
133
- ip?: string;
134
- userAgent?: string;
135
- }): (request: TRequest & {
136
- method: string;
137
- url: string;
138
- }, next: () => Promise<TResponse & {
139
- status?: number;
140
- }>) => Promise<TResponse & {
141
- status?: number;
142
- }>;
143
- /**
144
- * Audit report generator
145
- */
146
- export declare class AuditReportGenerator {
147
- private audit;
148
- constructor(audit: AuditSystem);
149
- /**
150
- * Generate security report
151
- */
152
- generateSecurityReport(startDate: Date, endDate: Date): Promise<{
153
- totalEvents: number;
154
- securityViolations: number;
155
- failedLogins: number;
156
- permissionChanges: number;
157
- dataExports: number;
158
- criticalEvents: AuditEvent[];
159
- }>;
160
- /**
161
- * Generate user activity report
162
- */
163
- generateUserActivityReport(userId: string, startDate: Date, endDate: Date): Promise<{
164
- totalActions: number;
165
- actionsByType: Record<string, number>;
166
- failedActions: number;
167
- recentActions: AuditEvent[];
168
- }>;
169
- /**
170
- * Generate compliance report
171
- */
172
- generateComplianceReport(startDate: Date, endDate: Date): Promise<{
173
- dataAccesses: number;
174
- dataModifications: number;
175
- dataDeletions: number;
176
- gdprRequests: number;
177
- auditTrailComplete: boolean;
178
- }>;
179
- /**
180
- * Check audit trail continuity
181
- */
182
- private checkAuditTrailContinuity;
183
- }
184
- /**
185
- * Global audit system
186
- */
187
- export declare const audit: AuditSystem;
188
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/security/audit.ts"],"names":[],"mappings":"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"}