Module: Legion::Gaia::Advisory
- Extended by:
- Logging::Helper
- Defined in:
- lib/legion/gaia/advisory.rb
Class Method Summary collapse
-
.advise(caller:, conversation_id: nil, messages: nil) ⇒ Object
Fast in-memory advisory.
Class Method Details
.advise(caller:, conversation_id: nil, messages: nil) ⇒ Object
Fast in-memory advisory. NEVER makes LLM calls. Returns Hash with optional keys: system_prompt, routing_hint, context_window, tool_hint, suppress, valence
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/legion/gaia/advisory.rb', line 15 def advise(caller:, conversation_id: nil, messages: nil) log.unknown "advise(caller: #{caller}, conversation_id: #{conversation_id}, messages: #{}) " return nil unless Gaia.started? advisory = {} advisory[:valence] = Gaia.last_valences if Gaia.last_valences merge_tick_data!(advisory, Gaia.registry&.tick_host&.last_tick_result) merge_observer_data!(advisory, caller) result = advisory.compact if result.any? log.info("GAIA advisory generated conversation_id=#{conversation_id} keys=#{result.keys.join(',')}") end result rescue StandardError => e handle_exception(e, level: :warn, operation: 'gaia.advisory.advise', conversation_id: conversation_id) nil end |