ace-llm 0.40.0 → 0.41.0
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 +6 -0
- data/lib/ace/llm/query_interface.rb +22 -1
- data/lib/ace/llm/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2fae0fd9e7709654101b452e68a39a32412c1788948f60ff6b3ea619ca4877d8
|
|
4
|
+
data.tar.gz: c5ecb76fe5e258e27e5c71ddd8d0f760637ca7a0f67766a7239fe2e60acf3dbf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a885b5933135a969eb4f91a4e013af1e9a35b1e79450c8f47b8ce2b9afa372226c482c1023bab1033438a04b2fc95fbc6ccf4f8592e5b5ce6b763d0820bfb429
|
|
7
|
+
data.tar.gz: b378d04c4280ede3e36d60b01fbe7ee821f28597ac0c9074745961126d642db7e822af19c44f0362d15eaf5067e3ed6b4ee9cf9a2779abf15652e979f9313114
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.41.0] - 2026-09-27
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Query results now derive the top-level `usage` record from provider metadata token counts (model, input/output/cached/total). Absent counts stay absent; a measured zero cache read is kept so cost models can distinguish "no cache" from "unknown". Sessions no longer report "usage unavailable" when the provider supplied tokens.
|
|
15
|
+
|
|
10
16
|
## [0.40.0] - 2026-09-24
|
|
11
17
|
|
|
12
18
|
### Fixed
|
|
@@ -153,7 +153,7 @@ module Ace
|
|
|
153
153
|
thinking_level: response.fetch(:execution, {}).fetch(:thinking_level, parse_result.thinking_level),
|
|
154
154
|
execution: response[:execution],
|
|
155
155
|
requested_selector: provider_model,
|
|
156
|
-
usage: response[:
|
|
156
|
+
usage: build_usage(response[:metadata]),
|
|
157
157
|
metadata: response[:metadata]
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -182,6 +182,27 @@ module Ace
|
|
|
182
182
|
|
|
183
183
|
private
|
|
184
184
|
|
|
185
|
+
# Derive the measured usage record from client metadata. Providers hand
|
|
186
|
+
# token counts to session recording through metadata keys; absent counts
|
|
187
|
+
# stay absent (never zero) so cost models can tell "no cache" from
|
|
188
|
+
# "unknown". Returns nil when the client reported no token counts at all.
|
|
189
|
+
def self.build_usage(metadata)
|
|
190
|
+
meta = metadata.is_a?(Hash) ? metadata : {}
|
|
191
|
+
input = meta[:input_tokens] || meta["input_tokens"]
|
|
192
|
+
output = meta[:output_tokens] || meta["output_tokens"]
|
|
193
|
+
return nil if input.nil? && output.nil?
|
|
194
|
+
|
|
195
|
+
usage = {model: meta[:model] || meta["model"]}
|
|
196
|
+
usage[:input_tokens] = input unless input.nil?
|
|
197
|
+
usage[:output_tokens] = output unless output.nil?
|
|
198
|
+
cached = meta[:cached_tokens] || meta["cached_tokens"]
|
|
199
|
+
usage[:cached_tokens] = cached unless cached.nil?
|
|
200
|
+
total = meta[:total_tokens] || meta["total_tokens"]
|
|
201
|
+
usage[:total_tokens] = total.nil? ? (input.to_i + output.to_i) : total
|
|
202
|
+
usage
|
|
203
|
+
end
|
|
204
|
+
private_class_method :build_usage
|
|
205
|
+
|
|
185
206
|
def self.resolve_preset_name(suffix_preset, explicit_preset)
|
|
186
207
|
suffix = suffix_preset&.to_s&.strip
|
|
187
208
|
explicit = explicit_preset&.to_s&.strip
|
data/lib/ace/llm/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ace-llm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.41.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-09-
|
|
10
|
+
date: 2026-09-27 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|