Module: Legion::Extensions::Agentic::Memory::Nostalgia::Runners::Recall

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

Instance Method Summary collapse

Instance Method Details

#age_memories(engine: nil) ⇒ Object



33
34
35
36
37
38
# File 'lib/legion/extensions/agentic/memory/nostalgia/runners/recall.rb', line 33

def age_memories(engine: nil, **)
  eng = engine || nostalgia_engine
  eng.age_all!
  log.debug("[cognitive_nostalgia] aged #{eng.memories.size} memories")
  { success: true, memory_count: eng.memories.size }
end

#nostalgia_report(engine: nil) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/legion/extensions/agentic/memory/nostalgia/runners/recall.rb', line 40

def nostalgia_report(engine: nil, **)
  eng = engine || nostalgia_engine
  report = eng.nostalgia_report
  idx = report[:rosy_retrospection_index].round(2)
  pro = report[:nostalgia_proneness].round(2)
  log.debug("[cognitive_nostalgia] report: index=#{idx} proneness=#{pro}")
  { success: true, **report }
end

#store_memory(content:, domain: :unknown, warmth: Helpers::Constants::DEFAULT_WARMTH, original_valence: 0.5, engine: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/legion/extensions/agentic/memory/nostalgia/runners/recall.rb', line 13

def store_memory(content:, domain: :unknown, warmth: Helpers::Constants::DEFAULT_WARMTH,
                 original_valence: 0.5, engine: nil, **)
  eng = engine || nostalgia_engine
  memory = eng.create_memory(
    content:          content,
    domain:           domain,
    warmth:           warmth,
    original_valence: original_valence
  )
  log.debug("[cognitive_nostalgia] stored memory id=#{memory.id} domain=#{memory.domain} warmth=#{memory.warmth.round(2)}")
  { success: true, memory: memory.to_h }
end

#trigger_nostalgia(trigger:, domain: nil, intensity_hint: nil, engine: nil) ⇒ Object



26
27
28
29
30
31
# File 'lib/legion/extensions/agentic/memory/nostalgia/runners/recall.rb', line 26

def trigger_nostalgia(trigger:, domain: nil, intensity_hint: nil, engine: nil, **)
  eng = engine || nostalgia_engine
  events = eng.trigger_nostalgia(trigger: trigger, domain: domain, intensity_hint: intensity_hint)
  log.debug("[cognitive_nostalgia] triggered nostalgia: trigger=#{trigger} events=#{events.size}")
  { success: true, events: events.map(&:to_h), count: events.size }
end