File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed
Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -157,6 +157,17 @@ const definition: AgentDefinition = {
157157 content : '<system>Previous message(s) omitted due to length</system>' ,
158158 }
159159
160+ const keepLastTags : Record < string , number > = { }
161+ for ( const [ i , message ] of afterToolResultsPass . entries ( ) ) {
162+ if ( ! message . keepLastTags ) {
163+ continue
164+ }
165+ for ( const tag of message . keepLastTags ) {
166+ keepLastTags [ tag ] = i
167+ }
168+ }
169+ const keepLastIndices = Object . values ( keepLastTags )
170+
160171 const requiredTokens = countTokensJson (
161172 afterToolResultsPass . filter ( ( m : any ) => m . keepDuringTruncation ) ,
162173 )
@@ -167,8 +178,12 @@ const definition: AgentDefinition = {
167178 const placeholder = 'deleted'
168179 const filteredMessages : any [ ] = [ ]
169180
170- for ( const message of afterToolResultsPass ) {
171- if ( removedTokens >= tokensToRemove || message . keepDuringTruncation ) {
181+ for ( const [ i , message ] of afterToolResultsPass . entries ( ) ) {
182+ if (
183+ removedTokens >= tokensToRemove ||
184+ message . keepDuringTruncation ||
185+ keepLastIndices . includes ( i )
186+ ) {
172187 filteredMessages . push ( message )
173188 continue
174189 }
You can’t perform that action at this time.
0 commit comments