module Riffer::Rig::Runtime::Usage
Public Instance Methods
(Array[Riffer::Messages::Base] messages) → Riffer::Providers::TokenUsage?
Source
# File lib/riffer/rig/runtime/usage.rb, line 8 def sum(messages) total(messages.filter_map { |message| message.token_usage if message.is_a?(Riffer::Messages::Assistant) }) end
@rbs messages: Array @rbs return: Riffer::Providers::TokenUsage?
(Array[Riffer::Providers::TokenUsage?] usages) → Riffer::Providers::TokenUsage?
Source
# File lib/riffer/rig/runtime/usage.rb, line 14 def total(usages) # Upstream candidate: a nil-aware TokenUsage.sum, which riffer's own # Agent::Run and evals also hand-roll. usages.compact.reduce { |running, usage| running + usage } # rubocop:disable Performance/Sum -- TokenUsage has no zero, and no usage must stay nil end
@rbs usages: Array @rbs return: Riffer::Providers::TokenUsage?