aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
220 lines • 6.54 kB
TypeScript
/**
* Voice Calibration System
*
* Fine-tunes voice detection and transformation accuracy across different domains
* (academic, technical, executive, casual) through systematic calibration and optimization.
*/
import { VoiceAnalyzer } from './voice-analyzer.js';
import { ContentDiversifier, Voice } from './content-diversifier.js';
export interface VoiceCharacteristics {
formality: number;
technicality: number;
assertiveness: number;
complexity: number;
sentenceLength: {
avg: number;
min: number;
max: number;
variance: number;
};
vocabularyLevel: 'basic' | 'intermediate' | 'advanced' | 'expert';
firstPersonUsage: number;
passiveVoiceRatio: number;
}
export interface VoiceMarker {
type: 'vocabulary' | 'structure' | 'tone' | 'perspective';
indicator: string;
weight: number;
examples: string[];
}
export interface VoiceProfile {
voice: Voice;
characteristics: VoiceCharacteristics;
markers: VoiceMarker[];
detectionConfidence: number;
}
export interface CalibrationConfig {
voice: Voice;
targetCharacteristics?: Partial<VoiceCharacteristics>;
trainingCorpus?: string[];
validationCorpus?: string[];
}
export interface ValidationResults {
truePositives: number;
falsePositives: number;
falseNegatives: number;
trueNegatives: number;
precision: number;
recall: number;
f1Score: number;
}
export interface CalibrationResult {
voice: string;
beforeAccuracy: number;
afterAccuracy: number;
improvement: number;
characteristicsAdjusted: string[];
validationResults: ValidationResults;
}
export interface DetectionAccuracyResult {
voice: string;
accuracy: number;
precision: number;
recall: number;
f1Score: number;
confidentCorrect: number;
confidentWrong: number;
samples: number;
}
export interface ConfusionMatrix {
matrix: Record<string, Record<string, number>>;
accuracy: number;
perVoiceAccuracy: Record<string, number>;
}
export interface TuningResult {
characteristic: string;
beforeValue: number;
afterValue: number;
improvement: number;
accuracy: number;
}
export interface TransformationAccuracyResult {
fromVoice: string;
toVoice: string;
accuracy: number;
averageConfidence: number;
fidelity: number;
samples: number;
}
export interface TransformationOptimizationConfig {
fromVoice: Voice;
toVoice: Voice;
corpus: string[];
targetFidelity?: number;
}
export interface OptimizationResult {
fromVoice: string;
toVoice: string;
beforeFidelity: number;
afterFidelity: number;
improvement: number;
adjustmentsMade: string[];
}
export interface CalibrationReport {
voice: string;
profile: VoiceProfile;
accuracy: DetectionAccuracyResult;
markers: {
total: number;
byType: Record<string, number>;
averageWeight: number;
};
characteristics: VoiceCharacteristics;
recentCalibrations: CalibrationResult[];
}
export interface ProfileComparisonResult {
voice1: string;
voice2: string;
similarity: number;
differences: {
characteristic: string;
value1: number;
value2: number;
delta: number;
}[];
distinguishingMarkers: {
voice1Only: VoiceMarker[];
voice2Only: VoiceMarker[];
};
}
/**
* Voice Calibration System for fine-tuning detection and transformation
*/
export declare class VoiceCalibration {
private analyzer;
private diversifier;
private profiles;
private calibrationHistory;
constructor(analyzer: VoiceAnalyzer, diversifier: ContentDiversifier);
/**
* Calibrate a specific voice using training and validation corpora
*/
calibrateVoice(config: CalibrationConfig): Promise<CalibrationResult>;
/**
* Calibrate all voices using a corpus map
*/
calibrateAllVoices(corpus: Map<string, string[]>): Promise<Map<string, CalibrationResult>>;
/**
* Get voice profile
*/
getVoiceProfile(voice: string): VoiceProfile;
/**
* Update voice profile
*/
updateVoiceProfile(voice: string, updates: Partial<VoiceProfile>): void;
/**
* Create custom voice profile
*/
createCustomVoiceProfile(name: string, characteristics: VoiceCharacteristics, markers: VoiceMarker[]): VoiceProfile;
/**
* Test detection accuracy for a voice
*/
testDetectionAccuracy(voice: string, corpus: string[]): Promise<DetectionAccuracyResult>;
/**
* Validate cross-voice detection
*/
validateCrossVoiceDetection(testSet: Map<string, string[]>): Promise<ConfusionMatrix>;
/**
* Tune a specific characteristic
*/
tuneCharacteristic(voice: string, characteristic: keyof VoiceCharacteristics, target: number): Promise<TuningResult>;
/**
* Tune all characteristics
*/
tuneAllCharacteristics(voice: string, targets: Partial<VoiceCharacteristics>): Promise<TuningResult[]>;
/**
* Optimize markers for a voice
*/
optimizeMarkers(voice: string, corpus: string[]): Promise<VoiceMarker[]>;
/**
* Add marker to voice profile
*/
addMarker(voice: string, marker: VoiceMarker): Promise<void>;
/**
* Remove marker from voice profile
*/
removeMarker(voice: string, markerType: string, indicator: string): Promise<void>;
/**
* Test transformation accuracy
*/
testTransformationAccuracy(fromVoice: string, toVoice: string, corpus: string[]): Promise<TransformationAccuracyResult>;
/**
* Optimize transformations
*/
optimizeTransformations(config: TransformationOptimizationConfig): Promise<OptimizationResult>;
/**
* Generate calibration report
*/
generateCalibrationReport(voice: string): CalibrationReport;
/**
* Compare two voice profiles
*/
compareVoiceProfiles(voice1: string, voice2: string): ProfileComparisonResult;
/**
* Export voice profiles
*/
exportVoiceProfiles(format: 'json' | 'yaml'): string;
/**
* Import voice profiles
*/
importVoiceProfiles(data: string, format?: 'json' | 'yaml'): void;
private loadVoiceProfiles;
private measureAccuracy;
private calculateValidationResults;
private isValidVoice;
private generateTestCorpus;
private generateSampleText;
private calculateTransformationFidelity;
private estimateFormality;
}
//# sourceMappingURL=voice-calibration.d.ts.map