Module: Legion::Extensions::Agentic::Defense::Avalanche::Runners::CognitiveAvalanche

Extended by:
CognitiveAvalanche
Includes:
Helpers::Lex
Included in:
Client, CognitiveAvalanche
Defined in:
lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb

Instance Method Summary collapse

Instance Method Details

#accumulate(rate: Helpers::Constants::ACCUMULATION_RATE, engine: nil) ⇒ Object



43
44
45
46
47
# File 'lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb', line 43

def accumulate(rate: Helpers::Constants::ACCUMULATION_RATE, engine: nil, **)
  avalanche_engine(engine).accumulate_all!(rate: rate)
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_snowpack(snowpack_type: nil, domain: nil, content: nil, depth: 0.0, stability: 1.0, engine: nil) ⇒ Object



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

def create_snowpack(snowpack_type: nil, domain: nil, content: nil,
                    depth: 0.0, stability: 1.0, engine: nil, **)
  raise ArgumentError, 'snowpack_type is required' if snowpack_type.nil?
  raise ArgumentError, 'domain is required'        if domain.nil?
  raise ArgumentError, 'content is required'       if content.nil?

  avalanche_engine(engine).create_snowpack(
    snowpack_type: snowpack_type,
    domain:        domain,
    content:       content,
    depth:         depth,
    stability:     stability
  )
rescue ArgumentError => e
  { success: false, error: e.message }
end

#list_snowpacks(engine: nil) ⇒ Object



49
50
51
52
53
54
55
# File 'lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb', line 49

def list_snowpacks(engine: nil, **)
  eng   = avalanche_engine(engine)
  packs = eng.snowpacks.values.map(&:to_h)
  { success: true, snowpacks: packs, count: packs.size }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#terrain_status(engine: nil) ⇒ Object



57
58
59
60
61
62
# File 'lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb', line 57

def terrain_status(engine: nil, **)
  report = avalanche_engine(engine).terrain_report
  { success: true }.merge(report)
rescue ArgumentError => e
  { success: false, error: e.message }
end

#trigger(snowpack_id: nil, force: 0.5, cascade_type: :chaotic, engine: nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb', line 31

def trigger(snowpack_id: nil, force: 0.5, cascade_type: :chaotic, engine: nil, **)
  raise ArgumentError, 'snowpack_id is required' if snowpack_id.nil?

  avalanche_engine(engine).trigger(
    snowpack_id:  snowpack_id,
    force:        force,
    cascade_type: cascade_type
  )
rescue ArgumentError => e
  { success: false, error: e.message }
end