TeleologyHI commited on
Commit
87f22e8
·
1 Parent(s): f898d34
Files changed (1) hide show
  1. src/core/fix_integration.py +44 -17
src/core/fix_integration.py CHANGED
@@ -1,5 +1,6 @@
1
  from typing import Dict, Any
2
  from .integration_manager import AwarenessState, AwarenessLevel
 
3
 
4
  def create_awareness_state_from_dict(awareness_dict: Dict[str, Any]) -> AwarenessState:
5
  """
@@ -11,25 +12,51 @@ def create_awareness_state_from_dict(awareness_dict: Dict[str, Any]) -> Awarenes
11
  Returns:
12
  AwarenessState object
13
  """
14
- # Extract required fields with defaults
15
- level_value = awareness_dict.get('level', AwarenessLevel.BASIC)
16
- # If level is already an enum value, use it; otherwise convert from dict or use default
17
- if not isinstance(level_value, AwarenessLevel):
18
- if isinstance(level_value, dict) and 'name' in level_value:
19
- level_name = level_value['name']
20
- try:
21
- level_value = AwarenessLevel[level_name]
22
- except (KeyError, TypeError):
23
- level_value = AwarenessLevel.BASIC
24
- else:
25
- level_value = AwarenessLevel.BASIC
26
-
27
- # Create the AwarenessState object
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  return AwarenessState(
29
  level=level_value,
30
- perception_data=awareness_dict.get('perception_data', {}),
31
- cognition_state=awareness_dict.get('cognitive_state', {}),
32
- emotional_valence=awareness_dict.get('emotional_valence', 0.0),
33
  semantic_context=awareness_dict.get('semantic_context'),
34
  temporal_awareness=awareness_dict.get('temporal_awareness')
35
  )
 
1
  from typing import Dict, Any
2
  from .integration_manager import AwarenessState, AwarenessLevel
3
+ import numpy as np
4
 
5
  def create_awareness_state_from_dict(awareness_dict: Dict[str, Any]) -> AwarenessState:
6
  """
 
12
  Returns:
13
  AwarenessState object
14
  """
15
+ # Na integration_manager.py, os níveis disponíveis são:
16
+ # UNCONSCIOUS, SUBCONSCIOUS, CONSCIOUS, SELF_AWARE, TRANSCENDENT
17
+
18
+ # Extract level - lidando com diferentes formatos possíveis
19
+ level_value = None
20
+ if 'level' in awareness_dict:
21
+ level = awareness_dict['level']
22
+ if isinstance(level, AwarenessLevel):
23
+ level_value = level
24
+ elif hasattr(level, 'value') and isinstance(level.value, int):
25
+ # Para casos onde level é um enum de states.py
26
+ # Mapeando baseado no valor ordinal
27
+ ordinal = level.value
28
+ if ordinal <= 1:
29
+ level_value = AwarenessLevel.UNCONSCIOUS
30
+ elif ordinal == 2:
31
+ level_value = AwarenessLevel.SUBCONSCIOUS
32
+ elif ordinal == 3:
33
+ level_value = AwarenessLevel.CONSCIOUS
34
+ elif ordinal == 4:
35
+ level_value = AwarenessLevel.SELF_AWARE
36
+ else:
37
+ level_value = AwarenessLevel.TRANSCENDENT
38
+
39
+ # Se não conseguimos determinar o nível, use o padrão
40
+ if level_value is None:
41
+ level_value = AwarenessLevel.UNCONSCIOUS
42
+
43
+ # Mapeie cognitive_state para cognition_state se necessário
44
+ cognition_state = awareness_dict.get('cognition_state', {})
45
+ if not cognition_state and 'cognitive_state' in awareness_dict:
46
+ cognition_state = awareness_dict['cognitive_state']
47
+
48
+ # Mapeie perception_data se estiver faltando
49
+ perception_data = awareness_dict.get('perception_data', {})
50
+
51
+ # Garanta que emotional_valence esteja presente
52
+ emotional_valence = awareness_dict.get('emotional_valence', 0.0)
53
+
54
+ # Crie o objeto AwarenessState
55
  return AwarenessState(
56
  level=level_value,
57
+ perception_data=perception_data,
58
+ cognition_state=cognition_state,
59
+ emotional_valence=emotional_valence,
60
  semantic_context=awareness_dict.get('semantic_context'),
61
  temporal_awareness=awareness_dict.get('temporal_awareness')
62
  )