Skip to content

Commit 08d8812

Browse files
committed
fix(ui): revert compress notification to match dev
1 parent 5a01fc7 commit 08d8812

3 files changed

Lines changed: 12 additions & 24 deletions

File tree

lib/compress/pipeline.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { saveSessionState } from "../state/persistence"
44
import { assignMessageRefs } from "../message-ids"
55
import { isIgnoredUserMessage } from "../messages/utils"
66
import { deduplicate, purgeErrors } from "../strategies"
7-
import { getCurrentParams, getCurrentTokenUsage } from "../strategies/utils"
7+
import { getCurrentParams } from "../strategies/utils"
88
import { sendCompressNotification } from "../ui/notification"
99
import type { ToolContext } from "./types"
1010
import { buildSearchContext, fetchSessionMessages } from "./search"
@@ -86,10 +86,9 @@ export async function finalizeSession(
8686
await saveSessionState(ctx.state, ctx.logger)
8787

8888
const params = getCurrentParams(ctx.state, rawMessages, ctx.logger)
89-
const totalSessionTokens = getCurrentTokenUsage(ctx.state, rawMessages)
90-
const sessionMessages = rawMessages.filter(
91-
(msg) => !(msg.info.role === "user" && isIgnoredUserMessage(msg)),
92-
)
89+
const sessionMessageIds = rawMessages
90+
.filter((msg) => !isIgnoredUserMessage(msg))
91+
.map((msg) => msg.info.id)
9392

9493
await sendCompressNotification(
9594
ctx.client,
@@ -99,8 +98,7 @@ export async function finalizeSession(
9998
toolCtx.sessionID,
10099
entries,
101100
batchTopic,
102-
totalSessionTokens,
103-
sessionMessages,
101+
sessionMessageIds,
104102
params,
105103
)
106104
}

lib/ui/notification.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Logger } from "../logger"
2-
import type { SessionState, WithParts } from "../state"
2+
import type { SessionState } from "../state"
33
import {
44
formatPrunedItemsList,
55
formatProgressBar,
@@ -9,7 +9,6 @@ import {
99
import { ToolParameterEntry } from "../state"
1010
import { PluginConfig } from "../config"
1111
import { getActiveSummaryTokenUsage } from "../state/utils"
12-
import { isMessageCompacted } from "../shared-utils"
1312

1413
export type PruneReason = "completion" | "noise" | "extraction"
1514
export const PRUNE_REASON_LABELS: Record<PruneReason, string> = {
@@ -170,8 +169,7 @@ export async function sendCompressNotification(
170169
sessionId: string,
171170
entries: CompressionNotificationEntry[],
172171
batchTopic: string | undefined,
173-
totalSessionTokens: number,
174-
sessionMessages: WithParts[],
172+
sessionMessageIds: string[],
175173
params: any,
176174
): Promise<boolean> {
177175
if (config.pruneNotification === "off") {
@@ -249,12 +247,10 @@ export async function sendCompressNotification(
249247

250248
const pruneTokenCounterStr = `~${formatTokenCount(compressedTokens)}`
251249

252-
const sessionMessageIds = sessionMessages.map((msg) => msg.info.id)
253250
const activePrunedMessages = new Map<string, number>()
254-
for (const msg of sessionMessages) {
255-
if (isMessageCompacted(state, msg)) {
256-
const pruneEntry = state.prune.messages.byMessageId.get(msg.info.id)
257-
activePrunedMessages.set(msg.info.id, pruneEntry?.tokenCount ?? 0)
251+
for (const [messageId, entry] of state.prune.messages.byMessageId) {
252+
if (entry.activeBlockIds.length > 0) {
253+
activePrunedMessages.set(messageId, entry.tokenCount)
258254
}
259255
}
260256
const progressBar = formatProgressBar(
@@ -263,11 +259,8 @@ export async function sendCompressNotification(
263259
newlyCompressedMessageIds,
264260
70,
265261
)
266-
const reduction =
267-
totalSessionTokens > 0 ? Math.round((compressedTokens / totalSessionTokens) * 100) : 0
268-
269262
message += `\n\n${progressBar}`
270-
message += `\n▣ ${compressionLabel} (${pruneTokenCounterStr} removed, ${reduction}% reduction, ~${formatTokenCount(summaryTokens, true)} summary tokens added)`
263+
message += `\n▣ ${compressionLabel} (${pruneTokenCounterStr} removed, ~${formatTokenCount(summaryTokens, true)} summary tokens added)`
271264
message += `\n→ Topic: ${topic}`
272265
message += `\n→ Items: ${newlyCompressedMessageIds.length} messages`
273266
if (newlyCompressedToolIds.length > 0) {

lib/ui/utils.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,7 @@ export function formatStatsHeader(totalTokensSaved: number, pruneTokenCounter: n
144144

145145
export function formatTokenCount(tokens: number, compact?: boolean): string {
146146
const suffix = compact ? "" : " tokens"
147-
if (tokens >= 100_000) {
148-
return `${Math.round(tokens / 1000)}K` + suffix
149-
}
150-
if (tokens >= 10_000 || (compact && tokens >= 1000)) {
147+
if (tokens >= 1000) {
151148
return `${(tokens / 1000).toFixed(1)}K`.replace(".0K", "K") + suffix
152149
}
153150
return tokens.toString() + suffix

0 commit comments

Comments
 (0)