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
97 lines • 2.61 kB
TypeScript
/**
* Voice Analyzer
*
* Analyzes content voice characteristics, detects voice type,
* and scores diversity between variations.
*/
import { Voice, Perspective, Tone } from './content-diversifier.js';
export interface VoiceProfile {
primaryVoice: Voice | 'mixed';
confidence: number;
characteristics: {
academic: number;
technical: number;
executive: number;
casual: number;
};
markers: VoiceMarker[];
perspective: Perspective;
tone: Tone;
metadata: {
wordCount: number;
sentenceCount: number;
averageSentenceLength: number;
};
}
export interface VoiceMarker {
type: Voice;
text: string;
position: number;
strength: 'strong' | 'moderate' | 'weak';
}
export interface ComparisonResult {
similarity: number;
differences: Difference[];
voiceShift: {
from: Voice | 'mixed';
to: Voice | 'mixed';
magnitude: number;
};
structuralChanges: string[];
}
export interface Difference {
type: 'addition' | 'removal' | 'modification';
description: string;
impact: 'high' | 'medium' | 'low';
}
/**
* Voice Analyzer for content characteristics
*/
export declare class VoiceAnalyzer {
private readonly voicePatterns;
constructor();
/**
* Analyze voice characteristics of content
*/
analyzeVoice(content: string): VoiceProfile;
/**
* Detect primary voice of content
*/
detectVoice(content: string): Voice | 'mixed';
/**
* Score diversity between multiple variations
*/
scoreDiversity(variations: string[]): number;
/**
* Compare two variations and identify differences
*/
compareVariations(original: string, variation: string): ComparisonResult;
/**
* Detect perspective used in content
*/
detectPerspective(content: string): Perspective;
/**
* Detect tone of content
*/
detectTone(content: string): Tone;
/**
* Analyze voice consistency across content sections
*/
analyzeConsistency(content: string, sectionSize?: number): {
overallConsistency: number;
sectionProfiles: VoiceProfile[];
inconsistencies: string[];
};
private initializeVoicePatterns;
private scoreVoices;
private detectMarkers;
private calculateSimilarity;
private levenshteinDistance;
private identifyDifferences;
private detectStructuralChanges;
private countWords;
private countSentences;
private splitIntoSections;
private findMostCommon;
}
//# sourceMappingURL=voice-analyzer.d.ts.map