11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/legion/extensions/llm/ledger/runners/metering.rb', line 11
def write_metering_record(payload, metadata = {})
ctx = payload[:message_context] || {}
props = metadata[:properties] || {}
record = build_metering_record(payload, ctx, props)
::Legion::Data::DB[:metering_records].insert(record)
{ result: :ok }
rescue Sequel::UniqueConstraintViolation => _e
{ result: :duplicate }
rescue StandardError => e
Legion::Logging.error("[lex-llm-ledger] write_metering_record failed: #{e.message}") { result: :error, error: e.message }
end
|