Module: Legion::Extensions::Agentic::Executive::Triage::Runners::CognitiveTriage

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

Instance Method Summary collapse

Instance Method Details

#active_demands(engine: nil) ⇒ Object



60
61
62
63
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 60

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

#add_demand(description:, domain: :general, severity: :moderate, urgency: :soon, engine: nil) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 12

def add_demand(description:, domain: :general, severity: :moderate, urgency: :soon, engine: nil, **)
  eng = engine || default_engine
  demand = eng.add_demand(
    description: description, domain: domain, severity: severity, urgency: urgency
  )
  { success: true, demand: demand.to_h, capacity: eng.capacity }
end

#capacity_status(engine: nil) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 82

def capacity_status(engine: nil, **)
  eng = engine || default_engine
  {
    success:        true,
    capacity:       eng.capacity,
    capacity_label: eng.capacity_label,
    overloaded:     eng.overloaded?,
    queue_pressure: eng.queue_pressure,
    queue_label:    eng.queue_label
  }
end

#complete_demand(demand_id:, engine: nil) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 28

def complete_demand(demand_id:, engine: nil, **)
  eng = engine || default_engine
  demand = eng.complete_demand(demand_id: demand_id)
  return { success: false, error: 'demand not found' } unless demand

  { success: true, demand: demand.to_h, capacity: eng.capacity }
end

#defer_demand(demand_id:, engine: nil) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 36

def defer_demand(demand_id:, engine: nil, **)
  eng = engine || default_engine
  demand = eng.defer_demand(demand_id: demand_id)
  return { success: false, error: 'demand not found or not active' } unless demand

  { success: true, demand: demand.to_h, capacity: eng.capacity }
end

#demands_by_domain(domain:, engine: nil) ⇒ Object



76
77
78
79
80
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 76

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

#demands_by_severity(severity:, engine: nil) ⇒ Object



70
71
72
73
74
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 70

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

#drop_demand(demand_id:, engine: nil) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 44

def drop_demand(demand_id:, engine: nil, **)
  eng = engine || default_engine
  demand = eng.drop_demand(demand_id: demand_id)
  return { success: false, error: 'demand not found or not active' } unless demand

  { success: true, demand: demand.to_h, capacity: eng.capacity }
end

#next_demand(engine: nil) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 52

def next_demand(engine: nil, **)
  eng = engine || default_engine
  demand = eng.next_demand
  return { success: true, found: false } unless demand

  { success: true, found: true, demand: demand.to_h }
end

#process_demand(demand_id:, engine: nil) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 20

def process_demand(demand_id:, engine: nil, **)
  eng = engine || default_engine
  demand = eng.process_demand(demand_id: demand_id)
  return { success: false, error: 'demand not found or not active' } unless demand

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

#red_demands(engine: nil) ⇒ Object



65
66
67
68
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 65

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

#triage_report(engine: nil) ⇒ Object



94
95
96
97
# File 'lib/legion/extensions/agentic/executive/triage/runners/cognitive_triage.rb', line 94

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