Spaces:
Sleeping
Sleeping
from typing import Dict, Any | |
from .integration_manager import AwarenessState, AwarenessLevel | |
import numpy as np | |
def create_awareness_state_from_dict(awareness_dict: Dict[str, Any]) -> AwarenessState: | |
""" | |
Create an AwarenessState object from a dictionary. | |
Args: | |
awareness_dict: Dictionary containing awareness state attributes | |
Returns: | |
AwarenessState object | |
""" | |
# Na integration_manager.py, os níveis disponíveis são: | |
# UNCONSCIOUS, SUBCONSCIOUS, CONSCIOUS, SELF_AWARE, TRANSCENDENT | |
# Extract level - lidando com diferentes formatos possíveis | |
level_value = None | |
if 'level' in awareness_dict: | |
level = awareness_dict['level'] | |
if isinstance(level, AwarenessLevel): | |
level_value = level | |
elif hasattr(level, 'value') and isinstance(level.value, int): | |
# Para casos onde level é um enum de states.py | |
# Mapeando baseado no valor ordinal | |
ordinal = level.value | |
if ordinal <= 1: | |
level_value = AwarenessLevel.UNCONSCIOUS | |
elif ordinal == 2: | |
level_value = AwarenessLevel.SUBCONSCIOUS | |
elif ordinal == 3: | |
level_value = AwarenessLevel.CONSCIOUS | |
elif ordinal == 4: | |
level_value = AwarenessLevel.SELF_AWARE | |
else: | |
level_value = AwarenessLevel.TRANSCENDENT | |
# Se não conseguimos determinar o nível, use o padrão | |
if level_value is None: | |
level_value = AwarenessLevel.UNCONSCIOUS | |
# Mapeie cognitive_state para cognition_state se necessário | |
cognition_state = awareness_dict.get('cognition_state', {}) | |
if not cognition_state and 'cognitive_state' in awareness_dict: | |
cognition_state = awareness_dict['cognitive_state'] | |
# Mapeie perception_data se estiver faltando | |
perception_data = awareness_dict.get('perception_data', {}) | |
# Garanta que emotional_valence esteja presente | |
emotional_valence = awareness_dict.get('emotional_valence', 0.0) | |
# Crie o objeto AwarenessState | |
return AwarenessState( | |
level=level_value, | |
perception_data=perception_data, | |
cognition_state=cognition_state, | |
emotional_valence=emotional_valence, | |
semantic_context=awareness_dict.get('semantic_context'), | |
temporal_awareness=awareness_dict.get('temporal_awareness') | |
) | |