UNPKG

multimind-sdk

Version:

This SDK gives JavaScript/TypeScript developers full access to advanced AI features like agent orchestration, RAG, and fine-tuning — without needing to manage backend code.

170 lines 5.82 kB
import { py } from './bridge/multimind-bridge.js'; export class ComplianceMonitor { constructor(config) { this.config = config; } async initialize() { try { this.monitor = await py `ComplianceMonitor( organization_id=${this.config.organizationId}, enabled_regulations=${this.config.enabledRegulations}, privacy_level=${this.config.privacyLevel}, audit_enabled=${this.config.auditEnabled}, real_time_monitoring=${this.config.realTimeMonitoring}, alert_thresholds=${this.config.alertThresholds || {}} )`; this.validator = await py `ComplianceValidator()`; this.reporter = await py `ComplianceReporter()`; return { success: true, message: 'Compliance monitor initialized' }; } catch (error) { console.error('Error initializing compliance monitor:', error); throw error; } } async checkCompliance(check) { try { const result = await py `self.monitor.check_compliance( model_id=${check.modelId}, data_categories=${check.dataCategories}, use_case=${check.useCase}, region=${check.region || 'global'}, custom_rules=${check.customRules || {}} )`; return { compliant: result.compliant, score: result.score, violations: result.violations || [], recommendations: result.recommendations || [], auditTrail: result.audit_trail || [] }; } catch (error) { console.error('Error checking compliance:', error); throw error; } } async validateData(data, dataType) { try { const isValid = await py `self.validator.validate_data(${data}, ${dataType})`; return isValid; } catch (error) { console.error('Error validating data:', error); throw error; } } async getDashboardMetrics(metrics) { try { const dashboard = await py `self.monitor.get_dashboard_metrics( time_range=${metrics.timeRange || '7d'}, use_case=${metrics.useCase || 'general'}, organization_id=${this.config.organizationId} )`; return { timeRange: dashboard.time_range, useCase: dashboard.use_case, complianceScore: dashboard.compliance_score, totalChecks: dashboard.total_checks, violations: dashboard.violations, alerts: dashboard.alerts, trends: dashboard.trends || [] }; } catch (error) { console.error('Error getting dashboard metrics:', error); throw error; } } async generateComplianceReport(startDate, endDate, format = 'pdf') { try { const report = await py `self.reporter.generate_report( organization_id=${this.config.organizationId}, start_date=${startDate}, end_date=${endDate}, format=${format} )`; return report; } catch (error) { console.error('Error generating compliance report:', error); throw error; } } async addAuditEntry(entry) { try { const timestamp = new Date().toISOString(); await py `self.monitor.add_audit_entry( timestamp=${timestamp}, action=${entry.action}, user_id=${entry.userId}, details=${entry.details}, risk_level=${entry.riskLevel} )`; return { success: true, message: 'Audit entry added' }; } catch (error) { console.error('Error adding audit entry:', error); throw error; } } async getAuditTrail(startDate, endDate, userId, riskLevel) { try { const trail = await py `self.monitor.get_audit_trail( start_date=${startDate || null}, end_date=${endDate || null}, user_id=${userId || null}, risk_level=${riskLevel || null} )`; return trail; } catch (error) { console.error('Error getting audit trail:', error); throw error; } } async setAlertThresholds(thresholds) { try { await py `self.monitor.set_alert_thresholds(${thresholds})`; return { success: true, message: 'Alert thresholds updated' }; } catch (error) { console.error('Error setting alert thresholds:', error); throw error; } } async getAlerts(timeRange = '24h') { try { const alerts = await py `self.monitor.get_alerts(time_range=${timeRange})`; return alerts; } catch (error) { console.error('Error getting alerts:', error); throw error; } } async enableRealTimeMonitoring(enabled = true) { try { await py `self.monitor.enable_real_time_monitoring(${enabled})`; return { success: true, message: `Real-time monitoring ${enabled ? 'enabled' : 'disabled'}` }; } catch (error) { console.error('Error toggling real-time monitoring:', error); throw error; } } async validatePrivacyCompliance(data, privacyLevel) { try { const result = await py `self.validator.validate_privacy( data=${data}, privacy_level=${privacyLevel} )`; return result; } catch (error) { console.error('Error validating privacy compliance:', error); throw error; } } } //# sourceMappingURL=compliance.js.map