Module: Legion::Extensions::Agentic::Attention::Lens::Runners::CognitiveLens

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb

Instance Method Summary collapse

Instance Method Details

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



67
68
69
70
71
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 67

def clearest_lenses(limit: 3, engine: nil, **)
  eng = engine || lens_engine
  lenses = eng.clearest_lenses(limit: limit)
  { success: true, lenses: lenses }
end

#create_lens(lens_type:, magnification: nil, clarity: 1.0, distortion: nil, aperture: nil, engine: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 13

def create_lens(lens_type:, magnification: nil, clarity: 1.0, distortion: nil, aperture: nil,
                engine: nil, **)
  raise ArgumentError, "unknown lens_type: #{lens_type}" unless Helpers::Constants::LENS_TYPES.include?(lens_type)

  eng  = engine || lens_engine
  lens = eng.create_lens(
    lens_type:     lens_type,
    magnification: magnification,
    clarity:       clarity,
    distortion:    distortion,
    aperture:      aperture
  )
  log.debug("[cognitive_lens] created lens id=#{lens.id} type=#{lens_type} " \
            "mag=#{lens.magnification.round(2)} clarity=#{lens.clarity.round(2)}")
  { success: true, lens: lens.to_h }
rescue ArgumentError => e
  log.warn("[cognitive_lens] create_lens failed: #{e.message}")
  { success: false, error: e.message }
end

#degrade_all(rate: Helpers::Constants::SMUDGE_RATE_DEFAULT, engine: nil) ⇒ Object



54
55
56
57
58
59
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 54

def degrade_all(rate: Helpers::Constants::SMUDGE_RATE_DEFAULT, engine: nil, **)
  eng    = engine || lens_engine
  result = eng.degrade_all!(rate: rate)
  log.debug("[cognitive_lens] degraded #{result[:degraded]} lenses at rate=#{rate}")
  { success: true, **result }
end

#lens_report(engine: nil) ⇒ Object



61
62
63
64
65
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 61

def lens_report(engine: nil, **)
  eng    = engine || lens_engine
  report = eng.lens_report
  { success: true, **report }
end

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



73
74
75
76
77
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 73

def most_distorted(limit: 3, engine: nil, **)
  eng = engine || lens_engine
  lenses = eng.most_distorted(limit: limit)
  { success: true, lenses: lenses }
end

#stack_lenses(lens_ids:, stack_id: nil, engine: nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 33

def stack_lenses(lens_ids:, stack_id: nil, engine: nil, **)
  raise ArgumentError, 'lens_ids must be an array' unless lens_ids.is_a?(Array)

  eng    = engine || lens_engine
  result = eng.stack_lenses(lens_ids: lens_ids, stack_id: stack_id)
  log.debug("[cognitive_lens] stacked #{lens_ids.size} lenses stack_id=#{result[:stack_id]}")
  { success: true, stack_id: result[:stack_id], stack: result[:stack].to_h }
rescue ArgumentError => e
  log.warn("[cognitive_lens] stack_lenses failed: #{e.message}")
  { success: false, error: e.message }
end

#view_through_stack(stack_id:, content:, engine: nil) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/legion/extensions/agentic/attention/lens/runners/cognitive_lens.rb', line 45

def view_through_stack(stack_id:, content:, engine: nil, **)
  eng    = engine || lens_engine
  result = eng.view_through_stack(stack_id: stack_id, content: content)
  { success: true, **result }
rescue ArgumentError => e
  log.warn("[cognitive_lens] view_through_stack failed: #{e.message}")
  { success: false, error: e.message }
end