UNPKG

okta-mcp-server

Version:

Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching

89 lines 2.4 kB
/** * SQLite-based audit logger with tamper resistance and high performance */ import { EventBus } from '../../core/event-bus.js'; import { PIIMasker } from './pii-masker.js'; import { AuditEntry, AuditQueryOptions, AuditStatistics, AuditRetentionPolicy, AuditIntegrityCheck, AuditExportOptions } from './types.js'; export interface AuditLoggerOptions { dbPath?: string; inMemory?: boolean; eventBus?: EventBus; retentionPolicy?: AuditRetentionPolicy; piiMasker?: PIIMasker; enableIntegrityChecks?: boolean; performanceTracking?: boolean; batchSize?: number; flushInterval?: number; } export declare class AuditLogger { private db; private eventBus?; private piiMasker; private retentionPolicy; private readonly enableIntegrityChecks; private readonly performanceTracking; private readonly batchSize; private pendingEntries; private flushTimer?; private preparedStatements; constructor(options?: AuditLoggerOptions); private initializeSchema; private prepareStatements; /** * Log an audit entry */ log(entry: Omit<AuditEntry, 'id' | 'hash'>): Promise<void>; /** * Flush pending entries to database */ flush(): Promise<void>; /** * Query audit logs */ query(options?: AuditQueryOptions): Promise<AuditEntry[]>; /** * Get audit statistics */ getStatistics(startTime: Date, endTime: Date): Promise<AuditStatistics>; /** * Export audit logs */ export(options: AuditExportOptions): Promise<string>; /** * Check integrity of audit logs */ checkIntegrity(hoursBack?: number): Promise<AuditIntegrityCheck>; /** * Clean up old entries based on retention policy */ private cleanupOldEntries; /** * Calculate hash for an audit entry */ private calculateEntryHash; /** * Calculate hash from database row */ private calculateHashFromRow; /** * Convert database row to AuditEntry */ private rowToAuditEntry; /** * Export to CSV format */ private exportToCSV; /** * Export to SIEM format (CEF) */ private exportToSIEM; /** * Close the database connection */ close(): void; /** * Optimize the database */ optimize(): Promise<void>; } //# sourceMappingURL=audit-logger.d.ts.map