legion-llm 0.6.25 → 0.6.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e329176f3f041bc5cade11008d7a932325df80d510142da79f362ab5bd27e5a
4
- data.tar.gz: 46f1e1a12ebd64bafdbe0e4d4f799df4addf586e5c89dfd7824cef4694582681
3
+ metadata.gz: af7fcbce72c505c3b3e917b9d35722c1f4ff52aeb501cf2d2cfb405696396182
4
+ data.tar.gz: e7b4218911866adc8bddad3bff9fdddbef37f28c17b97c9efeccb80479a678f8
5
5
  SHA512:
6
- metadata.gz: 464cf343578d082092d57ed8a8091724a3508925088f795b1c1a1724250ec8876bb18ae32b8957b738df7439a31d1ce436275274997925f7cdc8ebafcdf99080
7
- data.tar.gz: 0be8ab0bd23eed8cf0320aed8d422f9d1a63937e888ece646ead1c7615add65c8f769f6da250859c8f8e32013bb7daffd3310a311df9d279339902568e4151fb
6
+ metadata.gz: d709a447c48dba8b0e4de936d13d5ddb9b632bbd887aec1c18e4ec3182b2348ad4ae381f1b637ab02eca2ea67210e51e2b5c1ba6a7891cddc4c4aaeb2baeb37b
7
+ data.tar.gz: '090830b799d8ba677c44d5bcfd1e665da3a27dbd3e2a995abbdcc12db0fc36efa93663edb67e167d4273f00b4e6bb2af32c6025a6a3c07359e0efb62a62757a2'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Legion LLM Changelog
2
2
 
3
+ ## [0.6.26] - 2026-04-09
4
+
5
+ ### Changed
6
+ - Canonical exchange location is now `Legion::LLM::Transport::Exchanges::Metering` and `::Audit`
7
+ - `Legion::LLM::Metering::Exchange` and `Legion::LLM::Audit::Exchange` are now thin aliases for backwards compatibility
8
+ - `AuditEvent` and `EscalationEvent` inherit `Legion::LLM::Transport::Message` instead of `::Legion::Transport::Message`
9
+ - Event classes (`Metering::Event`, `Audit::PromptEvent`, `Audit::ToolEvent`) reference `Transport::Exchanges::*`
10
+
3
11
  ## [0.6.25] - 2026-04-08
4
12
 
5
13
  ### Added
@@ -1,12 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative '../transport/exchanges/audit'
4
+
3
5
  module Legion
4
6
  module LLM
5
7
  module Audit
6
- class Exchange < ::Legion::Transport::Exchange
7
- def exchange_name = 'llm.audit'
8
- def default_type = 'topic'
9
- end
8
+ Exchange = Legion::LLM::Transport::Exchanges::Audit
10
9
  end
11
10
  end
12
11
  end
@@ -7,7 +7,7 @@ module Legion
7
7
  module Audit
8
8
  class PromptEvent < Legion::LLM::Transport::Message
9
9
  def type = 'llm.audit.prompt'
10
- def exchange = Legion::LLM::Audit::Exchange
10
+ def exchange = Legion::LLM::Transport::Exchanges::Audit
11
11
  def routing_key = "audit.prompt.#{@options[:request_type]}"
12
12
  def priority = 0
13
13
  def encrypt? = true
@@ -7,7 +7,7 @@ module Legion
7
7
  module Audit
8
8
  class ToolEvent < Legion::LLM::Transport::Message
9
9
  def type = 'llm.audit.tool'
10
- def exchange = Legion::LLM::Audit::Exchange
10
+ def exchange = Legion::LLM::Transport::Exchanges::Audit
11
11
  def routing_key = "audit.tool.#{@options[:tool_name]}"
12
12
  def priority = 0
13
13
  def encrypt? = true
@@ -7,7 +7,7 @@ module Legion
7
7
  module Metering
8
8
  class Event < Legion::LLM::Transport::Message
9
9
  def type = 'llm.metering.event'
10
- def exchange = Legion::LLM::Metering::Exchange
10
+ def exchange = Legion::LLM::Transport::Exchanges::Metering
11
11
  def routing_key = "metering.#{@options[:request_type]}"
12
12
  def priority = 0
13
13
  def encrypt? = false
@@ -1,12 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative '../transport/exchanges/metering'
4
+
3
5
  module Legion
4
6
  module LLM
5
7
  module Metering
6
- class Exchange < ::Legion::Transport::Exchange
7
- def exchange_name = 'llm.metering'
8
- def default_type = 'topic'
9
- end
8
+ Exchange = Legion::LLM::Transport::Exchanges::Metering
10
9
  end
11
10
  end
12
11
  end
@@ -8,6 +8,10 @@ module Legion
8
8
  def exchange_name
9
9
  'llm.audit'
10
10
  end
11
+
12
+ def default_type
13
+ 'topic'
14
+ end
11
15
  end
12
16
  end
13
17
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module LLM
5
+ module Transport
6
+ module Exchanges
7
+ class Metering < ::Legion::Transport::Exchange
8
+ def exchange_name
9
+ 'llm.metering'
10
+ end
11
+
12
+ def default_type
13
+ 'topic'
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -4,7 +4,7 @@ module Legion
4
4
  module LLM
5
5
  module Transport
6
6
  module Messages
7
- class AuditEvent < ::Legion::Transport::Message
7
+ class AuditEvent < Legion::LLM::Transport::Message
8
8
  def exchange
9
9
  Legion::LLM::Transport::Exchanges::Audit
10
10
  end
@@ -4,7 +4,7 @@ module Legion
4
4
  module LLM
5
5
  module Transport
6
6
  module Messages
7
- class EscalationEvent < ::Legion::Transport::Message
7
+ class EscalationEvent < Legion::LLM::Transport::Message
8
8
  routing_key 'llm.escalation.completed'
9
9
  end
10
10
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module LLM
5
- VERSION = '0.6.25'
5
+ VERSION = '0.6.26'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.25
4
+ version: 0.6.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -322,6 +322,7 @@ files:
322
322
  - lib/legion/llm/token_tracker.rb
323
323
  - lib/legion/llm/transport/exchanges/audit.rb
324
324
  - lib/legion/llm/transport/exchanges/escalation.rb
325
+ - lib/legion/llm/transport/exchanges/metering.rb
325
326
  - lib/legion/llm/transport/message.rb
326
327
  - lib/legion/llm/transport/messages/audit_event.rb
327
328
  - lib/legion/llm/transport/messages/escalation_event.rb