convex-audit-log 0.1.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 (63) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +408 -0
  3. package/dist/client/_generated/_ignore.d.ts +1 -0
  4. package/dist/client/_generated/_ignore.d.ts.map +1 -0
  5. package/dist/client/_generated/_ignore.js +3 -0
  6. package/dist/client/_generated/_ignore.js.map +1 -0
  7. package/dist/client/index.d.ts +336 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +297 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/component/_generated/api.d.ts +36 -0
  12. package/dist/component/_generated/api.d.ts.map +1 -0
  13. package/dist/component/_generated/api.js +31 -0
  14. package/dist/component/_generated/api.js.map +1 -0
  15. package/dist/component/_generated/component.d.ts +317 -0
  16. package/dist/component/_generated/component.d.ts.map +1 -0
  17. package/dist/component/_generated/component.js +11 -0
  18. package/dist/component/_generated/component.js.map +1 -0
  19. package/dist/component/_generated/dataModel.d.ts +46 -0
  20. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  21. package/dist/component/_generated/dataModel.js +11 -0
  22. package/dist/component/_generated/dataModel.js.map +1 -0
  23. package/dist/component/_generated/server.d.ts +121 -0
  24. package/dist/component/_generated/server.d.ts.map +1 -0
  25. package/dist/component/_generated/server.js +78 -0
  26. package/dist/component/_generated/server.js.map +1 -0
  27. package/dist/component/convex.config.d.ts +3 -0
  28. package/dist/component/convex.config.d.ts.map +1 -0
  29. package/dist/component/convex.config.js +3 -0
  30. package/dist/component/convex.config.js.map +1 -0
  31. package/dist/component/lib.d.ts +341 -0
  32. package/dist/component/lib.d.ts.map +1 -0
  33. package/dist/component/lib.js +598 -0
  34. package/dist/component/lib.js.map +1 -0
  35. package/dist/component/schema.d.ts +87 -0
  36. package/dist/component/schema.d.ts.map +1 -0
  37. package/dist/component/schema.js +71 -0
  38. package/dist/component/schema.js.map +1 -0
  39. package/dist/component/shared.d.ts +203 -0
  40. package/dist/component/shared.d.ts.map +1 -0
  41. package/dist/component/shared.js +94 -0
  42. package/dist/component/shared.js.map +1 -0
  43. package/dist/react/index.d.ts +247 -0
  44. package/dist/react/index.d.ts.map +1 -0
  45. package/dist/react/index.js +196 -0
  46. package/dist/react/index.js.map +1 -0
  47. package/package.json +115 -0
  48. package/src/client/_generated/_ignore.ts +1 -0
  49. package/src/client/index.test.ts +61 -0
  50. package/src/client/index.ts +525 -0
  51. package/src/client/setup.test.ts +26 -0
  52. package/src/component/_generated/api.ts +52 -0
  53. package/src/component/_generated/component.ts +392 -0
  54. package/src/component/_generated/dataModel.ts +60 -0
  55. package/src/component/_generated/server.ts +161 -0
  56. package/src/component/convex.config.ts +3 -0
  57. package/src/component/lib.test.ts +171 -0
  58. package/src/component/lib.ts +722 -0
  59. package/src/component/schema.ts +93 -0
  60. package/src/component/setup.test.ts +11 -0
  61. package/src/component/shared.ts +167 -0
  62. package/src/react/index.ts +305 -0
  63. package/src/test.ts +18 -0
@@ -0,0 +1,3 @@
1
+ declare const _default: import("convex/server").ComponentDefinition<any>;
2
+ export default _default;
3
+ //# sourceMappingURL=convex.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convex.config.d.ts","sourceRoot":"","sources":["../../src/component/convex.config.ts"],"names":[],"mappings":";AAEA,wBAA2C"}
@@ -0,0 +1,3 @@
1
+ import { defineComponent } from "convex/server";
2
+ export default defineComponent("auditLog");
3
+ //# sourceMappingURL=convex.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convex.config.js","sourceRoot":"","sources":["../../src/component/convex.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAe,eAAe,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Log a single audit event.
3
+ */
4
+ export declare const log: import("convex/server").RegisteredMutation<"public", {
5
+ actorId?: string | undefined;
6
+ resourceType?: string | undefined;
7
+ resourceId?: string | undefined;
8
+ metadata?: any;
9
+ ipAddress?: string | undefined;
10
+ userAgent?: string | undefined;
11
+ sessionId?: string | undefined;
12
+ tags?: string[] | undefined;
13
+ retentionCategory?: string | undefined;
14
+ action: string;
15
+ severity: "info" | "warning" | "error" | "critical";
16
+ }, Promise<import("convex/values").GenericId<"auditLogs">>>;
17
+ /**
18
+ * Log a change event with before/after states and optional diff generation.
19
+ */
20
+ export declare const logChange: import("convex/server").RegisteredMutation<"public", {
21
+ actorId?: string | undefined;
22
+ severity?: "info" | "warning" | "error" | "critical" | undefined;
23
+ ipAddress?: string | undefined;
24
+ userAgent?: string | undefined;
25
+ sessionId?: string | undefined;
26
+ tags?: string[] | undefined;
27
+ retentionCategory?: string | undefined;
28
+ before?: any;
29
+ after?: any;
30
+ generateDiff?: boolean | undefined;
31
+ action: string;
32
+ resourceType: string;
33
+ resourceId: string;
34
+ }, Promise<import("convex/values").GenericId<"auditLogs">>>;
35
+ /**
36
+ * Log multiple audit events in a single transaction.
37
+ */
38
+ export declare const logBulk: import("convex/server").RegisteredMutation<"public", {
39
+ events: {
40
+ actorId?: string | undefined;
41
+ resourceType?: string | undefined;
42
+ resourceId?: string | undefined;
43
+ metadata?: any;
44
+ ipAddress?: string | undefined;
45
+ userAgent?: string | undefined;
46
+ sessionId?: string | undefined;
47
+ tags?: string[] | undefined;
48
+ retentionCategory?: string | undefined;
49
+ action: string;
50
+ severity: "info" | "warning" | "error" | "critical";
51
+ }[];
52
+ }, Promise<any>>;
53
+ /**
54
+ * Query audit logs by resource.
55
+ */
56
+ export declare const queryByResource: import("convex/server").RegisteredQuery<"public", {
57
+ fromTimestamp?: number | undefined;
58
+ limit?: number | undefined;
59
+ resourceType: string;
60
+ resourceId: string;
61
+ }, Promise<{
62
+ _id: import("convex/values").GenericId<"auditLogs">;
63
+ _creationTime: number;
64
+ actorId?: string | undefined;
65
+ resourceType?: string | undefined;
66
+ resourceId?: string | undefined;
67
+ metadata?: any;
68
+ ipAddress?: string | undefined;
69
+ userAgent?: string | undefined;
70
+ sessionId?: string | undefined;
71
+ tags?: string[] | undefined;
72
+ retentionCategory?: string | undefined;
73
+ before?: any;
74
+ after?: any;
75
+ diff?: string | undefined;
76
+ action: string;
77
+ severity: "info" | "warning" | "error" | "critical";
78
+ timestamp: number;
79
+ }[]>>;
80
+ /**
81
+ * Query audit logs by actor (user).
82
+ */
83
+ export declare const queryByActor: import("convex/server").RegisteredQuery<"public", {
84
+ actions?: string[] | undefined;
85
+ fromTimestamp?: number | undefined;
86
+ limit?: number | undefined;
87
+ actorId: string;
88
+ }, Promise<{
89
+ _id: import("convex/values").GenericId<"auditLogs">;
90
+ _creationTime: number;
91
+ actorId?: string | undefined;
92
+ resourceType?: string | undefined;
93
+ resourceId?: string | undefined;
94
+ metadata?: any;
95
+ ipAddress?: string | undefined;
96
+ userAgent?: string | undefined;
97
+ sessionId?: string | undefined;
98
+ tags?: string[] | undefined;
99
+ retentionCategory?: string | undefined;
100
+ before?: any;
101
+ after?: any;
102
+ diff?: string | undefined;
103
+ action: string;
104
+ severity: "info" | "warning" | "error" | "critical";
105
+ timestamp: number;
106
+ }[]>>;
107
+ /**
108
+ * Query audit logs by severity level.
109
+ */
110
+ export declare const queryBySeverity: import("convex/server").RegisteredQuery<"public", {
111
+ fromTimestamp?: number | undefined;
112
+ limit?: number | undefined;
113
+ severity: ("info" | "warning" | "error" | "critical")[];
114
+ }, Promise<{
115
+ _id: import("convex/values").GenericId<"auditLogs">;
116
+ _creationTime: number;
117
+ actorId?: string | undefined;
118
+ resourceType?: string | undefined;
119
+ resourceId?: string | undefined;
120
+ metadata?: any;
121
+ ipAddress?: string | undefined;
122
+ userAgent?: string | undefined;
123
+ sessionId?: string | undefined;
124
+ tags?: string[] | undefined;
125
+ retentionCategory?: string | undefined;
126
+ before?: any;
127
+ after?: any;
128
+ diff?: string | undefined;
129
+ action: string;
130
+ severity: "info" | "warning" | "error" | "critical";
131
+ timestamp: number;
132
+ }[]>>;
133
+ /**
134
+ * Query audit logs by action type.
135
+ */
136
+ export declare const queryByAction: import("convex/server").RegisteredQuery<"public", {
137
+ fromTimestamp?: number | undefined;
138
+ limit?: number | undefined;
139
+ action: string;
140
+ }, Promise<{
141
+ _id: import("convex/values").GenericId<"auditLogs">;
142
+ _creationTime: number;
143
+ actorId?: string | undefined;
144
+ resourceType?: string | undefined;
145
+ resourceId?: string | undefined;
146
+ metadata?: any;
147
+ ipAddress?: string | undefined;
148
+ userAgent?: string | undefined;
149
+ sessionId?: string | undefined;
150
+ tags?: string[] | undefined;
151
+ retentionCategory?: string | undefined;
152
+ before?: any;
153
+ after?: any;
154
+ diff?: string | undefined;
155
+ action: string;
156
+ severity: "info" | "warning" | "error" | "critical";
157
+ timestamp: number;
158
+ }[]>>;
159
+ /**
160
+ * Advanced search with multiple filters.
161
+ */
162
+ export declare const search: import("convex/server").RegisteredQuery<"public", {
163
+ filters: {
164
+ severity?: ("info" | "warning" | "error" | "critical")[] | undefined;
165
+ tags?: string[] | undefined;
166
+ actions?: string[] | undefined;
167
+ resourceTypes?: string[] | undefined;
168
+ actorIds?: string[] | undefined;
169
+ fromTimestamp?: number | undefined;
170
+ toTimestamp?: number | undefined;
171
+ };
172
+ pagination: {
173
+ cursor?: string | undefined;
174
+ limit: number;
175
+ };
176
+ }, Promise<{
177
+ items: {
178
+ _id: import("convex/values").GenericId<"auditLogs">;
179
+ _creationTime: number;
180
+ actorId?: string | undefined;
181
+ resourceType?: string | undefined;
182
+ resourceId?: string | undefined;
183
+ metadata?: any;
184
+ ipAddress?: string | undefined;
185
+ userAgent?: string | undefined;
186
+ sessionId?: string | undefined;
187
+ tags?: string[] | undefined;
188
+ retentionCategory?: string | undefined;
189
+ before?: any;
190
+ after?: any;
191
+ diff?: string | undefined;
192
+ action: string;
193
+ severity: "info" | "warning" | "error" | "critical";
194
+ timestamp: number;
195
+ }[];
196
+ cursor: import("convex/values").GenericId<"auditLogs"> | null;
197
+ hasMore: boolean;
198
+ }>>;
199
+ /**
200
+ * Watch for critical events (real-time subscription).
201
+ */
202
+ export declare const watchCritical: import("convex/server").RegisteredQuery<"public", {
203
+ severity?: ("info" | "warning" | "error" | "critical")[] | undefined;
204
+ limit?: number | undefined;
205
+ }, Promise<{
206
+ _id: import("convex/values").GenericId<"auditLogs">;
207
+ _creationTime: number;
208
+ actorId?: string | undefined;
209
+ resourceType?: string | undefined;
210
+ resourceId?: string | undefined;
211
+ metadata?: any;
212
+ ipAddress?: string | undefined;
213
+ userAgent?: string | undefined;
214
+ sessionId?: string | undefined;
215
+ tags?: string[] | undefined;
216
+ retentionCategory?: string | undefined;
217
+ before?: any;
218
+ after?: any;
219
+ diff?: string | undefined;
220
+ action: string;
221
+ severity: "info" | "warning" | "error" | "critical";
222
+ timestamp: number;
223
+ }[]>>;
224
+ /**
225
+ * Get a single audit log by ID.
226
+ */
227
+ export declare const get: import("convex/server").RegisteredQuery<"public", {
228
+ id: string;
229
+ }, Promise<{
230
+ _id: import("convex/values").GenericId<"auditLogs">;
231
+ _creationTime: number;
232
+ actorId?: string | undefined;
233
+ resourceType?: string | undefined;
234
+ resourceId?: string | undefined;
235
+ metadata?: any;
236
+ ipAddress?: string | undefined;
237
+ userAgent?: string | undefined;
238
+ sessionId?: string | undefined;
239
+ tags?: string[] | undefined;
240
+ retentionCategory?: string | undefined;
241
+ before?: any;
242
+ after?: any;
243
+ diff?: string | undefined;
244
+ action: string;
245
+ severity: "info" | "warning" | "error" | "critical";
246
+ timestamp: number;
247
+ } | null>>;
248
+ /**
249
+ * Clean up old audit logs based on retention policies.
250
+ */
251
+ export declare const cleanup: import("convex/server").RegisteredMutation<"public", {
252
+ retentionCategory?: string | undefined;
253
+ olderThanDays?: number | undefined;
254
+ preserveSeverity?: ("info" | "warning" | "error" | "critical")[] | undefined;
255
+ batchSize?: number | undefined;
256
+ }, Promise<number>>;
257
+ /**
258
+ * Get current configuration.
259
+ */
260
+ export declare const getConfig: import("convex/server").RegisteredQuery<"public", {}, Promise<{
261
+ _id: import("convex/values").GenericId<"config">;
262
+ _creationTime: number;
263
+ customRetention?: {
264
+ category: string;
265
+ retentionDays: number;
266
+ }[] | undefined;
267
+ defaultRetentionDays: number;
268
+ criticalRetentionDays: number;
269
+ piiFieldsToRedact: string[];
270
+ samplingEnabled: boolean;
271
+ samplingRate: number;
272
+ } | null>>;
273
+ /**
274
+ * Update configuration.
275
+ */
276
+ export declare const updateConfig: import("convex/server").RegisteredMutation<"public", {
277
+ defaultRetentionDays?: number | undefined;
278
+ criticalRetentionDays?: number | undefined;
279
+ piiFieldsToRedact?: string[] | undefined;
280
+ samplingEnabled?: boolean | undefined;
281
+ samplingRate?: number | undefined;
282
+ customRetention?: {
283
+ category: string;
284
+ retentionDays: number;
285
+ }[] | undefined;
286
+ }, Promise<import("convex/values").GenericId<"config">>>;
287
+ /**
288
+ * Detect anomalies based on event frequency patterns.
289
+ */
290
+ export declare const detectAnomalies: import("convex/server").RegisteredQuery<"public", {
291
+ patterns: {
292
+ action: string;
293
+ threshold: number;
294
+ windowMinutes: number;
295
+ }[];
296
+ }, Promise<{
297
+ action: string;
298
+ count: number;
299
+ threshold: number;
300
+ windowMinutes: number;
301
+ detectedAt: number;
302
+ }[]>>;
303
+ /**
304
+ * Generate a report of audit logs.
305
+ */
306
+ export declare const generateReport: import("convex/server").RegisteredQuery<"public", {
307
+ includeFields?: string[] | undefined;
308
+ groupBy?: string | undefined;
309
+ startDate: number;
310
+ endDate: number;
311
+ format: "json" | "csv";
312
+ }, Promise<{
313
+ format: "json" | "csv";
314
+ data: string;
315
+ generatedAt: number;
316
+ recordCount: number;
317
+ }>>;
318
+ /**
319
+ * Get statistics for audit logs.
320
+ */
321
+ export declare const getStats: import("convex/server").RegisteredQuery<"public", {
322
+ fromTimestamp?: number | undefined;
323
+ toTimestamp?: number | undefined;
324
+ }, Promise<{
325
+ totalCount: number;
326
+ bySeverity: {
327
+ info: number;
328
+ warning: number;
329
+ error: number;
330
+ critical: number;
331
+ };
332
+ topActions: {
333
+ action: string;
334
+ count: number;
335
+ }[];
336
+ topActors: {
337
+ actorId: string;
338
+ count: number;
339
+ }[];
340
+ }>>;
341
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;2DAad,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;2DA8BpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;gBAmBlB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;KA8B1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;KAyBvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;KA2B1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;KAoBxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EjB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;KA0BxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;UAiBd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;mBAkClB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;UAyBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;wDAwCvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;KA8C1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;GAgFzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;GA6EnB,CAAC"}