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
- #active_demands(engine: nil) ⇒ Object
- #add_demand(description:, domain: :general, severity: :moderate, urgency: :soon, engine: nil) ⇒ Object
- #capacity_status(engine: nil) ⇒ Object
- #complete_demand(demand_id:, engine: nil) ⇒ Object
- #defer_demand(demand_id:, engine: nil) ⇒ Object
- #demands_by_domain(domain:, engine: nil) ⇒ Object
- #demands_by_severity(severity:, engine: nil) ⇒ Object
- #drop_demand(demand_id:, engine: nil) ⇒ Object
- #next_demand(engine: nil) ⇒ Object
- #process_demand(demand_id:, engine: nil) ⇒ Object
- #red_demands(engine: nil) ⇒ Object
- #triage_report(engine: nil) ⇒ Object
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 |