Skip to content

Commit 787d026

Browse files
committed
fix: invert text part rejection logic to target claude models
1 parent 65f9f19 commit 787d026

File tree

2 files changed

+28
-9
lines changed

2 files changed

+28
-9
lines changed

lib/messages/inject.ts

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ import {
88
extractParameterKey,
99
createSyntheticTextPart,
1010
createSyntheticToolPart,
11-
isIgnoredUserMessage,
1211
appendMessageIdTagToToolOutput,
1312
findLastToolPart,
13+
isIgnoredUserMessage,
14+
rejectsTextParts,
1415
} from "./utils"
1516
import { getFilePathsFromParameters, isProtected } from "../protected-file-patterns"
1617
import { getLastUserMessage, isMessageCompacted } from "../shared-utils"
@@ -314,13 +315,22 @@ export const insertPruneToolContext = (
314315
)
315316
lastNonIgnoredMessage.parts.push(textPart)
316317
} else {
317-
const toolPart = createSyntheticToolPart(
318-
lastNonIgnoredMessage,
319-
combinedContent,
320-
modelId ?? "",
321-
`${lastNonIgnoredMessage.info.id}:context`,
322-
)
323-
lastNonIgnoredMessage.parts.push(toolPart)
318+
if (rejectsTextParts(modelId ?? "")) {
319+
const toolPart = createSyntheticToolPart(
320+
lastNonIgnoredMessage,
321+
combinedContent,
322+
modelId ?? "",
323+
`${lastNonIgnoredMessage.info.id}:context`,
324+
)
325+
lastNonIgnoredMessage.parts.push(toolPart)
326+
} else {
327+
const textPart = createSyntheticTextPart(
328+
lastNonIgnoredMessage,
329+
combinedContent,
330+
`${lastNonIgnoredMessage.info.id}:context`,
331+
)
332+
lastNonIgnoredMessage.parts.push(textPart)
333+
}
324334
}
325335
}
326336

@@ -365,6 +375,10 @@ export const insertMessageIdContext = (
365375
continue
366376
}
367377

368-
message.parts.push(createSyntheticToolPart(message, tag, toolModelId, messageIdSeed))
378+
if (rejectsTextParts(toolModelId)) {
379+
message.parts.push(createSyntheticToolPart(message, tag, toolModelId, messageIdSeed))
380+
} else {
381+
message.parts.push(createSyntheticTextPart(message, tag, messageIdSeed))
382+
}
369383
}
370384
}

lib/messages/utils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ const isGeminiModel = (modelID: string): boolean => {
1919
return lowerModelID.includes("gemini")
2020
}
2121

22+
export const rejectsTextParts = (modelID: string): boolean => {
23+
const lowerModelID = modelID.toLowerCase()
24+
return lowerModelID.includes("claude")
25+
}
26+
2227
export const createSyntheticUserMessage = (
2328
baseMessage: WithParts,
2429
content: string,

0 commit comments

Comments
 (0)