feat: add len variable for tier conditions and LLM prompt helper

This commit is contained in:
CaIon
2026-04-25 13:24:20 +08:00
parent a7c38ec851
commit f2f3410dcf
15 changed files with 393 additions and 47 deletions
+9
View File
@@ -35,6 +35,14 @@ func BuildTieredTokenParams(usage *dto.Usage, isClaudeUsageSemantic bool, usedVa
imgO := float64(usage.CompletionTokenDetails.ImageTokens)
ao := float64(usage.CompletionTokenDetails.AudioTokens)
// len = total input context length for tier condition evaluation.
// Non-Claude: prompt_tokens already includes everything.
// Claude: input_tokens is text-only, so add cache read + cache creation.
inputLen := p
if isClaudeUsageSemantic {
inputLen = p + cr + cc5m + cc1h
}
if !isClaudeUsageSemantic {
if usedVars["cr"] {
p -= cr
@@ -69,6 +77,7 @@ func BuildTieredTokenParams(usage *dto.Usage, isClaudeUsageSemantic bool, usedVa
return billingexpr.TokenParams{
P: p,
C: c,
Len: inputLen,
CR: cr,
CC: cc5m,
CC1h: cc1h,