Module: Legion::Extensions::Agentic::Executive::Autopilot::Runners::CognitiveAutopilot

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb

Instance Method Summary collapse

Instance Method Details

#autopilot_routines(engine: nil) ⇒ Object



54
55
56
57
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 54

def autopilot_routines(engine: nil, **)
  eng = engine || default_engine
  { success: true, routines: eng.autopilot_routines.map(&:to_h), count: eng.autopilot_routines.size }
end

#autopilot_status(engine: nil) ⇒ Object



77
78
79
80
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 77

def autopilot_status(engine: nil, **)
  eng = engine || default_engine
  { success: true, **eng.autopilot_report }
end

#decay_all(engine: nil) ⇒ Object



48
49
50
51
52
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 48

def decay_all(engine: nil, **)
  eng = engine || default_engine
  result = eng.decay_all!
  { success: true, **result }
end

#execute_routine(routine_id:, success: true, engine: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 18

def execute_routine(routine_id:, success: true, engine: nil, **)
  eng = engine || default_engine
  routine = eng.execute_routine(routine_id: routine_id, success: success)
  return { success: false, error: 'routine not found' } unless routine

  { success: true, routine: routine.to_h, mode: eng.current_mode, energy: eng.energy }
end

#get_routine(routine_id:, engine: nil) ⇒ Object



69
70
71
72
73
74
75
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 69

def get_routine(routine_id:, engine: nil, **)
  eng = engine || default_engine
  routine = eng.find_routine(routine_id: routine_id)
  return { success: false, error: 'routine not found' } unless routine

  { success: true, routine: routine.to_h }
end

#most_familiar(limit: 5, engine: nil) ⇒ Object



64
65
66
67
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 64

def most_familiar(limit: 5, engine: nil, **)
  eng = engine || default_engine
  { success: true, routines: eng.most_familiar(limit: limit).map(&:to_h) }
end

#novel_routines(engine: nil) ⇒ Object



59
60
61
62
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 59

def novel_routines(engine: nil, **)
  eng = engine || default_engine
  { success: true, routines: eng.novel_routines.map(&:to_h), count: eng.novel_routines.size }
end

#register_routine(pattern:, domain: :routine, familiarity: 0.0, engine: nil) ⇒ Object



12
13
14
15
16
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 12

def register_routine(pattern:, domain: :routine, familiarity: 0.0, engine: nil, **)
  eng = engine || default_engine
  routine = eng.register_routine(pattern: pattern, domain: domain, familiarity: familiarity)
  { success: true, routine: routine.to_h }
end

#rest(amount: 0.1, engine: nil) ⇒ Object



42
43
44
45
46
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 42

def rest(amount: 0.1, engine: nil, **)
  eng = engine || default_engine
  eng.rest!(amount: amount)
  { success: true, energy: eng.energy, energy_label: eng.energy_label }
end

#switch_to_autopilot(trigger: 'manual', engine: nil) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 34

def switch_to_autopilot(trigger: 'manual', engine: nil, **)
  eng = engine || default_engine
  result = eng.switch_to_autopilot!(trigger: trigger)
  return { success: false, error: 'already in autopilot mode' } unless result

  { success: true, mode: :autopilot, energy: eng.energy }
end

#switch_to_deliberate(trigger: 'manual', engine: nil) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/legion/extensions/agentic/executive/autopilot/runners/cognitive_autopilot.rb', line 26

def switch_to_deliberate(trigger: 'manual', engine: nil, **)
  eng = engine || default_engine
  result = eng.switch_to_deliberate!(trigger: trigger)
  return { success: false, error: 'already in deliberate mode' } unless result

  { success: true, mode: :deliberate, energy: eng.energy }
end