Module: Legion::Extensions::Agentic::Defense::Quicksand::Runners::CognitiveQuicksand

Extended by:
CognitiveQuicksand
Includes:
Helpers::Lex
Included in:
Client, CognitiveQuicksand
Defined in:
lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb

Instance Method Summary collapse

Instance Method Details

#attempt_escape(trap_id:, engine: nil) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 47

def attempt_escape(trap_id:, engine: nil, **)
  eng    = resolve_engine(engine)
  result = eng.attempt_escape(trap_id: trap_id)
  { success: true, trap: result[:trap].to_h, result: result[:result] }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#calm_down(trap_id:, rate: nil, engine: nil) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 39

def calm_down(trap_id:, rate: nil, engine: nil, **)
  eng  = resolve_engine(engine)
  trap = eng.calm(trap_id: trap_id, rate: rate || Helpers::Constants::CALM_RATE)
  { success: true, trap: trap.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_pit(saturation: nil, danger_level: nil, engine: nil) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 22

def create_pit(saturation: nil, danger_level: nil, engine: nil, **)
  eng = resolve_engine(engine)
  p   = eng.create_pit(saturation: saturation, danger_level: danger_level)
  { success: true, pit: p.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_trap(trap_type:, domain:, content:, depth: nil, viscosity: nil, engine: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 12

def create_trap(trap_type:, domain:, content:,
                depth: nil, viscosity: nil, engine: nil, **)
  eng = resolve_engine(engine)
  t   = eng.create_trap(trap_type: trap_type, domain: domain, content: content,
                        depth: depth, viscosity: viscosity)
  { success: true, trap: t.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#list_traps(engine: nil, trap_type: nil) ⇒ Object



55
56
57
58
59
60
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 55

def list_traps(engine: nil, trap_type: nil, **)
  eng     = resolve_engine(engine)
  results = eng.all_traps
  results = results.select { |t| t.trap_type == trap_type.to_sym } if trap_type
  { success: true, traps: results.map(&:to_h), count: results.size }
end

#quicksand_status(engine: nil) ⇒ Object



62
63
64
65
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 62

def quicksand_status(engine: nil, **)
  eng = resolve_engine(engine)
  { success: true, report: eng.quicksand_report }
end

#struggle(trap_id:, engine: nil) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb', line 30

def struggle(trap_id:, engine: nil, **)
  eng    = resolve_engine(engine)
  result = eng.struggle(trap_id: trap_id)
  { success: true, trap: result[:trap].to_h,
    depth: result[:depth], struggle_count: result[:struggle_count] }
rescue ArgumentError => e
  { success: false, error: e.message }
end