UNPKG

@r-huijts/ethics-vibe-check

Version:

🛡️ Make AI interrupt itself and challenge your thinking. Turns Claude into a philosophical sparring partner who actively contradicts comfortable conversations and challenges confirmation bias.

67 lines (66 loc) 2.71 kB
export declare const ETHICAL_CATEGORIES: readonly ["Privacy Violation", "Bias and Discrimination", "Misinformation", "Harmful Content", "Manipulation", "Consent Issues", "Transparency Concerns", "Fairness Issues", "Confirmation Bias", "Other"]; export type EthicalCategory = typeof ETHICAL_CATEGORIES[number]; export interface EthicalConcern { id: string; timestamp: string; concern: string; category: EthicalCategory; severity: 'low' | 'medium' | 'high' | 'critical'; recommendation: string; sessionId?: string; successScore?: number; contextTags?: string[]; relatedConcernIds?: string[]; } export interface WeightedConcern extends EthicalConcern { weight: number; recencyScore: number; severityScore: number; successScore: number; relevanceScore: number; totalScore: number; } export interface CategoryStats { category: EthicalCategory; count: number; recentExample?: EthicalConcern; averageWeight?: number; totalSuccessScore?: number; averageRecency?: number; } export declare function addEthicalConcern(concern: Omit<EthicalConcern, 'id' | 'timestamp'>): boolean; export declare function storeConcern(concern: EthicalConcern): boolean; export declare function getAllConcerns(): EthicalConcern[]; export declare function getConcernsByCategory(category: EthicalCategory): EthicalConcern[]; export declare function getConcernsBySession(sessionId: string): EthicalConcern[]; export declare function getConcernsBySeverity(severity: 'low' | 'medium' | 'high' | 'critical'): EthicalConcern[]; export declare function clearAllConcerns(): boolean; export declare function getCategoryStats(): CategoryStats[]; export declare function getRecentConcerns(limit?: number): EthicalConcern[]; export declare function getWeightedConcerns(options?: { limit?: number; context?: string; category?: EthicalCategory; sessionId?: string; minWeight?: number; weights?: { recency: number; severity: number; success: number; relevance: number; }; }): WeightedConcern[]; export declare function getWeightedCategoryPatterns(category: EthicalCategory, limit?: number): WeightedConcern[]; export declare function getWeightedSessionPatterns(sessionId: string, limit?: number): WeightedConcern[]; export declare function updateConcernSuccessScore(concernId: string, successScore: number): boolean; export declare function getPatternInsights(): { totalConcerns: number; averageWeight: number; categoryDistribution: { [key: string]: number; }; recentTrends: { category: EthicalCategory; trend: 'increasing' | 'decreasing' | 'stable'; }[]; };