FRE-4510: Implement feature flag checks for spam classification
- Create centralized feature flag management system (feature-flags.ts) - Add 15 feature flags across SpamShield, VoicePrint, and Platform categories - Update spamshield.config.ts to use checkFlag() for all flags - Add feature flag checks to all spamshield.service.ts methods: * NumberReputationService.checkReputation() * NumberReputationService.checkMultiSource() * SMSClassifierService.classify() * CallAnalysisService.analyzeCall() * SpamFeedbackService.recordFeedback() - Update index.ts exports to include feature flag utilities - Flags support runtime updates via FLAG_<KEY> environment variables Flags implemented: - SpamShield: enableNumberReputation, enableContentClassification, enableBehavioralAnalysis, enableCommunityIntelligence, enableRealTimeBlocking, enableMultipleSources, enableMLClassifier - VoicePrint: enableMLService, enableFAISSIndex, enableBatchAnalysis, enableRealtimeAnalysis, enableMockModel - Platform: enableAuditLogs, enableKPITracking
This commit is contained in:
@@ -8,8 +8,12 @@ export {
|
||||
audioPreprocessingConfig,
|
||||
voicePrintFeatureFlags,
|
||||
voicePrintRateLimits,
|
||||
checkFlag,
|
||||
isFeatureEnabled,
|
||||
} from './voiceprint.config';
|
||||
|
||||
|
||||
|
||||
// Services
|
||||
export {
|
||||
AudioPreprocessor,
|
||||
|
||||
@@ -72,13 +72,13 @@ export const audioPreprocessingConfig = {
|
||||
maxSilenceDurationMs: 500,
|
||||
};
|
||||
|
||||
// Feature flags
|
||||
// Feature flags - use centralized system
|
||||
export const voicePrintFeatureFlags = {
|
||||
enableMLService: false,
|
||||
enableFAISSIndex: true,
|
||||
enableBatchAnalysis: true,
|
||||
enableRealtimeAnalysis: false,
|
||||
enableMockModel: true,
|
||||
enableMLService: checkFlag('voiceprint.enable.ml.service', false),
|
||||
enableFAISSIndex: checkFlag('voiceprint.enable.faiss.index', true),
|
||||
enableBatchAnalysis: checkFlag('voiceprint.enable.batch.analysis', true),
|
||||
enableRealtimeAnalysis: checkFlag('voiceprint.enable.realtime.analysis', false),
|
||||
enableMockModel: checkFlag('voiceprint.enable.mock.model', true),
|
||||
};
|
||||
|
||||
// Rate limits for voice analysis
|
||||
|
||||
Reference in New Issue
Block a user