@pan-sec/notebooklm-mcp 1.4.0 → 1.6.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 (123) hide show
  1. package/README.md +61 -7
  2. package/SECURITY.md +40 -6
  3. package/dist/auth/mcp-auth.d.ts.map +1 -1
  4. package/dist/auth/mcp-auth.js +3 -6
  5. package/dist/auth/mcp-auth.js.map +1 -1
  6. package/dist/compliance/alert-manager.d.ts +120 -0
  7. package/dist/compliance/alert-manager.d.ts.map +1 -0
  8. package/dist/compliance/alert-manager.js +420 -0
  9. package/dist/compliance/alert-manager.js.map +1 -0
  10. package/dist/compliance/breach-detection.d.ts +134 -0
  11. package/dist/compliance/breach-detection.d.ts.map +1 -0
  12. package/dist/compliance/breach-detection.js +456 -0
  13. package/dist/compliance/breach-detection.js.map +1 -0
  14. package/dist/compliance/change-log.d.ts +113 -0
  15. package/dist/compliance/change-log.d.ts.map +1 -0
  16. package/dist/compliance/change-log.js +275 -0
  17. package/dist/compliance/change-log.js.map +1 -0
  18. package/dist/compliance/compliance-logger.d.ts +136 -0
  19. package/dist/compliance/compliance-logger.d.ts.map +1 -0
  20. package/dist/compliance/compliance-logger.js +425 -0
  21. package/dist/compliance/compliance-logger.js.map +1 -0
  22. package/dist/compliance/compliance-tools.d.ts +18 -0
  23. package/dist/compliance/compliance-tools.d.ts.map +1 -0
  24. package/dist/compliance/compliance-tools.js +673 -0
  25. package/dist/compliance/compliance-tools.js.map +1 -0
  26. package/dist/compliance/consent-manager.d.ts +130 -0
  27. package/dist/compliance/consent-manager.d.ts.map +1 -0
  28. package/dist/compliance/consent-manager.js +386 -0
  29. package/dist/compliance/consent-manager.js.map +1 -0
  30. package/dist/compliance/dashboard.d.ts +243 -0
  31. package/dist/compliance/dashboard.d.ts.map +1 -0
  32. package/dist/compliance/dashboard.js +519 -0
  33. package/dist/compliance/dashboard.js.map +1 -0
  34. package/dist/compliance/data-classification.d.ts +117 -0
  35. package/dist/compliance/data-classification.d.ts.map +1 -0
  36. package/dist/compliance/data-classification.js +469 -0
  37. package/dist/compliance/data-classification.js.map +1 -0
  38. package/dist/compliance/data-erasure.d.ts +110 -0
  39. package/dist/compliance/data-erasure.d.ts.map +1 -0
  40. package/dist/compliance/data-erasure.js +501 -0
  41. package/dist/compliance/data-erasure.js.map +1 -0
  42. package/dist/compliance/data-export.d.ts +85 -0
  43. package/dist/compliance/data-export.d.ts.map +1 -0
  44. package/dist/compliance/data-export.js +394 -0
  45. package/dist/compliance/data-export.js.map +1 -0
  46. package/dist/compliance/data-inventory.d.ts +136 -0
  47. package/dist/compliance/data-inventory.d.ts.map +1 -0
  48. package/dist/compliance/data-inventory.js +335 -0
  49. package/dist/compliance/data-inventory.js.map +1 -0
  50. package/dist/compliance/dsar-handler.d.ts +123 -0
  51. package/dist/compliance/dsar-handler.d.ts.map +1 -0
  52. package/dist/compliance/dsar-handler.js +371 -0
  53. package/dist/compliance/dsar-handler.js.map +1 -0
  54. package/dist/compliance/evidence-collector.d.ts +187 -0
  55. package/dist/compliance/evidence-collector.d.ts.map +1 -0
  56. package/dist/compliance/evidence-collector.js +656 -0
  57. package/dist/compliance/evidence-collector.js.map +1 -0
  58. package/dist/compliance/health-monitor.d.ts +111 -0
  59. package/dist/compliance/health-monitor.d.ts.map +1 -0
  60. package/dist/compliance/health-monitor.js +509 -0
  61. package/dist/compliance/health-monitor.js.map +1 -0
  62. package/dist/compliance/incident-manager.d.ts +131 -0
  63. package/dist/compliance/incident-manager.d.ts.map +1 -0
  64. package/dist/compliance/incident-manager.js +418 -0
  65. package/dist/compliance/incident-manager.js.map +1 -0
  66. package/dist/compliance/index.d.ts +32 -0
  67. package/dist/compliance/index.d.ts.map +1 -0
  68. package/dist/compliance/index.js +35 -0
  69. package/dist/compliance/index.js.map +1 -0
  70. package/dist/compliance/policy-docs.d.ts +108 -0
  71. package/dist/compliance/policy-docs.d.ts.map +1 -0
  72. package/dist/compliance/policy-docs.js +464 -0
  73. package/dist/compliance/policy-docs.js.map +1 -0
  74. package/dist/compliance/privacy-notice-text.d.ts +58 -0
  75. package/dist/compliance/privacy-notice-text.d.ts.map +1 -0
  76. package/dist/compliance/privacy-notice-text.js +161 -0
  77. package/dist/compliance/privacy-notice-text.js.map +1 -0
  78. package/dist/compliance/privacy-notice.d.ts +128 -0
  79. package/dist/compliance/privacy-notice.d.ts.map +1 -0
  80. package/dist/compliance/privacy-notice.js +250 -0
  81. package/dist/compliance/privacy-notice.js.map +1 -0
  82. package/dist/compliance/report-generator.d.ts +168 -0
  83. package/dist/compliance/report-generator.d.ts.map +1 -0
  84. package/dist/compliance/report-generator.js +830 -0
  85. package/dist/compliance/report-generator.js.map +1 -0
  86. package/dist/compliance/retention-engine.d.ts +130 -0
  87. package/dist/compliance/retention-engine.d.ts.map +1 -0
  88. package/dist/compliance/retention-engine.js +510 -0
  89. package/dist/compliance/retention-engine.js.map +1 -0
  90. package/dist/compliance/siem-exporter.d.ts +150 -0
  91. package/dist/compliance/siem-exporter.d.ts.map +1 -0
  92. package/dist/compliance/siem-exporter.js +509 -0
  93. package/dist/compliance/siem-exporter.js.map +1 -0
  94. package/dist/compliance/types.d.ts +601 -0
  95. package/dist/compliance/types.d.ts.map +1 -0
  96. package/dist/compliance/types.js +22 -0
  97. package/dist/compliance/types.js.map +1 -0
  98. package/dist/config.d.ts +4 -0
  99. package/dist/config.d.ts.map +1 -1
  100. package/dist/config.js +8 -1
  101. package/dist/config.js.map +1 -1
  102. package/dist/library/notebook-library.d.ts.map +1 -1
  103. package/dist/library/notebook-library.js +2 -1
  104. package/dist/library/notebook-library.js.map +1 -1
  105. package/dist/session/shared-context-manager.d.ts.map +1 -1
  106. package/dist/session/shared-context-manager.js +2 -1
  107. package/dist/session/shared-context-manager.js.map +1 -1
  108. package/dist/utils/audit-logger.d.ts +21 -1
  109. package/dist/utils/audit-logger.d.ts.map +1 -1
  110. package/dist/utils/audit-logger.js +53 -4
  111. package/dist/utils/audit-logger.js.map +1 -1
  112. package/dist/utils/crypto.d.ts.map +1 -1
  113. package/dist/utils/crypto.js +8 -15
  114. package/dist/utils/crypto.js.map +1 -1
  115. package/dist/utils/file-permissions.d.ts +85 -0
  116. package/dist/utils/file-permissions.d.ts.map +1 -0
  117. package/dist/utils/file-permissions.js +180 -0
  118. package/dist/utils/file-permissions.js.map +1 -0
  119. package/dist/utils/settings-manager.d.ts.map +1 -1
  120. package/dist/utils/settings-manager.js +6 -11
  121. package/dist/utils/settings-manager.js.map +1 -1
  122. package/docs/COMPLIANCE-SPEC.md +1452 -0
  123. package/package.json +30 -4
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Incident Manager
3
+ *
4
+ * Tracks and manages security incidents.
5
+ * Implements incident lifecycle management for SOC2 compliance.
6
+ *
7
+ * Added by Pantheon Security for enterprise compliance support.
8
+ */
9
+ import type { SecurityIncident, IncidentType, IncidentStatus, IncidentSeverity } from "./types.js";
10
+ /**
11
+ * Incident Manager class
12
+ */
13
+ export declare class IncidentManager {
14
+ private static instance;
15
+ private incidentsFile;
16
+ private incidents;
17
+ private loaded;
18
+ private constructor();
19
+ /**
20
+ * Get singleton instance
21
+ */
22
+ static getInstance(): IncidentManager;
23
+ /**
24
+ * Load incidents from storage
25
+ */
26
+ private load;
27
+ /**
28
+ * Save incidents to storage
29
+ */
30
+ private save;
31
+ /**
32
+ * Create a new incident
33
+ */
34
+ createIncident(type: IncidentType, severity: IncidentSeverity, title: string, description: string, options?: {
35
+ affected_data?: string[];
36
+ affected_systems?: string[];
37
+ related_events?: string[];
38
+ notification_required?: boolean;
39
+ }): Promise<SecurityIncident>;
40
+ /**
41
+ * Determine if notification is required based on severity and type
42
+ */
43
+ private isNotificationRequired;
44
+ /**
45
+ * Update incident status
46
+ */
47
+ updateStatus(incidentId: string, status: IncidentStatus, notes?: string, performedBy?: string): Promise<SecurityIncident | null>;
48
+ /**
49
+ * Add action to incident
50
+ */
51
+ addAction(incidentId: string, action: string, performedBy?: string, notes?: string): Promise<SecurityIncident | null>;
52
+ /**
53
+ * Set root cause analysis
54
+ */
55
+ setRootCause(incidentId: string, rootCause: string, remediation: string): Promise<SecurityIncident | null>;
56
+ /**
57
+ * Mark notification as sent
58
+ */
59
+ markNotificationSent(incidentId: string): Promise<SecurityIncident | null>;
60
+ /**
61
+ * Get incident by ID
62
+ */
63
+ getIncident(incidentId: string): Promise<SecurityIncident | null>;
64
+ /**
65
+ * Get all incidents
66
+ */
67
+ getAllIncidents(): Promise<SecurityIncident[]>;
68
+ /**
69
+ * Get open incidents
70
+ */
71
+ getOpenIncidents(): Promise<SecurityIncident[]>;
72
+ /**
73
+ * Get incidents requiring notification
74
+ */
75
+ getIncidentsRequiringNotification(): Promise<SecurityIncident[]>;
76
+ /**
77
+ * Get incidents approaching notification deadline
78
+ */
79
+ getIncidentsNearDeadline(hoursRemaining?: number): Promise<SecurityIncident[]>;
80
+ /**
81
+ * Get incidents by type
82
+ */
83
+ getIncidentsByType(type: IncidentType): Promise<SecurityIncident[]>;
84
+ /**
85
+ * Get incidents by severity
86
+ */
87
+ getIncidentsBySeverity(severity: IncidentSeverity): Promise<SecurityIncident[]>;
88
+ /**
89
+ * Get incident statistics
90
+ */
91
+ getStatistics(): Promise<{
92
+ total_incidents: number;
93
+ open_incidents: number;
94
+ closed_incidents: number;
95
+ by_type: Record<IncidentType, number>;
96
+ by_severity: Record<IncidentSeverity, number>;
97
+ by_status: Record<IncidentStatus, number>;
98
+ pending_notifications: number;
99
+ average_resolution_hours?: number;
100
+ }>;
101
+ /**
102
+ * Export incidents for reporting
103
+ */
104
+ exportIncidents(from?: Date, to?: Date): Promise<SecurityIncident[]>;
105
+ }
106
+ /**
107
+ * Get the incident manager instance
108
+ */
109
+ export declare function getIncidentManager(): IncidentManager;
110
+ /**
111
+ * Create a new incident
112
+ */
113
+ export declare function createIncident(type: IncidentType, severity: IncidentSeverity, title: string, description: string, options?: {
114
+ affected_data?: string[];
115
+ affected_systems?: string[];
116
+ related_events?: string[];
117
+ notification_required?: boolean;
118
+ }): Promise<SecurityIncident>;
119
+ /**
120
+ * Get all open incidents
121
+ */
122
+ export declare function getOpenIncidents(): Promise<SecurityIncident[]>;
123
+ /**
124
+ * Update incident status
125
+ */
126
+ export declare function updateIncidentStatus(incidentId: string, status: IncidentStatus, notes?: string): Promise<SecurityIncident | null>;
127
+ /**
128
+ * Get incident statistics
129
+ */
130
+ export declare function getIncidentStatistics(): Promise<ReturnType<IncidentManager["getStatistics"]>>;
131
+ //# sourceMappingURL=incident-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incident-manager.d.ts","sourceRoot":"","sources":["../../src/compliance/incident-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,418 @@
1
+ /**
2
+ * Incident Manager
3
+ *
4
+ * Tracks and manages security incidents.
5
+ * Implements incident lifecycle management for SOC2 compliance.
6
+ *
7
+ * Added by Pantheon Security for enterprise compliance support.
8
+ */
9
+ import crypto from "crypto";
10
+ import path from "path";
11
+ import fs from "fs";
12
+ import { getConfig } from "../config.js";
13
+ import { mkdirSecure, writeFileSecure } from "../utils/file-permissions.js";
14
+ import { getComplianceLogger } from "./compliance-logger.js";
15
+ import { getAlertManager } from "./alert-manager.js";
16
+ /**
17
+ * Generate a UUID v4
18
+ */
19
+ function generateUUID() {
20
+ return crypto.randomUUID();
21
+ }
22
+ /**
23
+ * Incident Manager class
24
+ */
25
+ export class IncidentManager {
26
+ static instance;
27
+ incidentsFile;
28
+ incidents = new Map();
29
+ loaded = false;
30
+ constructor() {
31
+ const config = getConfig();
32
+ this.incidentsFile = path.join(config.dataDir, "compliance", "incidents.json");
33
+ }
34
+ /**
35
+ * Get singleton instance
36
+ */
37
+ static getInstance() {
38
+ if (!IncidentManager.instance) {
39
+ IncidentManager.instance = new IncidentManager();
40
+ }
41
+ return IncidentManager.instance;
42
+ }
43
+ /**
44
+ * Load incidents from storage
45
+ */
46
+ async load() {
47
+ if (this.loaded)
48
+ return;
49
+ try {
50
+ if (fs.existsSync(this.incidentsFile)) {
51
+ const content = fs.readFileSync(this.incidentsFile, "utf-8");
52
+ const data = JSON.parse(content);
53
+ if (data.incidents && Array.isArray(data.incidents)) {
54
+ for (const incident of data.incidents) {
55
+ this.incidents.set(incident.id, incident);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ catch {
61
+ this.incidents = new Map();
62
+ }
63
+ this.loaded = true;
64
+ }
65
+ /**
66
+ * Save incidents to storage
67
+ */
68
+ async save() {
69
+ const dir = path.dirname(this.incidentsFile);
70
+ mkdirSecure(dir);
71
+ const data = {
72
+ version: "1.0.0",
73
+ last_updated: new Date().toISOString(),
74
+ incidents: Array.from(this.incidents.values()),
75
+ };
76
+ writeFileSecure(this.incidentsFile, JSON.stringify(data, null, 2));
77
+ }
78
+ /**
79
+ * Create a new incident
80
+ */
81
+ async createIncident(type, severity, title, description, options = {}) {
82
+ await this.load();
83
+ const now = new Date().toISOString();
84
+ const incident = {
85
+ id: `INC-${Date.now().toString(36).toUpperCase()}-${generateUUID().slice(0, 4).toUpperCase()}`,
86
+ type,
87
+ severity,
88
+ status: "open",
89
+ detected_at: now,
90
+ title,
91
+ description,
92
+ affected_data: options.affected_data || [],
93
+ affected_systems: options.affected_systems || ["notebooklm-mcp"],
94
+ actions_taken: [
95
+ {
96
+ timestamp: now,
97
+ action: "Incident created",
98
+ performed_by: "system",
99
+ },
100
+ ],
101
+ notification_required: options.notification_required ?? this.isNotificationRequired(severity, type),
102
+ related_events: options.related_events || [],
103
+ };
104
+ // Set notification deadline for critical/high severity
105
+ if (incident.notification_required) {
106
+ const deadline = new Date();
107
+ deadline.setHours(deadline.getHours() + 72); // GDPR 72-hour requirement
108
+ incident.notification_deadline = deadline.toISOString();
109
+ }
110
+ this.incidents.set(incident.id, incident);
111
+ await this.save();
112
+ // Log the incident creation
113
+ const logger = getComplianceLogger();
114
+ await logger.logSecurityIncident("incident_created", severity, {
115
+ incident_id: incident.id,
116
+ type,
117
+ title,
118
+ notification_required: incident.notification_required,
119
+ });
120
+ // Alert for high/critical severity
121
+ if (severity === "high" || severity === "critical") {
122
+ const alertManager = getAlertManager();
123
+ // Map incident severity to alert severity
124
+ const alertSeverity = severity === "high" ? "error" : "critical";
125
+ await alertManager.sendAlert(alertSeverity, `Security Incident: ${title}`, description, "incident-manager", {
126
+ incident_id: incident.id,
127
+ type,
128
+ status: "open",
129
+ });
130
+ }
131
+ return incident;
132
+ }
133
+ /**
134
+ * Determine if notification is required based on severity and type
135
+ */
136
+ isNotificationRequired(severity, type) {
137
+ // Critical severity always requires notification
138
+ if (severity === "critical")
139
+ return true;
140
+ // Data breach always requires notification
141
+ if (type === "data_breach")
142
+ return true;
143
+ // Unauthorized access with high severity requires notification
144
+ if (type === "unauthorized_access" && severity === "high")
145
+ return true;
146
+ return false;
147
+ }
148
+ /**
149
+ * Update incident status
150
+ */
151
+ async updateStatus(incidentId, status, notes, performedBy = "system") {
152
+ await this.load();
153
+ const incident = this.incidents.get(incidentId);
154
+ if (!incident)
155
+ return null;
156
+ const now = new Date().toISOString();
157
+ const previousStatus = incident.status;
158
+ incident.status = status;
159
+ // Update timestamps based on status
160
+ switch (status) {
161
+ case "investigating":
162
+ incident.reported_at = incident.reported_at || now;
163
+ break;
164
+ case "contained":
165
+ incident.contained_at = now;
166
+ break;
167
+ case "resolved":
168
+ incident.resolved_at = now;
169
+ break;
170
+ case "closed":
171
+ incident.closed_at = now;
172
+ break;
173
+ }
174
+ // Add action record
175
+ incident.actions_taken.push({
176
+ timestamp: now,
177
+ action: `Status changed from ${previousStatus} to ${status}`,
178
+ performed_by: performedBy,
179
+ notes,
180
+ });
181
+ await this.save();
182
+ // Log the status change
183
+ const logger = getComplianceLogger();
184
+ await logger.logSecurityIncident("incident_status_changed", incident.severity, {
185
+ incident_id: incidentId,
186
+ previous_status: previousStatus,
187
+ new_status: status,
188
+ notes,
189
+ });
190
+ return incident;
191
+ }
192
+ /**
193
+ * Add action to incident
194
+ */
195
+ async addAction(incidentId, action, performedBy = "system", notes) {
196
+ await this.load();
197
+ const incident = this.incidents.get(incidentId);
198
+ if (!incident)
199
+ return null;
200
+ const actionRecord = {
201
+ timestamp: new Date().toISOString(),
202
+ action,
203
+ performed_by: performedBy,
204
+ notes,
205
+ };
206
+ incident.actions_taken.push(actionRecord);
207
+ await this.save();
208
+ return incident;
209
+ }
210
+ /**
211
+ * Set root cause analysis
212
+ */
213
+ async setRootCause(incidentId, rootCause, remediation) {
214
+ await this.load();
215
+ const incident = this.incidents.get(incidentId);
216
+ if (!incident)
217
+ return null;
218
+ incident.root_cause = rootCause;
219
+ incident.remediation = remediation;
220
+ incident.actions_taken.push({
221
+ timestamp: new Date().toISOString(),
222
+ action: "Root cause analysis completed",
223
+ performed_by: "system",
224
+ notes: rootCause,
225
+ });
226
+ await this.save();
227
+ return incident;
228
+ }
229
+ /**
230
+ * Mark notification as sent
231
+ */
232
+ async markNotificationSent(incidentId) {
233
+ await this.load();
234
+ const incident = this.incidents.get(incidentId);
235
+ if (!incident)
236
+ return null;
237
+ incident.notification_sent = true;
238
+ incident.actions_taken.push({
239
+ timestamp: new Date().toISOString(),
240
+ action: "Notification sent to relevant parties",
241
+ performed_by: "system",
242
+ });
243
+ await this.save();
244
+ // Log the notification
245
+ const logger = getComplianceLogger();
246
+ await logger.logSecurityIncident("incident_notification_sent", incident.severity, {
247
+ incident_id: incidentId,
248
+ notification_deadline: incident.notification_deadline,
249
+ });
250
+ return incident;
251
+ }
252
+ /**
253
+ * Get incident by ID
254
+ */
255
+ async getIncident(incidentId) {
256
+ await this.load();
257
+ return this.incidents.get(incidentId) || null;
258
+ }
259
+ /**
260
+ * Get all incidents
261
+ */
262
+ async getAllIncidents() {
263
+ await this.load();
264
+ return Array.from(this.incidents.values());
265
+ }
266
+ /**
267
+ * Get open incidents
268
+ */
269
+ async getOpenIncidents() {
270
+ await this.load();
271
+ return Array.from(this.incidents.values()).filter(i => i.status === "open" || i.status === "investigating" || i.status === "contained");
272
+ }
273
+ /**
274
+ * Get incidents requiring notification
275
+ */
276
+ async getIncidentsRequiringNotification() {
277
+ await this.load();
278
+ return Array.from(this.incidents.values()).filter(i => i.notification_required && !i.notification_sent);
279
+ }
280
+ /**
281
+ * Get incidents approaching notification deadline
282
+ */
283
+ async getIncidentsNearDeadline(hoursRemaining = 24) {
284
+ await this.load();
285
+ const now = new Date();
286
+ const deadline = new Date(now.getTime() + hoursRemaining * 60 * 60 * 1000);
287
+ return Array.from(this.incidents.values()).filter(i => {
288
+ if (!i.notification_required || i.notification_sent)
289
+ return false;
290
+ if (!i.notification_deadline)
291
+ return false;
292
+ const incidentDeadline = new Date(i.notification_deadline);
293
+ return incidentDeadline <= deadline && incidentDeadline > now;
294
+ });
295
+ }
296
+ /**
297
+ * Get incidents by type
298
+ */
299
+ async getIncidentsByType(type) {
300
+ await this.load();
301
+ return Array.from(this.incidents.values()).filter(i => i.type === type);
302
+ }
303
+ /**
304
+ * Get incidents by severity
305
+ */
306
+ async getIncidentsBySeverity(severity) {
307
+ await this.load();
308
+ return Array.from(this.incidents.values()).filter(i => i.severity === severity);
309
+ }
310
+ /**
311
+ * Get incident statistics
312
+ */
313
+ async getStatistics() {
314
+ await this.load();
315
+ const incidents = Array.from(this.incidents.values());
316
+ const byType = {
317
+ unauthorized_access: 0,
318
+ data_breach: 0,
319
+ malware: 0,
320
+ dos_attack: 0,
321
+ policy_violation: 0,
322
+ data_loss: 0,
323
+ configuration_error: 0,
324
+ other: 0,
325
+ };
326
+ const bySeverity = {
327
+ low: 0,
328
+ medium: 0,
329
+ high: 0,
330
+ critical: 0,
331
+ };
332
+ const byStatus = {
333
+ open: 0,
334
+ investigating: 0,
335
+ contained: 0,
336
+ resolved: 0,
337
+ closed: 0,
338
+ };
339
+ let totalResolutionHours = 0;
340
+ let resolvedCount = 0;
341
+ for (const incident of incidents) {
342
+ byType[incident.type]++;
343
+ bySeverity[incident.severity]++;
344
+ byStatus[incident.status]++;
345
+ // Calculate resolution time
346
+ if (incident.resolved_at && incident.detected_at) {
347
+ const detected = new Date(incident.detected_at);
348
+ const resolved = new Date(incident.resolved_at);
349
+ totalResolutionHours += (resolved.getTime() - detected.getTime()) / (1000 * 60 * 60);
350
+ resolvedCount++;
351
+ }
352
+ }
353
+ const pendingNotifications = incidents.filter(i => i.notification_required && !i.notification_sent).length;
354
+ return {
355
+ total_incidents: incidents.length,
356
+ open_incidents: incidents.filter(i => i.status === "open" || i.status === "investigating" || i.status === "contained").length,
357
+ closed_incidents: incidents.filter(i => i.status === "closed").length,
358
+ by_type: byType,
359
+ by_severity: bySeverity,
360
+ by_status: byStatus,
361
+ pending_notifications: pendingNotifications,
362
+ average_resolution_hours: resolvedCount > 0
363
+ ? Math.round((totalResolutionHours / resolvedCount) * 100) / 100
364
+ : undefined,
365
+ };
366
+ }
367
+ /**
368
+ * Export incidents for reporting
369
+ */
370
+ async exportIncidents(from, to) {
371
+ await this.load();
372
+ let incidents = Array.from(this.incidents.values());
373
+ if (from) {
374
+ incidents = incidents.filter(i => new Date(i.detected_at) >= from);
375
+ }
376
+ if (to) {
377
+ incidents = incidents.filter(i => new Date(i.detected_at) <= to);
378
+ }
379
+ return incidents.sort((a, b) => new Date(b.detected_at).getTime() - new Date(a.detected_at).getTime());
380
+ }
381
+ }
382
+ // ============================================
383
+ // SINGLETON ACCESS
384
+ // ============================================
385
+ /**
386
+ * Get the incident manager instance
387
+ */
388
+ export function getIncidentManager() {
389
+ return IncidentManager.getInstance();
390
+ }
391
+ // ============================================
392
+ // CONVENIENCE EXPORTS
393
+ // ============================================
394
+ /**
395
+ * Create a new incident
396
+ */
397
+ export async function createIncident(type, severity, title, description, options) {
398
+ return getIncidentManager().createIncident(type, severity, title, description, options);
399
+ }
400
+ /**
401
+ * Get all open incidents
402
+ */
403
+ export async function getOpenIncidents() {
404
+ return getIncidentManager().getOpenIncidents();
405
+ }
406
+ /**
407
+ * Update incident status
408
+ */
409
+ export async function updateIncidentStatus(incidentId, status, notes) {
410
+ return getIncidentManager().updateStatus(incidentId, status, notes);
411
+ }
412
+ /**
413
+ * Get incident statistics
414
+ */
415
+ export async function getIncidentStatistics() {
416
+ return getIncidentManager().getStatistics();
417
+ }
418
+ //# sourceMappingURL=incident-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incident-manager.js","sourceRoot":"","sources":["../../src/compliance/incident-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Compliance Module - Main Exports
3
+ *
4
+ * Enterprise compliance features for GDPR, SOC2, and CSSF.
5
+ *
6
+ * Added by Pantheon Security.
7
+ */
8
+ export * from "./types.js";
9
+ export { ComplianceLogger, getComplianceLogger, logComplianceEvent, } from "./compliance-logger.js";
10
+ export { DataClassifier, getDataClassifier, requiresEncryption, requiresAudit, getClassificationLevel, isExportable, isErasable, } from "./data-classification.js";
11
+ export { ConsentManager, getConsentManager, isFirstRun, hasConsent, grantConsent, revokeConsent, } from "./consent-manager.js";
12
+ export { PrivacyNoticeManager, getPrivacyNoticeManager, needsPrivacyNotice, acknowledgePrivacyNotice, getPrivacyNotice, getPrivacyNoticeCLIText, } from "./privacy-notice.js";
13
+ export { PRIVACY_NOTICE, PRIVACY_NOTICE_VERSION, getPrivacyNoticeCLI, getPrivacyNoticeCompact, getPrivacyNoticeStructured, getProcessingAgreement, } from "./privacy-notice-text.js";
14
+ export { DataInventory, getDataInventory, getAllDataInventory, getExportableData, getErasableData, } from "./data-inventory.js";
15
+ export { RetentionEngine, getRetentionEngine, runRetentionPolicies, getRetentionPolicies, getRetentionStatus, } from "./retention-engine.js";
16
+ export { DataExporter, getDataExporter, exportUserData, exportUserDataToFile, exportUserDataToString, } from "./data-export.js";
17
+ export { DataErasureManager, getDataErasureManager, createErasureRequest, executeErasureRequest, getPendingErasureRequests, } from "./data-erasure.js";
18
+ export { DSARHandler, getDSARHandler, submitDSAR, processDSAR, handleDSAR, getDSARSummary, } from "./dsar-handler.js";
19
+ export { AlertManager, getAlertManager, sendAlert, alertCritical, alertWarning, } from "./alert-manager.js";
20
+ export { BreachDetector, getBreachDetector, checkForBreach, isPatternBlocked, getBreachRules, } from "./breach-detection.js";
21
+ export { IncidentManager, getIncidentManager, createIncident, getOpenIncidents, updateIncidentStatus, getIncidentStatistics, } from "./incident-manager.js";
22
+ export { SIEMExporter, getSIEMExporter, exportToSIEM, flushSIEM, } from "./siem-exporter.js";
23
+ export { HealthMonitor, getHealthMonitor, runHealthCheck, getHealthStatus, getLastHealthMetrics, } from "./health-monitor.js";
24
+ export { ChangeLog, getChangeLog, recordConfigChange, getRecentChanges, getChangeStatistics, } from "./change-log.js";
25
+ export { PolicyDocManager, getPolicyDocManager, getAllPolicies, getPolicy, getPoliciesByRegulation, getPolicySummary, } from "./policy-docs.js";
26
+ export { ComplianceDashboard, getComplianceDashboard, generateDashboard, getComplianceScore, getDashboardCLI, } from "./dashboard.js";
27
+ export { ReportGenerator, getReportGenerator, generateReport, generateAndSaveReport, listReports, } from "./report-generator.js";
28
+ export type { ReportType, ReportFormat, GeneratedReport, ReportOptions } from "./report-generator.js";
29
+ export { EvidenceCollector, getEvidenceCollector, collectEvidence, collectAndSaveEvidence, collectRegulationEvidence, verifyEvidence, listEvidencePackages, } from "./evidence-collector.js";
30
+ export type { EvidenceType, EvidenceItem, EvidencePackage, CollectionOptions } from "./evidence-collector.js";
31
+ export { getComplianceTools, handleComplianceToolCall, } from "./compliance-tools.js";
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compliance/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Compliance Module - Main Exports
3
+ *
4
+ * Enterprise compliance features for GDPR, SOC2, and CSSF.
5
+ *
6
+ * Added by Pantheon Security.
7
+ */
8
+ // Types
9
+ export * from "./types.js";
10
+ // Core Compliance Infrastructure (Phase 1)
11
+ export { ComplianceLogger, getComplianceLogger, logComplianceEvent, } from "./compliance-logger.js";
12
+ export { DataClassifier, getDataClassifier, requiresEncryption, requiresAudit, getClassificationLevel, isExportable, isErasable, } from "./data-classification.js";
13
+ export { ConsentManager, getConsentManager, isFirstRun, hasConsent, grantConsent, revokeConsent, } from "./consent-manager.js";
14
+ export { PrivacyNoticeManager, getPrivacyNoticeManager, needsPrivacyNotice, acknowledgePrivacyNotice, getPrivacyNotice, getPrivacyNoticeCLIText, } from "./privacy-notice.js";
15
+ export { PRIVACY_NOTICE, PRIVACY_NOTICE_VERSION, getPrivacyNoticeCLI, getPrivacyNoticeCompact, getPrivacyNoticeStructured, getProcessingAgreement, } from "./privacy-notice-text.js";
16
+ // Data Subject Rights (Phase 2)
17
+ export { DataInventory, getDataInventory, getAllDataInventory, getExportableData, getErasableData, } from "./data-inventory.js";
18
+ export { RetentionEngine, getRetentionEngine, runRetentionPolicies, getRetentionPolicies, getRetentionStatus, } from "./retention-engine.js";
19
+ export { DataExporter, getDataExporter, exportUserData, exportUserDataToFile, exportUserDataToString, } from "./data-export.js";
20
+ export { DataErasureManager, getDataErasureManager, createErasureRequest, executeErasureRequest, getPendingErasureRequests, } from "./data-erasure.js";
21
+ export { DSARHandler, getDSARHandler, submitDSAR, processDSAR, handleDSAR, getDSARSummary, } from "./dsar-handler.js";
22
+ // Security Monitoring (Phase 3)
23
+ export { AlertManager, getAlertManager, sendAlert, alertCritical, alertWarning, } from "./alert-manager.js";
24
+ export { BreachDetector, getBreachDetector, checkForBreach, isPatternBlocked, getBreachRules, } from "./breach-detection.js";
25
+ export { IncidentManager, getIncidentManager, createIncident, getOpenIncidents, updateIncidentStatus, getIncidentStatistics, } from "./incident-manager.js";
26
+ export { SIEMExporter, getSIEMExporter, exportToSIEM, flushSIEM, } from "./siem-exporter.js";
27
+ export { HealthMonitor, getHealthMonitor, runHealthCheck, getHealthStatus, getLastHealthMetrics, } from "./health-monitor.js";
28
+ // Compliance Reporting & Documentation (Phase 4)
29
+ export { ChangeLog, getChangeLog, recordConfigChange, getRecentChanges, getChangeStatistics, } from "./change-log.js";
30
+ export { PolicyDocManager, getPolicyDocManager, getAllPolicies, getPolicy, getPoliciesByRegulation, getPolicySummary, } from "./policy-docs.js";
31
+ export { ComplianceDashboard, getComplianceDashboard, generateDashboard, getComplianceScore, getDashboardCLI, } from "./dashboard.js";
32
+ export { ReportGenerator, getReportGenerator, generateReport, generateAndSaveReport, listReports, } from "./report-generator.js";
33
+ export { EvidenceCollector, getEvidenceCollector, collectEvidence, collectAndSaveEvidence, collectRegulationEvidence, verifyEvidence, listEvidencePackages, } from "./evidence-collector.js";
34
+ export { getComplianceTools, handleComplianceToolCall, } from "./compliance-tools.js";
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compliance/index.ts"],"names":[],"mappings":"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"}