mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-19 02:13:57 +00:00
refactor(pricing): derive fast-tier cache rates via buildRates helper
Address review feedback on the per-service-tier pricing: - Extract `buildRates(input, output)` plus named CACHE_5M_WRITE_MULTIPLIER / CACHE_READ_MULTIPLIER constants so fast-tier cache rates are derived from Anthropic's documented multipliers instead of hand-computed numbers. This removes the inconsistency where Opus 4.6 fast-tier lacked the explanatory inline comments that 4.7/4.8 carried (presto suggestion #3). - Document in `applyServiceTier` that no production caller passes `serviceTier` yet (Anthropic's service_tier is not captured on CliproxyRequestDetail), so fast-mode usage is currently billed at the standard rate until the usage pipeline records the tier. - Add a combined date-suffix + fast-tier lookup test to prove the two resolution stages compose. Built [OnSteroids](https://onsteroids.ai)
This commit is contained in:
1 parent
5157a922a5
commit
254fc88f71
2 files changed
+40
-18
No files matched your search
@@ -202,6 +202,16 @@ describe('model-pricing', () => {
|
||||
expect(opus47fast.outputPerMillion).toBe(150.0);
|
||||
});
|
||||
|
||||
it('should apply fast-tier pricing together with date-suffix stripping', () => {
|
||||
// stripDateSuffix (base lookup) and applyServiceTier run independently;
|
||||
// confirm they compose for a date-stamped id requesting the fast tier.
|
||||
const opus48fastDated = getModelPricing('claude-opus-4-8-20260530', { serviceTier: 'fast' });
|
||||
expect(opus48fastDated.inputPerMillion).toBe(10.0);
|
||||
expect(opus48fastDated.outputPerMillion).toBe(50.0);
|
||||
expect(opus48fastDated.cacheCreationPerMillion).toBe(12.5);
|
||||
expect(opus48fastDated.cacheReadPerMillion).toBe(1.0);
|
||||
});
|
||||
|
||||
it('should fall back to standard rates when serviceTier is unknown', () => {
|
||||
// Unknown tier names must not throw; revert to base pricing transparently.
|
||||
const opus48 = getModelPricing('claude-opus-4-8', { serviceTier: 'enterprise-mythos' });
|
||||
|
||||
Reference in new issue
Block a user