@@ -22,7 +22,6 @@ import PROMPT_PLAN from "../session/prompt/plan.txt"
2222import BUILD_SWITCH from "../session/prompt/build-switch.txt"
2323import MAX_STEPS from "../session/prompt/max-steps.txt"
2424import { defer } from "../util/defer"
25- import { clone } from "remeda"
2625import { ToolRegistry } from "../tool/registry"
2726import { MCP } from "../mcp"
2827import { LSP } from "../lsp"
@@ -627,11 +626,9 @@ export namespace SessionPrompt {
627626 } )
628627 }
629628
630- const sessionMessages = clone ( msgs )
631-
632629 // Ephemerally wrap queued user messages with a reminder to stay on track
633630 if ( step > 1 && lastFinished ) {
634- for ( const msg of sessionMessages ) {
631+ for ( const msg of msgs ) {
635632 if ( msg . info . role !== "user" || msg . info . id <= lastFinished . id ) continue
636633 for ( const part of msg . parts ) {
637634 if ( part . type !== "text" || part . ignored || part . synthetic ) continue
@@ -648,7 +645,7 @@ export namespace SessionPrompt {
648645 }
649646 }
650647
651- await Plugin . trigger ( "experimental.chat.messages.transform" , { } , { messages : sessionMessages } )
648+ await Plugin . trigger ( "experimental.chat.messages.transform" , { } , { messages : msgs } )
652649
653650 // Build system prompt, adding structured output instruction if needed
654651 const system = [ ...( await SystemPrompt . environment ( model ) ) , ...( await InstructionPrompt . system ( ) ) ]
@@ -664,7 +661,7 @@ export namespace SessionPrompt {
664661 sessionID,
665662 system,
666663 messages : [
667- ...MessageV2 . toModelMessages ( sessionMessages , model ) ,
664+ ...MessageV2 . toModelMessages ( msgs , model ) ,
668665 ...( isLastStep
669666 ? [
670667 {
0 commit comments