Module: Legion::Extensions::Agentic::Attention::Blink::Runners::AttentionalBlink

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

Instance Method Summary collapse

Instance Method Details



41
42
43
44
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 41

def adjust_blink_duration(duration:, **)
  engine.adjust_blink_duration(duration: duration)
  { success: true, blink_duration: duration }
end


66
67
68
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 66

def attentional_blink_stats(**)
  engine.to_h
end


62
63
64
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 62

def blink_report(**)
  engine.blink_report
end


21
22
23
24
25
26
27
28
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 21

def check_blink_status(**)
  {
    success:        true,
    blink_active:   engine.blink_active?,
    recovery_level: engine.recovery_level,
    recovery_label: engine.recovery_label
  }
end


30
31
32
33
34
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 30

def force_blink(duration: nil, **)
  d = duration || Helpers::Constants::DEFAULT_BLINK_DURATION
  result = engine.force_blink!(duration: d)
  { success: true }.merge(result)
end

#force_recoverObject



36
37
38
39
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 36

def force_recover(**)
  result = engine.force_recover!
  { success: true }.merge(result)
end

#missed_stimuli_reportObject



51
52
53
54
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 51

def missed_stimuli_report(**)
  missed = engine.missed_stimuli
  { success: true, count: missed.size, stimuli: missed.map(&:to_h) }
end

#recent_stimuli_report(limit: 10) ⇒ Object



46
47
48
49
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 46

def recent_stimuli_report(limit: 10, **)
  stimuli = engine.recent_stimuli(limit: limit)
  { success: true, count: stimuli.size, stimuli: stimuli.map(&:to_h) }
end

#stimuli_by_type_report(stimulus_type:) ⇒ Object



56
57
58
59
60
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 56

def stimuli_by_type_report(stimulus_type:, **)
  stimuli = engine.stimuli_by_type(stimulus_type: stimulus_type)
  { success: true, stimulus_type: stimulus_type.to_sym, count: stimuli.size,
    stimuli: stimuli.map(&:to_h) }
end

#submit_stimulus(stimulus_type:, content:, salience: 0.5) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/legion/extensions/agentic/attention/blink/runners/attentional_blink.rb', line 12

def submit_stimulus(stimulus_type:, content:, salience: 0.5, **)
  stimulus = engine.submit_stimulus(
    stimulus_type: stimulus_type,
    content:       content,
    salience:      salience
  )
  { success: true }.merge(stimulus.to_h)
end