Module: Legion::Extensions::Agentic::Memory::Echo::Runners::CognitiveEcho

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb

Instance Method Summary collapse

Instance Method Details

#active_echoes(engine: nil) ⇒ Object



32
33
34
35
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 32

def active_echoes(engine: nil, **)
  eng = engine || default_engine
  { success: true, echoes: eng.active_echoes.map(&:to_h), count: eng.active_echoes.size }
end

#create_echo(content:, echo_type: :thought, domain: :general, intensity: 0.8, engine: nil) ⇒ Object



12
13
14
15
16
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 12

def create_echo(content:, echo_type: :thought, domain: :general, intensity: 0.8, engine: nil, **)
  eng = engine || default_engine
  echo = eng.create_echo(content: content, echo_type: echo_type, domain: domain, intensity: intensity)
  { success: true, echo: echo.to_h }
end

#decay_all(engine: nil) ⇒ Object



26
27
28
29
30
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 26

def decay_all(engine: nil, **)
  eng = engine || default_engine
  result = eng.decay_all!
  { success: true, **result }
end

#echo_status(engine: nil) ⇒ Object



65
66
67
68
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 65

def echo_status(engine: nil, **)
  eng = engine || default_engine
  { success: true, **eng.echo_report }
end

#echoes_by_domain(domain:, engine: nil) ⇒ Object



47
48
49
50
51
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 47

def echoes_by_domain(domain:, engine: nil, **)
  eng = engine || default_engine
  echoes = eng.echoes_by_domain(domain: domain)
  { success: true, echoes: echoes.map(&:to_h), count: echoes.size }
end

#interfering_echoes(engine: nil) ⇒ Object



42
43
44
45
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 42

def interfering_echoes(engine: nil, **)
  eng = engine || default_engine
  { success: true, echoes: eng.interfering_echoes.map(&:to_h), count: eng.interfering_echoes.size }
end

#priming_echoes(engine: nil) ⇒ Object



37
38
39
40
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 37

def priming_echoes(engine: nil, **)
  eng = engine || default_engine
  { success: true, echoes: eng.priming_echoes.map(&:to_h), count: eng.priming_echoes.size }
end

#priming_effect(domain:, engine: nil) ⇒ Object



58
59
60
61
62
63
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 58

def priming_effect(domain:, engine: nil, **)
  eng = engine || default_engine
  effect = eng.priming_effect_for(domain: domain)
  label = Helpers::Constants.label_for(Helpers::Constants::EFFECT_LABELS, effect)
  { success: true, domain: domain.to_sym, priming_effect: effect, effect_label: label }
end

#reinforce_echo(echo_id:, amount: 0.15, engine: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 18

def reinforce_echo(echo_id:, amount: 0.15, engine: nil, **)
  eng = engine || default_engine
  echo = eng.reinforce_echo(echo_id: echo_id, amount: amount)
  return { success: false, error: 'echo not found' } unless echo

  { success: true, echo: echo.to_h }
end

#strongest_echoes(limit: 5, engine: nil) ⇒ Object



53
54
55
56
# File 'lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb', line 53

def strongest_echoes(limit: 5, engine: nil, **)
  eng = engine || default_engine
  { success: true, echoes: eng.strongest_echoes(limit: limit).map(&:to_h) }
end