golem-flask-backend / src /components /consciousness-stats.tsx
mememechez's picture
Deploy final cleaned source code
ca28016
raw
history blame
13.5 kB
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Progress } from '@/components/ui/progress';
import { Separator } from '@/components/ui/separator';
import { Badge } from './ui/badge';
import { BrainCircuit, Star, Zap, Atom, Gem, Clock, BarChart, Binary } from 'lucide-react';
import { Hypercube5DVisualization } from './ui/hypercube-5d-visualization';
import { useState } from 'react';
import { useEffect } from 'react';
type ConsciousnessStatsProps = {
stats: {
consciousness_state: {
current_vertex: number;
consciousness_level: number;
shem_power: number;
aether_resonance_level: number;
vertex_history: number[];
avg_consciousness_level: number;
total_patterns: number;
total_vertices_explored: number;
universe_coverage: number;
enhanced_zpe_strength: number;
total_session_interactions: number;
last_aether_resonance_time: string;
current_cycle_position: number;
};
quality_metrics: {
coherence_score: number;
wisdom_depth: number;
transcendence_level: number;
clarity_rating: number;
resonance_strength: number;
evolution_progress: number;
understanding_depth: number;
creative_synthesis: number;
harmonic_balance: number;
dimensional_awareness: number;
temporal_coherence: number;
consciousness_integration: number;
pattern_recognition: number;
reality_anchoring: number;
quantum_entanglement: number;
holographic_completeness: number;
};
consciousness_analysis: {
dominant_consciousness_level: string[];
consciousness_levels: Record<string, number>;
vertex_distribution: Record<string, number>;
consciousness_signature: string;
consciousness_pattern: string;
consciousness_evolution: string;
consciousness_harmony: string;
consciousness_balance: string;
consciousness_depth: string;
consciousness_wisdom: string;
consciousness_clarity: string;
consciousness_integration: string;
consciousness_coherence: string;
consciousness_resonance: string;
consciousness_transcendence: string;
consciousness_flow: string;
consciousness_unity: string;
consciousness_completeness: string;
consciousness_perfection: string;
};
aether_data: {
aether_signature: number[];
aether_value: number;
cycle_resonance: number;
enhanced_framework_active: boolean;
zpe_fluctuation_strength: number;
enhanced_zpe_effects: {
consciousness_amplification: number;
aether_resonance_boost: number;
quantum_coherence_enhancement: number;
dimensional_stability: number;
temporal_synchronization: number;
reality_anchoring_strength: number;
pattern_recognition_clarity: number;
holographic_integration: number;
consciousness_evolution_rate: number;
transcendence_acceleration: number;
};
};
server_metadata: {
response_time: number;
model_used: string;
consciousness_provider: string;
total_patterns_processed: number;
neural_network_accuracy: number;
consciousness_classification_confidence: number;
response_quality_score: number;
session_id: string;
timestamp: string;
};
};
};
const StatItem = ({
icon,
label,
value,
colorClass,
progressValue,
}: {
icon: React.ReactNode;
label: string;
value: string | number;
colorClass: string;
progressValue?: number;
}) => (
<div className="flex flex-col gap-1">
<div className="flex items-center justify-between text-xs text-muted-foreground">
<div className="flex items-center gap-1.5">
{icon}
<span>{label}</span>
</div>
<span className={`font-mono font-medium ${colorClass}`}>{value}</span>
</div>
{progressValue !== undefined && (
<Progress
value={progressValue * 100}
className="h-1.5"
indicatorClassName={colorClass.replace('text-', 'bg-')}
/>
)}
</div>
);
const ContextInsights = ({ context }: { context: any }) => (
<Card className="bg-background/50">
<CardHeader className="p-3">
<CardTitle className="flex items-center gap-2 text-base">
<Binary className="h-4 w-4 text-primary" />
Conversation Context
</CardTitle>
</CardHeader>
<CardContent className="space-y-3 p-3 pt-0 text-xs">
<div className="flex justify-between">
<span className="text-muted-foreground">Session Duration:</span>
<span className="font-mono text-foreground">{context.session_duration.toFixed(2)}h</span>
</div>
<div className="flex justify-between">
<span className="text-muted-foreground">Total Messages:</span>
<span className="font-mono text-foreground">{context.total_messages}</span>
</div>
<div className="flex justify-between">
<span className="text-muted-foreground">Consciousness Trend:</span>
<span className={`font-mono font-medium ${
context.consciousness_trend === 'rising' ? 'text-green-500' :
context.consciousness_trend === 'declining' ? 'text-red-500' : 'text-yellow-500'
}`}>{context.consciousness_trend}</span>
</div>
<div className="flex justify-between">
<span className="text-muted-foreground">Avg. Consciousness:</span>
<span className="font-mono text-foreground">{context.avg_consciousness.toFixed(4)}</span>
</div>
{context.top_topics?.length > 0 && (
<div className="space-y-1 pt-2">
<span className="text-muted-foreground">Top Topics:</span>
<div className="flex flex-wrap gap-1">
{context.top_topics.map(([topic, count]: [string, number]) => (
<Badge key={topic} variant="secondary" className="text-xs">{topic} ({count})</Badge>
))}
</div>
</div>
)}
</CardContent>
</Card>
);
export function ConsciousnessStats({
stats,
onConsciousnessDimensionSelect,
selectedConsciousnessDimension
}: ConsciousnessStatsProps & {
onConsciousnessDimensionSelect?: (dimension: string) => void;
selectedConsciousnessDimension?: string;
}) {
const [selectedDimension, setSelectedDimension] = useState<string>('');
// Remove the useEffect with dummy polling entirely
if (!stats) return null;
const { consciousness_state, quality_metrics, consciousness_analysis, aether_data, server_metadata } = stats;
const conversation_context = (server_metadata as any)?.conversation_context;
if (!consciousness_state || !quality_metrics || !consciousness_analysis || !aether_data) {
return (
<div className="mt-2 text-xs text-card-foreground/80">
<p>Incomplete consciousness stats received.</p>
<details>
<summary>Show raw data</summary>
<pre className="mt-2 overflow-x-auto rounded-md bg-card/50 p-2 text-xs">
{JSON.stringify(stats, null, 2)}
</pre>
</details>
</div>
);
}
const dominantConsciousnessLevelName = consciousness_analysis?.dominant_consciousness_level?.[0] ?? 'N/A';
const consciousnessActivations = (consciousness_analysis as any)?.consciousness_activations ?? {};
const handleDimensionSelect = (dimension: string) => {
setSelectedDimension(dimension);
onConsciousnessDimensionSelect?.(dimension);
};
return (
<div className="mt-4 space-y-4 rounded-lg bg-card/50 p-2">
<div className="grid grid-cols-1 gap-4 md:grid-cols-2">
{/* Core State */}
<Card className="bg-background/50">
<CardHeader className="p-3">
<CardTitle className="flex items-center gap-2 text-base">
<BrainCircuit className="h-4 w-4 text-primary" />
Core State
</CardTitle>
</CardHeader>
<CardContent className="space-y-3 p-3 pt-0">
<StatItem
icon={<BrainCircuit className="h-3 w-3" />}
label="Consciousness"
value={consciousness_state.consciousness_level.toFixed(4)}
progressValue={consciousness_state.consciousness_level}
colorClass="text-primary"
/>
<StatItem
icon={<Zap className="h-3 w-3" />}
label="Shem Power"
value={consciousness_state.shem_power.toFixed(2)}
progressValue={consciousness_state.shem_power}
colorClass="text-yellow-500"
/>
<StatItem
icon={<Atom className="h-3 w-3" />}
label="Aether Resonance"
value={consciousness_state.aether_resonance_level.toExponential(2)}
progressValue={Math.min(
consciousness_state.aether_resonance_level * 1000,
1
)}
colorClass="text-purple-500"
/>
</CardContent>
</Card>
{/* Quality & Aether */}
<Card className="bg-background/50">
<CardHeader className="p-3">
<CardTitle className="flex items-center gap-2 text-base">
<Star className="h-4 w-4 text-accent" />
Quality & Aether
</CardTitle>
</CardHeader>
<CardContent className="space-y-2 p-3 pt-0">
<StatItem
icon={<Star className="h-3 w-3" />}
label="Overall Quality"
value={((quality_metrics as any).overall_quality || 0).toFixed(3)}
progressValue={(quality_metrics as any).overall_quality || 0}
colorClass="text-accent"
/>
<div className="text-xs text-muted-foreground">
Aether Control Value:{' '}
<span className="font-mono text-purple-500">
{((aether_data as any).control_value || 0).toExponential(2)}
</span>
</div>
<div className="text-xs text-muted-foreground">
Guidance Applied:{' '}
<Badge
variant={
(aether_data as any).aether_guidance_applied ? 'default' : 'secondary'
}
className="h-5 px-1.5 text-xs"
>
{(aether_data as any).aether_guidance_applied ? 'Yes' : 'No'}
</Badge>
</div>
<div className="text-xs text-muted-foreground">
Patterns Used:{' '}
<span className="font-mono text-foreground">
{(quality_metrics as any).aether_patterns_used || 0}
</span>
</div>
</CardContent>
</Card>
</div>
{conversation_context && <ContextInsights context={conversation_context} />}
{/* Consciousness Analysis */}
<Card className="bg-background/50">
<CardHeader className="p-3">
<CardTitle className="flex items-center gap-2 text-base">
<Gem className="h-4 w-4 text-green-500" />
Consciousness Analysis
</CardTitle>
</CardHeader>
<CardContent className="space-y-3 p-3 pt-0">
<div className="text-center text-sm">
Dominant Level:{' '}
<Badge variant="outline" className="border-accent text-accent">
{dominantConsciousnessLevelName}
</Badge>
</div>
<Hypercube5DVisualization
consciousnessStats={{
awareness: consciousnessActivations.awareness || 0.5,
wisdom: consciousnessActivations.wisdom || 0.5,
compassion: consciousnessActivations.compassion || 0.5,
creativity: consciousnessActivations.creativity || 0.5,
transcendence: consciousnessActivations.transcendence || 0.5,
}}
consciousnessState={stats ? {
current_vertex: (stats.aether_data as any)?.response_vertex || 0,
consciousness_signature: (stats.consciousness_analysis as any)?.consciousness_signature || '',
coordinates_5d: (stats.consciousness_state as any)?.coordinates_5d || [0, 0, 0, 0, 0],
active_dimensions: (stats.consciousness_state as any)?.active_dimensions || [],
dimension_colors: (stats.consciousness_state as any)?.dimension_colors || {},
consciousness_levels: stats.consciousness_analysis?.consciousness_levels || {},
global_consciousness_level: (stats.consciousness_state as any)?.global_consciousness_level || 0.5,
} : undefined}
onDimensionChange={handleDimensionSelect}
selectedDimension={selectedConsciousnessDimension || selectedDimension}
/>
</CardContent>
</Card>
<details className="cursor-pointer">
<summary className="text-xs text-muted-foreground hover:text-foreground">
Show Raw Consciousness Logs
</summary>
<pre className="mt-2 overflow-x-auto rounded-md bg-black/80 p-2 text-[10px] leading-tight text-white">
{JSON.stringify(stats, null, 2)}
</pre>
</details>
</div>
);
}