Skip to content

Commit 2fa382f

Browse files
committed
refactor: remove compress wrappers
1 parent 90889d0 commit 2fa382f

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

lib/tools/compress-utils.ts

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { SessionState, WithParts, CompressSummary } from "../state"
22
import { formatBlockRef, formatMessageIdTag, parseBoundaryId } from "../message-ids"
33
import { isIgnoredUserMessage } from "../messages/utils"
4-
import { countAllMessageTokens, countTokens } from "../strategies/utils"
4+
import { countAllMessageTokens } from "../strategies/utils"
55

66
const BLOCK_PLACEHOLDER_REGEX = /\(b(\d+)\)|\{block_(\d+)\}/gi
77

@@ -55,13 +55,7 @@ export interface AppliedCompressionResult {
5555
messageIds: string[]
5656
}
5757

58-
export function formatCompressedBlockHeader(blockId: number): string {
59-
return "[Compressed conversation section]"
60-
}
61-
62-
export function formatCompressedBlockFooter(blockId: number): string {
63-
return formatMessageIdTag(formatBlockRef(blockId))
64-
}
58+
export const COMPRESSED_BLOCK_HEADER = "[Compressed conversation section]"
6559

6660
export function formatBlockPlaceholder(blockId: number): string {
6761
return `(b${blockId})`
@@ -510,8 +504,8 @@ export function allocateBlockId(summaries: CompressSummary[]): number {
510504
}
511505

512506
export function wrapCompressedSummary(blockId: number, summary: string): string {
513-
const header = formatCompressedBlockHeader(blockId)
514-
const footer = formatCompressedBlockFooter(blockId)
507+
const header = COMPRESSED_BLOCK_HEADER
508+
const footer = formatMessageIdTag(formatBlockRef(blockId))
515509
const body = summary.trim()
516510
if (body.length === 0) {
517511
return `${header}\n${footer}`
@@ -558,10 +552,6 @@ export function applyCompressionState(
558552
}
559553
}
560554

561-
export function countSummaryTokens(summary: string): number {
562-
return countTokens(summary)
563-
}
564-
565555
function restoreStoredCompressedSummary(summary: string): string {
566556
const headerMatch = summary.match(/^\s*\[Compressed conversation(?: section)?(?: b\d+)?\]/i)
567557
if (!headerMatch) {

lib/tools/compress.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import {
77
allocateBlockId,
88
applyCompressionState,
99
buildSearchContext,
10-
countSummaryTokens,
1110
fetchSessionMessages,
12-
formatCompressedBlockHeader,
11+
COMPRESSED_BLOCK_HEADER,
1312
injectBlockPlaceholders,
1413
parseBlockPlaceholders,
1514
resolveAnchorMessageId,
@@ -19,7 +18,7 @@ import {
1918
validateSummaryPlaceholders,
2019
type CompressToolArgs,
2120
} from "./compress-utils"
22-
import { getCurrentParams, getCurrentTokenUsage } from "../strategies/utils"
21+
import { getCurrentParams, getCurrentTokenUsage, countTokens } from "../strategies/utils"
2322
import { saveSessionState } from "../state/persistence"
2423
import { sendCompressNotification } from "../ui/notification"
2524

@@ -103,7 +102,7 @@ export function createCompressTool(ctx: ToolContext): ReturnType<typeof tool> {
103102

104103
const blockId = allocateBlockId(ctx.state.compressSummaries)
105104
const storedSummary = wrapCompressedSummary(blockId, injected.expandedSummary)
106-
const summaryTokens = countSummaryTokens(storedSummary)
105+
const summaryTokens = countTokens(storedSummary)
107106

108107
const applied = applyCompressionState(
109108
ctx.state,
@@ -138,7 +137,7 @@ export function createCompressTool(ctx: ToolContext): ReturnType<typeof tool> {
138137
params,
139138
)
140139

141-
return `Compressed ${applied.messageIds.length} messages into ${formatCompressedBlockHeader(blockId)}.`
140+
return `Compressed ${applied.messageIds.length} messages into ${COMPRESSED_BLOCK_HEADER}.`
142141
},
143142
})
144143
}

0 commit comments

Comments
 (0)