Skip to content

Commit ecde964

Browse files
committed
refactor: inline timing map writes
1 parent 97c3d0b commit ecde964

2 files changed

Lines changed: 7 additions & 31 deletions

File tree

lib/compress/timing.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,12 @@ export function createCompressionTimingState(): CompressionTimingState {
1818
}
1919
}
2020

21-
export function recordCompressionStart(
22-
state: SessionState,
23-
callId: string,
24-
startedAt: number,
25-
): boolean {
26-
if (state.compressionTiming.startsByCallId.has(callId)) {
27-
return false
28-
}
29-
30-
state.compressionTiming.startsByCallId.set(callId, startedAt)
31-
return true
32-
}
33-
3421
export function consumeCompressionStart(state: SessionState, callId: string): number | undefined {
3522
const start = state.compressionTiming.startsByCallId.get(callId)
3623
state.compressionTiming.startsByCallId.delete(callId)
3724
return start
3825
}
3926

40-
export function clearCompressionStart(state: SessionState, callId: string): void {
41-
state.compressionTiming.startsByCallId.delete(callId)
42-
}
43-
4427
export function resolveCompressionDuration(
4528
startedAt: number | undefined,
4629
eventTime: number | undefined,
@@ -68,14 +51,6 @@ export function resolveCompressionDuration(
6851
return typeof pendingToRunningMs === "number" ? pendingToRunningMs : runtimeMs
6952
}
7053

71-
export function queueCompressionDuration(
72-
state: SessionState,
73-
callId: string,
74-
durationMs: number,
75-
): void {
76-
state.compressionTiming.pendingByCallId.set(callId, { callId, durationMs })
77-
}
78-
7954
export function applyPendingCompressionDurations(state: SessionState): number {
8055
if (state.compressionTiming.pendingByCallId.size === 0) {
8156
return 0

lib/hooks.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ import { renderSystemPrompt, type PromptStore } from "./prompts"
1818
import { buildProtectedToolsExtension } from "./prompts/extensions/system"
1919
import {
2020
applyPendingCompressionDurations,
21-
clearCompressionStart,
2221
consumeCompressionStart,
23-
queueCompressionDuration,
24-
recordCompressionStart,
2522
resolveCompressionDuration,
2623
} from "./compress/timing"
2724
import {
@@ -299,9 +296,10 @@ export function createEventHandler(state: SessionState, logger: Logger) {
299296
}
300297

301298
const startedAt = eventTime ?? Date.now()
302-
if (!recordCompressionStart(state, part.callID, startedAt)) {
299+
if (state.compressionTiming.startsByCallId.has(part.callID)) {
303300
return
304301
}
302+
state.compressionTiming.startsByCallId.set(part.callID, startedAt)
305303
logger.debug("Recorded compression start", {
306304
callID: part.callID,
307305
startedAt,
@@ -320,7 +318,10 @@ export function createEventHandler(state: SessionState, logger: Logger) {
320318
return
321319
}
322320

323-
queueCompressionDuration(state, part.callID, durationMs)
321+
state.compressionTiming.pendingByCallId.set(part.callID, {
322+
callId: part.callID,
323+
durationMs,
324+
})
324325

325326
const updates = applyPendingCompressionDurations(state)
326327
if (updates === 0) {
@@ -342,7 +343,7 @@ export function createEventHandler(state: SessionState, logger: Logger) {
342343
}
343344

344345
if (typeof part.callID === "string") {
345-
clearCompressionStart(state, part.callID)
346+
state.compressionTiming.startsByCallId.delete(part.callID)
346347
}
347348
}
348349
}

0 commit comments

Comments
 (0)