From ff55129a4a5117ead0449668bffd83dcc132684c Mon Sep 17 00:00:00 2001 From: Daniel Smolsky Date: Mon, 15 Dec 2025 02:42:22 -0500 Subject: [PATCH 1/3] fix: rejoin system prompt after plugin hook to preserve caching --- packages/opencode/src/session/llm.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index 565d037f4db..0db3511943b 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -60,11 +60,18 @@ export namespace LLM { .join("\n"), ) + const header = system[0] const original = clone(system) await Plugin.trigger("experimental.chat.system.transform", {}, { system }) if (system.length === 0) { system.push(...original) } + // rejoin to maintain 2-part structure for caching if header unchanged + if (system.length > 2 && system[0] === header) { + const [first, ...rest] = system + system.length = 0 + system.push(first, rest.join("\n")) + } const params = await Plugin.trigger( "chat.params", From e565255eab28acdd079d013af51e93886fc4c185 Mon Sep 17 00:00:00 2001 From: DS <78942835+Tarquinen@users.noreply.github.com> Date: Mon, 15 Dec 2025 11:56:15 -0500 Subject: [PATCH 2/3] Update packages/opencode/src/session/llm.ts Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- packages/opencode/src/session/llm.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index 0db3511943b..bc4576bad79 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -68,6 +68,10 @@ export namespace LLM { } // rejoin to maintain 2-part structure for caching if header unchanged if (system.length > 2 && system[0] === header) { + const rest = system.slice(1) + system.length = 0 + system.push(header, rest.join("\n")) + } const [first, ...rest] = system system.length = 0 system.push(first, rest.join("\n")) From e2f14cab65262a4a6cb4e91f2432c84dbe4bbd87 Mon Sep 17 00:00:00 2001 From: Daniel Smolsky Date: Mon, 15 Dec 2025 12:00:16 -0500 Subject: [PATCH 3/3] fix: remove duplicate code from bot suggestion --- packages/opencode/src/session/llm.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index bc4576bad79..f81e9580563 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -72,10 +72,6 @@ export namespace LLM { system.length = 0 system.push(header, rest.join("\n")) } - const [first, ...rest] = system - system.length = 0 - system.push(first, rest.join("\n")) - } const params = await Plugin.trigger( "chat.params",