fix(chat): keep context meter aligned after model swaps (#1103)
This commit is contained in:
1 parent
4246ae196d
commit
0a2c782139
8 files changed
+720
-127
No files matched your search
@@ -84,4 +84,24 @@ class ContextBreakdownResponseTest {
|
||||
assertEquals(262144L, parsed?.contextMax)
|
||||
assertEquals(0, parsed?.contextPercent)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `JsonObject and JsonPrimitive payloads parse successfully`() {
|
||||
val json =
|
||||
kotlinx.serialization.json.buildJsonObject {
|
||||
put("context_used", kotlinx.serialization.json.JsonPrimitive(52428))
|
||||
put("context_max", kotlinx.serialization.json.JsonPrimitive(524288))
|
||||
put("context_percent", kotlinx.serialization.json.JsonPrimitive(10))
|
||||
put("estimated_total", kotlinx.serialization.json.JsonPrimitive(52428))
|
||||
put("model", kotlinx.serialization.json.JsonPrimitive("upstage/solar-pro4:free"))
|
||||
}
|
||||
|
||||
val parsed = parseContextBreakdown(json)
|
||||
|
||||
assertEquals(52428L, parsed?.contextUsed)
|
||||
assertEquals(524288L, parsed?.contextMax)
|
||||
assertEquals(10, parsed?.contextPercent)
|
||||
assertEquals(52428L, parsed?.estimatedTotal)
|
||||
assertEquals("upstage/solar-pro4:free", parsed?.model)
|
||||
}
|
||||
}
|
||||
@@ -30,4 +30,24 @@ class UsageSnapshotResponseTest {
|
||||
assertNull(parseUsageSnapshot("oops"))
|
||||
assertNull(parseUsageSnapshot(listOf(1.0)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `JsonObject and JsonPrimitive payloads parse successfully`() {
|
||||
val json =
|
||||
kotlinx.serialization.json.buildJsonObject {
|
||||
put("compressions", kotlinx.serialization.json.JsonPrimitive(3))
|
||||
put("context_used", kotlinx.serialization.json.JsonPrimitive(12000))
|
||||
put("context_max", kotlinx.serialization.json.JsonPrimitive(200000))
|
||||
put("total", kotlinx.serialization.json.JsonPrimitive(50000))
|
||||
put("avg_tps", kotlinx.serialization.json.JsonPrimitive(45.5))
|
||||
}
|
||||
|
||||
val parsed = parseUsageSnapshot(json)
|
||||
|
||||
assertEquals(3, parsed?.compressions)
|
||||
assertEquals(12000L, parsed?.contextUsed)
|
||||
assertEquals(200000L, parsed?.contextMax)
|
||||
assertEquals(50000L, parsed?.totalTokens)
|
||||
assertEquals(45.5, parsed?.avgTps ?: 0.0, 0.001)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user