Module: Legion::LLM::Audit
- Extended by:
- Legion::Logging::Helper
- Defined in:
- lib/legion/llm/audit.rb
Class Method Summary collapse
-
.const_missing(name) ⇒ Object
Backward-compat: resolve old Legion::LLM::Audit::Exchange, ::PromptEvent, etc.
- .emit_prompt(event) ⇒ Object
- .emit_skill(**event) ⇒ Object
- .emit_tools(event) ⇒ Object
- .load_transport ⇒ Object
- .transport_connected? ⇒ Boolean
Class Method Details
.const_missing(name) ⇒ Object
Backward-compat: resolve old Legion::LLM::Audit::Exchange, ::PromptEvent, etc.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/legion/llm/audit.rb', line 69 def self.const_missing(name) case name when :Exchange require_relative 'transport/exchanges/audit' Transport::Exchanges::Audit when :PromptEvent require_relative 'transport/messages/prompt_event' Transport::Messages::PromptEvent when :ToolEvent require_relative 'transport/messages/tool_event' Transport::Messages::ToolEvent when :SkillEvent require_relative 'transport/messages/skill_event' Transport::Messages::SkillEvent else super end end |
.emit_prompt(event) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/legion/llm/audit.rb', line 21 def emit_prompt(event) if transport_connected? && defined?(Legion::LLM::Transport::Messages::PromptEvent) Legion::LLM::Transport::Messages::PromptEvent.new(**event).publish log.info('[llm][audit] published prompt audit') :published else log.warn('[llm][audit] dropped prompt audit: transport unavailable') :dropped end rescue StandardError => e handle_exception(e, level: :warn, operation: 'llm.audit.emit_prompt') :dropped end |
.emit_skill(**event) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/legion/llm/audit.rb', line 49 def emit_skill(**event) if transport_connected? && defined?(Legion::LLM::Transport::Messages::SkillEvent) Legion::LLM::Transport::Messages::SkillEvent.new(**event).publish log.info('[llm][audit] published skill audit') :published else log.warn('[llm][audit] dropped skill audit: transport unavailable') :dropped end rescue StandardError => e handle_exception(e, level: :warn, operation: 'llm.audit.emit_skill') :dropped end |
.emit_tools(event) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/legion/llm/audit.rb', line 35 def emit_tools(event) if transport_connected? && defined?(Legion::LLM::Transport::Messages::ToolEvent) Legion::LLM::Transport::Messages::ToolEvent.new(**event).publish log.info('[llm][audit] published tool audit') :published else log.warn('[llm][audit] dropped tool audit: transport unavailable') :dropped end rescue StandardError => e handle_exception(e, level: :warn, operation: 'llm.audit.emit_tools') :dropped end |
.load_transport ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/legion/llm/audit.rb', line 10 def self.load_transport return unless defined?(Legion::Transport::Message) require_relative 'transport/exchanges/audit' require_relative 'transport/messages/prompt_event' require_relative 'transport/messages/tool_event' require_relative 'transport/messages/skill_event' end |