Module: Legion::Extensions::Agentic::Defense::Whirlpool::Runners::CognitiveWhirlpool

Extended by:
CognitiveWhirlpool
Includes:
Helpers::Lex
Included in:
Client, CognitiveWhirlpool
Defined in:
lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb

Instance Method Summary collapse

Instance Method Details

#clear_engine(engine: nil) ⇒ Object



96
97
98
99
100
101
102
103
104
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 96

def clear_engine(engine: nil, **)
  eng = engine || default_engine
  result = eng.clear
  log.info('[cognitive_whirlpool] engine cleared')
  result.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] clear_engine failed: #{e.message}")
  { success: false, error: e.message }
end

#create_vortex(vortex_type:, angular_velocity: 0.5, depth: 0.0, capture_radius: 0.5, engine: nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 14

def create_vortex(vortex_type:, angular_velocity: 0.5, depth: 0.0, capture_radius: 0.5,
                  engine: nil, **)
  eng = engine || default_engine
  vortex = eng.create_vortex(
    vortex_type:      vortex_type,
    angular_velocity: angular_velocity,
    depth:            depth,
    capture_radius:   capture_radius
  )
  log.info("[cognitive_whirlpool] created vortex id=#{vortex.vortex_id} type=#{vortex_type}")
  { success: true, vortex: vortex.to_h }
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] create_vortex failed: #{e.message}")
  { success: false, error: e.message }
end

#deepest_vortices(limit: 3, engine: nil) ⇒ Object



76
77
78
79
80
81
82
83
84
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 76

def deepest_vortices(limit: 3, engine: nil, **)
  eng = engine || default_engine
  vortices = eng.deepest_vortices(limit: limit)
  log.debug("[cognitive_whirlpool] deepest: count=#{vortices.size}")
  { success: true, vortices: vortices }
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] deepest_vortices failed: #{e.message}")
  { success: false, error: e.message }
end

#dissipate_all(rate: Helpers::Constants::VELOCITY_DECAY, engine: nil) ⇒ Object



56
57
58
59
60
61
62
63
64
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 56

def dissipate_all(rate: Helpers::Constants::VELOCITY_DECAY, engine: nil, **)
  eng = engine || default_engine
  result = eng.dissipate_all!(rate: rate)
  log.debug("[cognitive_whirlpool] dissipate: removed=#{result[:dissipated]} remaining=#{result[:remaining]}")
  result.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] dissipate_all failed: #{e.message}")
  { success: false, error: e.message }
end

#inject_thought(vortex_id:, content:, domain: :general, distance_from_core: 1.0, engine: nil) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 30

def inject_thought(vortex_id:, content:, domain: :general, distance_from_core: 1.0,
                   engine: nil, **)
  eng = engine || default_engine
  result = eng.inject_thought(
    vortex_id:          vortex_id,
    content:            content,
    domain:             domain,
    distance_from_core: distance_from_core
  )
  log.info("[cognitive_whirlpool] injected thought=#{result[:thought_id]} into vortex=#{vortex_id}")
  result.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] inject_thought failed: #{e.message}")
  { success: false, error: e.message }
end

#remove_vortex(vortex_id:, engine: nil) ⇒ Object



86
87
88
89
90
91
92
93
94
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 86

def remove_vortex(vortex_id:, engine: nil, **)
  eng = engine || default_engine
  result = eng.remove_vortex(vortex_id)
  log.debug("[cognitive_whirlpool] removed vortex=#{vortex_id}")
  result.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] remove_vortex failed: #{e.message}")
  { success: false, error: e.message }
end

#tick_all(spiral_rate: nil, engine: nil) ⇒ Object



46
47
48
49
50
51
52
53
54
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 46

def tick_all(spiral_rate: nil, engine: nil, **)
  eng = engine || default_engine
  result = eng.tick_all!(spiral_rate: spiral_rate)
  log.debug("[cognitive_whirlpool] tick: vortices=#{result[:ticked]}")
  result.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] tick_all failed: #{e.message}")
  { success: false, error: e.message }
end

#vortex_report(engine: nil) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb', line 66

def vortex_report(engine: nil, **)
  eng = engine || default_engine
  report = eng.vortex_report
  log.debug("[cognitive_whirlpool] report: vortices=#{report[:total_vortices]}")
  report.merge(success: true)
rescue ArgumentError => e
  log.warn("[cognitive_whirlpool] vortex_report failed: #{e.message}")
  { success: false, error: e.message }
end