summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDS <[email protected]>2026-03-16 12:32:53 -0400
committerGitHub <[email protected]>2026-03-16 11:32:53 -0500
commit4cb29967f6e09828daab404ad4c14274bae2bb97 (patch)
tree96a9c638875185535b079ddf73364b2f212b26b0
parente718db624fd0694cbdd051c8d27b577560cb057c (diff)
downloadopencode-4cb29967f6e09828daab404ad4c14274bae2bb97.tar.gz
opencode-4cb29967f6e09828daab404ad4c14274bae2bb97.zip
fix(opencode): apply message transforms during compaction (#17823)
-rw-r--r--packages/opencode/src/session/compaction.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/opencode/src/session/compaction.ts b/packages/opencode/src/session/compaction.ts
index 8d934c05d..072ea1d57 100644
--- a/packages/opencode/src/session/compaction.ts
+++ b/packages/opencode/src/session/compaction.ts
@@ -200,6 +200,8 @@ When constructing the summary, try to stick to this template:
---`
const promptText = compacting.prompt ?? [defaultPrompt, ...compacting.context].join("\n\n")
+ const msgs = structuredClone(messages)
+ await Plugin.trigger("experimental.chat.messages.transform", {}, { messages: msgs })
const result = await processor.process({
user: userMessage,
agent,
@@ -208,7 +210,7 @@ When constructing the summary, try to stick to this template:
tools: {},
system: [],
messages: [
- ...MessageV2.toModelMessages(messages, model, { stripMedia: true }),
+ ...MessageV2.toModelMessages(msgs, model, { stripMedia: true }),
{
role: "user",
content: [