From 1f279cd2c8719601c72eff071dd69c58cda93219 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Wed, 15 Apr 2026 03:47:58 +0000 Subject: [PATCH 1/5] chore: update nix node_modules hashes --- nix/hashes.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/hashes.json b/nix/hashes.json index ba60491c6ff..0558d6b3d84 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-3VYF84QGROFpwBCYDEWHDpRFkSHwmiVWQJR81/bqjYo=", - "aarch64-linux": "sha256-k12n4GqrjBqKqBvLjzXQhDxbc8ZMZ/1TenDp2pKh888=", - "aarch64-darwin": "sha256-OCRX1VC5SJmrXk7whl6bsdmlRwjARGw+4RSk8c59N10=", - "x86_64-darwin": "sha256-l+g/cMREarOVIK3a01+csC3Mk3ZfMVWAiAosSA5/U6Y=" + "x86_64-linux": "sha256-gdS7MkWGeVO0qLs0HKD156YE0uCk5vWeYjKu4JR1Apw=", + "aarch64-linux": "sha256-tF4pyVqzbrvdkRG23Fot37FCg8guRZkcU738fHPr/OQ=", + "aarch64-darwin": "sha256-FugTWzGMb2ktAbNwQvWRM3GWOb5RTR++8EocDDrQMLc=", + "x86_64-darwin": "sha256-jpe6EiwKr+CS00cn0eHwcDluO4LvO3t/5l/LcFBBKP0=" } } From 2b7e64d300c806a337c623b07aecee49df68f7d2 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Wed, 15 Apr 2026 00:04:49 -0500 Subject: [PATCH 2/5] commit test case --- .opencode/opencode.jsonc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.opencode/opencode.jsonc b/.opencode/opencode.jsonc index 8380f7f719e..cedc948b7db 100644 --- a/.opencode/opencode.jsonc +++ b/.opencode/opencode.jsonc @@ -3,6 +3,26 @@ "provider": { "opencode": { "options": {}, + "models": { + "claude-opus-4-6": { + "limit": { + "context": 20000, + "input": 20000, + "output": 1000, + }, + }, + }, + }, + "github-copilot": { + "models": { + "claude-haiku-4.5": { + "limit": { + "context": 20000, + "input": 20000, + "output": 1000, + }, + }, + }, }, }, "permission": { From 948ed7239bc491ab8b3f2dd42ae687e577cb3854 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Wed, 15 Apr 2026 00:23:09 -0500 Subject: [PATCH 3/5] compaction change --- packages/opencode/src/plugin/github-copilot/copilot.ts | 10 +++++++++- packages/opencode/src/session/compaction.ts | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/plugin/github-copilot/copilot.ts b/packages/opencode/src/plugin/github-copilot/copilot.ts index ac685f74da2..e12d182e4f9 100644 --- a/packages/opencode/src/plugin/github-copilot/copilot.ts +++ b/packages/opencode/src/plugin/github-copilot/copilot.ts @@ -355,7 +355,15 @@ export async function CopilotAuthPlugin(input: PluginInput): Promise { }) .catch(() => undefined) - if (parts?.data.parts?.some((part) => part.type === "compaction")) { + if ( + parts?.data.parts?.some( + (part) => + part.type === "compaction" || + // Auto-compaction resumes via a synthetic user text part. Treat only + // that marked followup as agent-initiated so manual prompts stay user-initiated. + (part.type === "text" && part.synthetic && part.metadata?.compaction_continue === true), + ) + ) { output.headers["x-initiator"] = "agent" return } diff --git a/packages/opencode/src/session/compaction.ts b/packages/opencode/src/session/compaction.ts index de0f8d07886..4978ef54785 100644 --- a/packages/opencode/src/session/compaction.ts +++ b/packages/opencode/src/session/compaction.ts @@ -345,6 +345,10 @@ When constructing the summary, try to stick to this template: messageID: continueMsg.id, sessionID: input.sessionID, type: "text", + // Internal marker for auto-compaction followups so provider plugins + // can distinguish them from manual post-compaction user prompts. + // This is not a stable plugin contract and may change or disappear. + metadata: { compaction_continue: true }, synthetic: true, text, time: { From fd9f340f6f7d6b9d13eb6a000b5554ceb7b5e77f Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Wed, 15 Apr 2026 00:31:10 -0500 Subject: [PATCH 4/5] tweak: add test and cleanup file --- .opencode/opencode.jsonc | 9 --------- packages/opencode/test/session/compaction.test.ts | 1 + 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.opencode/opencode.jsonc b/.opencode/opencode.jsonc index cedc948b7db..88a1c15c51c 100644 --- a/.opencode/opencode.jsonc +++ b/.opencode/opencode.jsonc @@ -3,15 +3,6 @@ "provider": { "opencode": { "options": {}, - "models": { - "claude-opus-4-6": { - "limit": { - "context": 20000, - "input": 20000, - "output": 1000, - }, - }, - }, }, "github-copilot": { "models": { diff --git a/packages/opencode/test/session/compaction.test.ts b/packages/opencode/test/session/compaction.test.ts index ddfe859113d..251447762db 100644 --- a/packages/opencode/test/session/compaction.test.ts +++ b/packages/opencode/test/session/compaction.test.ts @@ -843,6 +843,7 @@ describe("session.compaction.process", () => { expect(last?.parts[0]).toMatchObject({ type: "text", synthetic: true, + metadata: { compaction_continue: true }, }) if (last?.parts[0]?.type === "text") { expect(last.parts[0].text).toContain("Continue if you have next steps") From 2d0b7d96160a77f1e86a21804e8d42efa7719f71 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Wed, 15 Apr 2026 00:32:39 -0500 Subject: [PATCH 5/5] chore: rm model list change --- .opencode/opencode.jsonc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.opencode/opencode.jsonc b/.opencode/opencode.jsonc index 88a1c15c51c..8380f7f719e 100644 --- a/.opencode/opencode.jsonc +++ b/.opencode/opencode.jsonc @@ -4,17 +4,6 @@ "opencode": { "options": {}, }, - "github-copilot": { - "models": { - "claude-haiku-4.5": { - "limit": { - "context": 20000, - "input": 20000, - "output": 1000, - }, - }, - }, - }, }, "permission": { "edit": {