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 +4 -4
- data/CHANGELOG.md +15 -1
- data/lex-llm-ledger.gemspec +2 -1
- data/lib/legion/extensions/llm/ledger/actors/metering_writer.rb +2 -2
- data/lib/legion/extensions/llm/ledger/actors/prompt_writer.rb +2 -2
- data/lib/legion/extensions/llm/ledger/actors/spool_flush.rb +1 -1
- data/lib/legion/extensions/llm/ledger/actors/tool_writer.rb +2 -2
- data/lib/legion/extensions/llm/ledger/helpers/decryption.rb +1 -1
- data/lib/legion/extensions/llm/ledger/helpers/queries.rb +1 -1
- data/lib/legion/extensions/llm/ledger/helpers/retention.rb +1 -1
- data/lib/legion/extensions/llm/ledger/runners/metering.rb +1 -1
- data/lib/legion/extensions/llm/ledger/runners/prompts.rb +1 -1
- data/lib/legion/extensions/llm/ledger/runners/provider_stats.rb +1 -1
- data/lib/legion/extensions/llm/ledger/runners/tools.rb +1 -1
- data/lib/legion/extensions/llm/ledger/runners/usage_reporter.rb +1 -1
- data/lib/legion/extensions/llm/ledger/transport/queues/audit_prompts.rb +1 -1
- data/lib/legion/extensions/llm/ledger/transport/queues/audit_tools.rb +1 -1
- data/lib/legion/extensions/llm/ledger/transport/queues/metering_write.rb +1 -1
- data/lib/legion/extensions/llm/ledger/transport/transport.rb +11 -13
- data/lib/legion/extensions/llm/ledger/version.rb +2 -2
- data/lib/legion/extensions/llm/ledger.rb +7 -3
- metadata +15 -3
- data/lib/legion/extensions/llm/ledger/transport/exchanges/audit.rb +0 -27
- data/lib/legion/extensions/llm/ledger/transport/exchanges/metering.rb +0 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b2974ad3de78ec12ce99650fedb099f424ec52d37d12e413188f95ba41cae329
|
|
4
|
+
data.tar.gz: 032c101bbe4a7f098dc57367c2a31be5f4d48113af5bd248ce28cb1ae137ece8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
|
data/lex-llm-ledger.gemspec
CHANGED
|
@@ -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::
|
|
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
|
|
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::
|
|
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
|
|
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::
|
|
11
|
+
def runner_class = Legion::Extensions::Llm::Ledger::Runners::Prompts
|
|
12
12
|
|
|
13
13
|
def runner_function
|
|
14
14
|
'write_prompt_record'
|
|
@@ -4,11 +4,11 @@ require 'legion/extensions/actors/subscription'
|
|
|
4
4
|
|
|
5
5
|
module Legion
|
|
6
6
|
module Extensions
|
|
7
|
-
module
|
|
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::
|
|
11
|
+
def runner_class = Legion::Extensions::Llm::Ledger::Runners::Tools
|
|
12
12
|
|
|
13
13
|
def runner_function
|
|
14
14
|
'write_tool_record'
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
9
|
+
module Llm
|
|
12
10
|
module Ledger
|
|
13
11
|
module Transport
|
|
14
|
-
extend Legion::Extensions::Transport
|
|
12
|
+
extend Legion::Extensions::Transport
|
|
15
13
|
|
|
16
14
|
def self.additional_e_to_q
|
|
17
15
|
[
|
|
18
16
|
{
|
|
19
|
-
from: Legion::
|
|
20
|
-
to: Legion::Extensions::
|
|
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::
|
|
25
|
-
to: Legion::Extensions::
|
|
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::
|
|
30
|
-
to: Legion::Extensions::
|
|
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
|
]
|
|
@@ -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
|
-
|
|
15
|
-
|
|
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
|
|
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
|
+
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
|