|
8 | 8 | createEventHandler, |
9 | 9 | createTextCompleteHandler, |
10 | 10 | } from "../lib/hooks" |
11 | | -import { consumeCompressionDuration } from "../lib/compress/state" |
| 11 | +import { consumeCompressionDuration, getCompressionMessageKey } from "../lib/compress/state" |
12 | 12 | import { Logger } from "../lib/logger" |
13 | 13 | import { createSessionState, type WithParts } from "../lib/state" |
14 | 14 |
|
@@ -207,6 +207,10 @@ test("event hook records compress input generation duration", async () => { |
207 | 207 | } |
208 | 208 |
|
209 | 209 | assert.equal(state.compressionDurations.get("call-1"), 225) |
| 210 | + assert.deepEqual( |
| 211 | + state.compressionDurationQueue.get(getCompressionMessageKey("session-1", "message-1")), |
| 212 | + ["call-1"], |
| 213 | + ) |
210 | 214 | assert.equal(state.compressionStarts.has("call-1"), false) |
211 | 215 | }) |
212 | 216 |
|
@@ -301,12 +305,13 @@ test("compression duration consumption handles multiple calls in one message", a |
301 | 305 | Date.now = originalNow |
302 | 306 | } |
303 | 307 |
|
304 | | - assert.equal(consumeCompressionDuration(state, "call-1"), 225) |
305 | | - assert.equal(consumeCompressionDuration(state, "call-2"), 310) |
306 | | - assert.equal(consumeCompressionDuration(state, "call-1"), 0) |
| 308 | + const key = getCompressionMessageKey("session-1", "message-1") |
| 309 | + assert.equal(consumeCompressionDuration(state, key), 225) |
| 310 | + assert.equal(consumeCompressionDuration(state, key), 310) |
| 311 | + assert.equal(consumeCompressionDuration(state, key), 0) |
307 | 312 | }) |
308 | 313 |
|
309 | | -test("compression duration consumption returns zero for unknown call id", async () => { |
| 314 | +test("compression duration consumption supports explicit call id lookup", async () => { |
310 | 315 | const state = createSessionState() |
311 | 316 | state.sessionId = "session-1" |
312 | 317 | const handler = createEventHandler(state, new Logger(false)) |
@@ -397,10 +402,10 @@ test("compression duration consumption returns zero for unknown call id", async |
397 | 402 | Date.now = originalNow |
398 | 403 | } |
399 | 404 |
|
400 | | - assert.equal(consumeCompressionDuration(state, "call-2"), 310) |
401 | | - assert.equal(consumeCompressionDuration(state, "missing-call"), 0) |
402 | | - assert.equal(consumeCompressionDuration(state, undefined), 0) |
403 | | - assert.equal(consumeCompressionDuration(state, "call-1"), 225) |
| 405 | + const key = getCompressionMessageKey("session-1", "message-1") |
| 406 | + assert.equal(consumeCompressionDuration(state, key, "call-2"), 310) |
| 407 | + assert.equal(consumeCompressionDuration(state, key), 225) |
| 408 | + assert.equal(consumeCompressionDuration(state, key), 0) |
404 | 409 | }) |
405 | 410 |
|
406 | 411 | test("event hook ignores non-compress tool parts", async () => { |
|
0 commit comments