@@ -127,10 +127,12 @@ describe("summarizationMiddleware", () => {
127127 expect ( summarizationModel . invoke ) . toHaveBeenCalled ( ) ;
128128
129129 // Verify the result has a system message with summary
130- expect ( result . messages [ 0 ] ) . toBeInstanceOf ( SystemMessage ) ;
131- const systemPrompt = result . messages [ 0 ] as SystemMessage ;
132- expect ( systemPrompt . content ) . toContain ( "## Previous conversation summary:" ) ;
133- expect ( systemPrompt . content ) . toContain ( "Previous conversation covered:" ) ;
130+ expect ( result . messages [ 0 ] ) . toBeInstanceOf ( HumanMessage ) ;
131+ const summaryMessage = result . messages [ 0 ] as HumanMessage ;
132+ expect ( summaryMessage . content ) . toContain (
133+ "## Previous conversation summary:"
134+ ) ;
135+ expect ( summaryMessage . content ) . toContain ( "Previous conversation covered:" ) ;
134136
135137 // Verify only recent messages are kept (plus the new response)
136138 expect ( result . messages . length ) . toBeLessThanOrEqual ( 5 ) ; // system + kept messages + new response
@@ -253,16 +255,18 @@ describe("summarizationMiddleware", () => {
253255 const result = await agent . invoke ( { messages } ) ;
254256
255257 // Verify system message is updated with new summary
256- expect ( result . messages [ 0 ] ) . toBeInstanceOf ( SystemMessage ) ;
257- const systemPrompt = result . messages [ 0 ] as SystemMessage ;
258- expect ( systemPrompt . content ) . toContain ( "You are a helpful assistant" ) ;
259- expect ( systemPrompt . content ) . toContain ( "## Previous conversation summary:" ) ;
258+ expect ( result . messages [ 0 ] ) . toBeInstanceOf ( HumanMessage ) ;
259+ const summaryMessage = result . messages [ 0 ] as HumanMessage ;
260+ expect ( summaryMessage . content ) . toContain ( "You are a helpful assistant" ) ;
261+ expect ( summaryMessage . content ) . toContain (
262+ "## Previous conversation summary:"
263+ ) ;
260264
261265 // Should have replaced the old summary with new one
262- expect ( systemPrompt . content ) . not . toContain (
266+ expect ( summaryMessage . content ) . not . toContain (
263267 "Previous discussion about databases"
264268 ) ;
265- expect ( systemPrompt . content ) . toContain ( "Previous conversation covered:" ) ;
269+ expect ( summaryMessage . content ) . toContain ( "Previous conversation covered:" ) ;
266270 } ) ;
267271
268272 it ( "should use custom token counter when provided" , async ( ) => {
@@ -428,9 +432,11 @@ describe("summarizationMiddleware", () => {
428432 const result = await agent . invoke ( { messages } ) ;
429433
430434 // Verify summarization occurred
431- expect ( result . messages [ 0 ] ) . toBeInstanceOf ( SystemMessage ) ;
432- const systemPrompt = result . messages [ 0 ] as SystemMessage ;
433- expect ( systemPrompt . content ) . toContain ( "## Previous conversation summary:" ) ;
435+ expect ( result . messages [ 0 ] ) . toBeInstanceOf ( HumanMessage ) ;
436+ const summaryMessage = result . messages [ 0 ] as HumanMessage ;
437+ expect ( summaryMessage . content ) . toContain (
438+ "## Previous conversation summary:"
439+ ) ;
434440
435441 // Verify preserved messages don't start with AI(tool calls)
436442 const preservedMessages = result . messages . filter (
0 commit comments