lex-llm-ledger 0.1.4 → 0.1.7

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: 3f98d445884cb54a68cdd94d64f82d3953376febec0e5960c35be46c5fd5ed47
4
- data.tar.gz: 8915d02f747c53b7da27278ecdd34422aa0ad815554537ba40c9a639cb3ae1c6
3
+ metadata.gz: b2974ad3de78ec12ce99650fedb099f424ec52d37d12e413188f95ba41cae329
4
+ data.tar.gz: 032c101bbe4a7f098dc57367c2a31be5f4d48113af5bd248ce28cb1ae137ece8
5
5
  SHA512:
6
- metadata.gz: 7293554ddc3d073a1e763f2289367bce403d3a5ff310dd964e9ec92c0d015e9cf82b1a01deef9c73ff9ebebea0b2a3ea35a23b62f1dc3623d3c7920090a72eeb
7
- data.tar.gz: 967d0de8ae549548b6cd387a6d7e8dec6a3bb73dd8a367e2017dd29d23bc72609d077b3810177672b9091de23b78eea0ad724a6022745b5761860459c0c4b87e
6
+ metadata.gz: 679a2c63da4fc5ab8ce37d09ca2a208288aa1aadae1c28696345a3ac6581c7210e3592b15347d805204dfd2ed488b651be035abc0127b0789d8369d6d6f59ad9
7
+ data.tar.gz: 7ad669d0a13243d880ae72c7ea245bf330025cfee9e70c49fe5ca722c025aee8801b1978dcd20e5cbd13051d46ded7c8f57de76be26d42223aec0a25a9f6fe44
data/CHANGELOG.md CHANGED
@@ -1,9 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## [0.1.4] - 2026-04-09
3
+ ## [0.1.7] - 2026-04-09
4
+
5
+ ### Changed
6
+ - Rename module namespace from `Legion::Extensions::LLM::Ledger` to `Legion::Extensions::Llm::Ledger` for framework const_get compatibility
7
+ - Add legion-llm dependency to gemspec
8
+ - Use legion-llm exchange classes (Legion::LLM::Transport::Exchanges::Metering, ::Audit) instead of local duplicates
9
+ - Remove local exchange files in favor of legion-llm originals
10
+ - Transport requires legion-llm exchanges with LoadError rescue in entry point
11
+ - Transport extend without const_defined? guard (loaded after Core is available)
4
12
 
5
13
  ### Fixed
6
14
  - Transport additional_e_to_q uses `from:`/`to:`/`routing_key:` keys matching framework bind_e_to_q contract
15
+ - Entry point requires wrapped in rescue to prevent silent load failures
16
+
17
+ ## [0.1.4] - 2026-04-09
18
+
19
+ ### Fixed
20
+ - Transport additional_e_to_q uses `from:`/`to:`/`routing_key:` keys matching framework bind_e_to_q contract (unreleased)
7
21
 
8
22
  ## [0.1.3] - 2026-04-09
9
23
 
@@ -6,7 +6,7 @@ require 'legion/extensions/llm/ledger/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'lex-llm-ledger'
9
- spec.version = Legion::Extensions::LLM::Ledger::VERSION
9
+ spec.version = Legion::Extensions::Llm::Ledger::VERSION
10
10
  spec.authors = ['Esity']
11
11
  spec.email = ['matthewdiverson@gmail.com']
12
12
 
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.add_dependency 'legion-data', '>= 1.6'
32
32
  spec.add_dependency 'legion-json', '>= 1.2'
33
+ spec.add_dependency 'legion-llm', '>= 0.6'
33
34
  spec.add_dependency 'legion-logging', '>= 1.3'
34
35
  spec.add_dependency 'legion-settings', '>= 1.3'
35
36
  spec.add_dependency 'legion-transport', '>= 1.4'
@@ -4,11 +4,11 @@ require 'legion/extensions/actors/subscription'
4
4
 
5
5
  module Legion
6
6
  module Extensions
7
- module LLM
7
+ module Llm
8
8
  module Ledger
9
9
  module Actor
10
10
  class MeteringWriter < Legion::Extensions::Actors::Subscription
11
- def runner_class = Legion::Extensions::LLM::Ledger::Runners::Metering
11
+ def runner_class = Legion::Extensions::Llm::Ledger::Runners::Metering
12
12
 
13
13
  def runner_function
14
14
  'write_metering_record'
@@ -4,11 +4,11 @@ require 'legion/extensions/actors/subscription'
4
4
 
5
5
  module Legion
6
6
  module Extensions
7
- module LLM
7
+ module Llm
8
8
  module Ledger
9
9
  module Actor
10
10
  class PromptWriter < Legion::Extensions::Actors::Subscription
11
- def runner_class = Legion::Extensions::LLM::Ledger::Runners::Prompts
11
+ def runner_class = Legion::Extensions::Llm::Ledger::Runners::Prompts
12
12
 
13
13
  def runner_function
14
14
  'write_prompt_record'
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Actor
8
8
  class SpoolFlush < Legion::Extensions::Actors::Every # rubocop:disable Legion/Extension/EveryActorRequiresTime
@@ -4,11 +4,11 @@ require 'legion/extensions/actors/subscription'
4
4
 
5
5
  module Legion
6
6
  module Extensions
7
- module LLM
7
+ module Llm
8
8
  module Ledger
9
9
  module Actor
10
10
  class ToolWriter < Legion::Extensions::Actors::Subscription
11
- def runner_class = Legion::Extensions::LLM::Ledger::Runners::Tools
11
+ def runner_class = Legion::Extensions::Llm::Ledger::Runners::Tools
12
12
 
13
13
  def runner_function
14
14
  'write_tool_record'
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Helpers
8
8
  module Decryption
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Helpers
8
8
  module Queries
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Helpers
8
8
  module Retention
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Runners
8
8
  module Metering
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Runners
8
8
  module Prompts
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Runners
8
8
  module ProviderStats
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Runners
8
8
  module Tools
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Runners
8
8
  module UsageReporter
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Transport
8
8
  module Queues
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Transport
8
8
  module Queues
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
7
  module Transport
8
8
  module Queues
@@ -1,33 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- begin
4
- require 'legion/extensions/transport'
5
- rescue LoadError => _e
6
- nil
7
- end
3
+ require 'legion/extensions/transport'
4
+ require 'legion/llm/transport/exchanges/metering'
5
+ require 'legion/llm/transport/exchanges/audit'
8
6
 
9
7
  module Legion
10
8
  module Extensions
11
- module LLM
9
+ module Llm
12
10
  module Ledger
13
11
  module Transport
14
- extend Legion::Extensions::Transport if Legion::Extensions.const_defined?(:Transport, false)
12
+ extend Legion::Extensions::Transport
15
13
 
16
14
  def self.additional_e_to_q
17
15
  [
18
16
  {
19
- from: Legion::Extensions::LLM::Ledger::Transport::Exchanges::Metering,
20
- to: Legion::Extensions::LLM::Ledger::Transport::Queues::MeteringWrite,
17
+ from: Legion::LLM::Transport::Exchanges::Metering,
18
+ to: Legion::Extensions::Llm::Ledger::Transport::Queues::MeteringWrite,
21
19
  routing_key: 'metering.#'
22
20
  },
23
21
  {
24
- from: Legion::Extensions::LLM::Ledger::Transport::Exchanges::Audit,
25
- to: Legion::Extensions::LLM::Ledger::Transport::Queues::AuditPrompts,
22
+ from: Legion::LLM::Transport::Exchanges::Audit,
23
+ to: Legion::Extensions::Llm::Ledger::Transport::Queues::AuditPrompts,
26
24
  routing_key: 'audit.prompt.#'
27
25
  },
28
26
  {
29
- from: Legion::Extensions::LLM::Ledger::Transport::Exchanges::Audit,
30
- to: Legion::Extensions::LLM::Ledger::Transport::Queues::AuditTools,
27
+ from: Legion::LLM::Transport::Exchanges::Audit,
28
+ to: Legion::Extensions::Llm::Ledger::Transport::Queues::AuditTools,
31
29
  routing_key: 'audit.tool.#'
32
30
  }
33
31
  ]
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Legion
4
4
  module Extensions
5
- module LLM
5
+ module Llm
6
6
  module Ledger
7
- VERSION = '0.1.4'
7
+ VERSION = '0.1.7'
8
8
  end
9
9
  end
10
10
  end
@@ -11,8 +11,12 @@ require_relative 'ledger/runners/usage_reporter'
11
11
  require_relative 'ledger/runners/provider_stats'
12
12
 
13
13
  if Legion::Extensions.const_defined?(:Core, false)
14
- require_relative 'ledger/transport/exchanges/metering'
15
- require_relative 'ledger/transport/exchanges/audit'
14
+ begin
15
+ require 'legion/llm/transport/exchanges/metering'
16
+ require 'legion/llm/transport/exchanges/audit'
17
+ rescue LoadError => _e
18
+ nil
19
+ end
16
20
  require_relative 'ledger/transport/queues/metering_write'
17
21
  require_relative 'ledger/transport/queues/audit_prompts'
18
22
  require_relative 'ledger/transport/queues/audit_tools'
@@ -25,7 +29,7 @@ end
25
29
 
26
30
  module Legion
27
31
  module Extensions
28
- module LLM
32
+ module Llm
29
33
  module Ledger
30
34
  extend Legion::Extensions::Core if Legion::Extensions.const_defined?(:Core, false)
31
35
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-llm-ledger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -37,6 +37,20 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.2'
40
+ - !ruby/object:Gem::Dependency
41
+ name: legion-llm
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0.6'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0.6'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: legion-logging
42
56
  requirement: !ruby/object:Gem::Requirement
@@ -192,8 +206,6 @@ files:
192
206
  - lib/legion/extensions/llm/ledger/runners/provider_stats.rb
193
207
  - lib/legion/extensions/llm/ledger/runners/tools.rb
194
208
  - lib/legion/extensions/llm/ledger/runners/usage_reporter.rb
195
- - lib/legion/extensions/llm/ledger/transport/exchanges/audit.rb
196
- - lib/legion/extensions/llm/ledger/transport/exchanges/metering.rb
197
209
  - lib/legion/extensions/llm/ledger/transport/queues/audit_prompts.rb
198
210
  - lib/legion/extensions/llm/ledger/transport/queues/audit_tools.rb
199
211
  - lib/legion/extensions/llm/ledger/transport/queues/metering_write.rb
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Legion
4
- module Extensions
5
- module LLM
6
- module Ledger
7
- module Transport
8
- module Exchanges
9
- class Audit < Legion::Transport::Exchange
10
- def exchange_name
11
- 'llm.audit'
12
- end
13
-
14
- def default_type
15
- 'topic'
16
- end
17
-
18
- def passive?
19
- true
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Legion
4
- module Extensions
5
- module LLM
6
- module Ledger
7
- module Transport
8
- module Exchanges
9
- class Metering < Legion::Transport::Exchange
10
- def exchange_name
11
- 'llm.metering'
12
- end
13
-
14
- def default_type
15
- 'topic'
16
- end
17
-
18
- def passive?
19
- true
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end