Q17: budget every model request against the provider's context window
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f42ab62dbd
commit
f4d16eb46a
26 files changed
+247
-52
No files matched your search
@@ -5,10 +5,10 @@ const ELIDE_ABOVE_CHARS = 600;
|
||||
const PREVIEW_CHARS = 300;
|
||||
|
||||
/** Older tool results shrink to a preview; the latest turns stay verbatim. */
|
||||
export function compactToolHistory(messages: AgentTurnMessage[]): { messages: AgentTurnMessage[]; elided: number } {
|
||||
export function compactToolHistory(messages: AgentTurnMessage[], keepRecent = KEEP_RECENT_TOOL_TURNS): { messages: AgentTurnMessage[]; elided: number } {
|
||||
const toolTurnIndexes = messages.flatMap((message, index) => (message.role === "tool" ? [index] : []));
|
||||
const compactBefore = toolTurnIndexes.length > KEEP_RECENT_TOOL_TURNS
|
||||
? toolTurnIndexes[toolTurnIndexes.length - KEEP_RECENT_TOOL_TURNS]
|
||||
const compactBefore = toolTurnIndexes.length > keepRecent
|
||||
? toolTurnIndexes[toolTurnIndexes.length - keepRecent]
|
||||
: 0;
|
||||
let elided = 0;
|
||||
const compacted = messages.map((message, index) => {
|
||||
|
||||
Reference in new issue
Block a user