test: add regression test for double counting bug (#21053)
parent
6253ef0c27
commit
8b8d4fa066
|
|
@ -1080,7 +1080,7 @@ describe("session.getUsage", () => {
|
||||||
expect(result.tokens.cache.read).toBe(200)
|
expect(result.tokens.cache.read).toBe(200)
|
||||||
})
|
})
|
||||||
|
|
||||||
test("handles reasoning tokens", () => {
|
test("separates reasoning tokens from output tokens", () => {
|
||||||
const model = createModel({ context: 100_000, output: 32_000 })
|
const model = createModel({ context: 100_000, output: 32_000 })
|
||||||
const result = Session.getUsage({
|
const result = Session.getUsage({
|
||||||
model,
|
model,
|
||||||
|
|
@ -1092,7 +1092,35 @@ describe("session.getUsage", () => {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
expect(result.tokens.input).toBe(1000)
|
||||||
|
expect(result.tokens.output).toBe(400)
|
||||||
expect(result.tokens.reasoning).toBe(100)
|
expect(result.tokens.reasoning).toBe(100)
|
||||||
|
expect(result.tokens.total).toBe(1500)
|
||||||
|
})
|
||||||
|
|
||||||
|
test("does not double count reasoning tokens in cost", () => {
|
||||||
|
const model = createModel({
|
||||||
|
context: 100_000,
|
||||||
|
output: 32_000,
|
||||||
|
cost: {
|
||||||
|
input: 0,
|
||||||
|
output: 15,
|
||||||
|
cache: { read: 0, write: 0 },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
const result = Session.getUsage({
|
||||||
|
model,
|
||||||
|
usage: {
|
||||||
|
inputTokens: 0,
|
||||||
|
outputTokens: 1_000_000,
|
||||||
|
totalTokens: 1_000_000,
|
||||||
|
reasoningTokens: 250_000,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(result.tokens.output).toBe(750_000)
|
||||||
|
expect(result.tokens.reasoning).toBe(250_000)
|
||||||
|
expect(result.cost).toBe(15)
|
||||||
})
|
})
|
||||||
|
|
||||||
test("handles undefined optional values gracefully", () => {
|
test("handles undefined optional values gracefully", () => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue