summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/session/prompt.ts16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index c61403259..062a99695 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -281,9 +281,19 @@ export namespace SessionPrompt {
}),
),
...MessageV2.toModelMessage(
- msgs.filter(
- (m) => !(m.info.role === "assistant" && m.info.error && !MessageV2.AbortedError.isInstance(m.info.error)),
- ),
+ msgs.filter((m) => {
+ if (m.info.role !== "assistant" || m.info.error === undefined) {
+ return true
+ }
+ if (
+ MessageV2.AbortedError.isInstance(m.info.error) &&
+ m.parts.some((part) => part.type !== "step-start" && part.type !== "reasoning")
+ ) {
+ return true
+ }
+
+ return false
+ }),
),
],
tools: model.info.tool_call === false ? undefined : tools,