@@ -34,24 +34,24 @@ describe("ContextManager", () => {
3434 const messages = createMessages ( 11 )
3535 const result = contextManager . getNextTruncationRange ( messages , undefined , "half" )
3636
37- expect ( result ) . to . deep . equal ( [ 1 , 4 ] )
37+ expect ( result ) . to . deep . equal ( [ 2 , 5 ] )
3838 } )
3939
4040 it ( "first truncation with quarter keep" , ( ) => {
4141 const messages = createMessages ( 11 )
4242 const result = contextManager . getNextTruncationRange ( messages , undefined , "quarter" )
4343
44- expect ( result ) . to . deep . equal ( [ 1 , 6 ] )
44+ expect ( result ) . to . deep . equal ( [ 2 , 7 ] )
4545 } )
4646
4747 it ( "sequential truncation with half keep" , ( ) => {
4848 const messages = createMessages ( 21 )
4949 const firstRange = contextManager . getNextTruncationRange ( messages , undefined , "half" )
50- expect ( firstRange ) . to . deep . equal ( [ 1 , 10 ] )
50+ expect ( firstRange ) . to . deep . equal ( [ 2 , 9 ] )
5151
5252 // Pass the previous range for sequential truncation
5353 const secondRange = contextManager . getNextTruncationRange ( messages , firstRange , "half" )
54- expect ( secondRange ) . to . deep . equal ( [ 1 , 14 ] )
54+ expect ( secondRange ) . to . deep . equal ( [ 2 , 13 ] )
5555 } )
5656
5757 it ( "sequential truncation with quarter keep" , ( ) => {
@@ -60,28 +60,28 @@ describe("ContextManager", () => {
6060
6161 const secondRange = contextManager . getNextTruncationRange ( messages , firstRange , "quarter" )
6262
63- expect ( secondRange [ 0 ] ) . to . equal ( 1 )
63+ expect ( secondRange [ 0 ] ) . to . equal ( 2 )
6464 expect ( secondRange [ 1 ] ) . to . be . greaterThan ( firstRange [ 1 ] )
6565 } )
6666
6767 it ( "ensures the last message in range is a user message" , ( ) => {
6868 const messages = createMessages ( 14 )
6969 const result = contextManager . getNextTruncationRange ( messages , undefined , "half" )
7070
71- // Check if the message at the end of range is a user message
71+ // Check if the message at the end of range is an assistant message
7272 const lastRemovedMessage = messages [ result [ 1 ] ]
73- expect ( lastRemovedMessage . role ) . to . equal ( "user " )
73+ expect ( lastRemovedMessage . role ) . to . equal ( "assistant " )
7474
75- // Check if the next message after the range is an assistant message
75+ // Check if the next message after the range is a user message
7676 const nextMessage = messages [ result [ 1 ] + 1 ]
77- expect ( nextMessage . role ) . to . equal ( "assistant " )
77+ expect ( nextMessage . role ) . to . equal ( "user " )
7878 } )
7979
8080 it ( "handles small message arrays" , ( ) => {
8181 const messages = createMessages ( 3 )
8282 const result = contextManager . getNextTruncationRange ( messages , undefined , "half" )
8383
84- expect ( result ) . to . deep . equal ( [ 1 , 0 ] )
84+ expect ( result ) . to . deep . equal ( [ 2 , 1 ] )
8585 } )
8686
8787 it ( "preserves the message structure when truncating" , ( ) => {
@@ -120,9 +120,10 @@ describe("ContextManager", () => {
120120 const range : [ number , number ] = [ 1 , 3 ]
121121 const result = contextManager . getTruncatedMessages ( messages , range )
122122
123- expect ( result ) . to . have . lengthOf ( 2 )
123+ expect ( result ) . to . have . lengthOf ( 3 )
124124 expect ( result [ 0 ] ) . to . deep . equal ( messages [ 0 ] )
125- expect ( result [ 1 ] ) . to . deep . equal ( messages [ 4 ] )
125+ expect ( result [ 1 ] ) . to . deep . equal ( messages [ 1 ] )
126+ expect ( result [ 2 ] ) . to . deep . equal ( messages [ 4 ] )
126127 } )
127128
128129 it ( "works with a range that starts at the first message after task" , ( ) => {
@@ -131,20 +132,21 @@ describe("ContextManager", () => {
131132 const range : [ number , number ] = [ 1 , 2 ]
132133 const result = contextManager . getTruncatedMessages ( messages , range )
133134
134- expect ( result ) . to . have . lengthOf ( 2 )
135+ expect ( result ) . to . have . lengthOf ( 3 )
135136 expect ( result [ 0 ] ) . to . deep . equal ( messages [ 0 ] )
136- expect ( result [ 1 ] ) . to . deep . equal ( messages [ 3 ] )
137+ expect ( result [ 1 ] ) . to . deep . equal ( messages [ 1 ] )
138+ expect ( result [ 2 ] ) . to . deep . equal ( messages [ 3 ] )
137139 } )
138140
139141 it ( "correctly handles removing a range while preserving alternation pattern" , ( ) => {
140142 const messages = createMessages ( 5 )
141143
142- const range : [ number , number ] = [ 1 , 2 ]
144+ const range : [ number , number ] = [ 2 , 3 ]
143145 const result = contextManager . getTruncatedMessages ( messages , range )
144146
145147 expect ( result ) . to . have . lengthOf ( 3 )
146148 expect ( result [ 0 ] ) . to . deep . equal ( messages [ 0 ] )
147- expect ( result [ 1 ] ) . to . deep . equal ( messages [ 3 ] )
149+ expect ( result [ 1 ] ) . to . deep . equal ( messages [ 1 ] )
148150 expect ( result [ 2 ] ) . to . deep . equal ( messages [ 4 ] )
149151
150152 expect ( result [ 0 ] . role ) . to . equal ( "user" )
0 commit comments