diff --git a/packages/app/e2e/browser/provider-subagents.real.spec.ts b/packages/app/e2e/browser/provider-subagents.real.spec.ts index 9141e4abce..46b9d80c3a 100644 --- a/packages/app/e2e/browser/provider-subagents.real.spec.ts +++ b/packages/app/e2e/browser/provider-subagents.real.spec.ts @@ -43,7 +43,6 @@ const cases: ProviderSubagentCase[] = [ sentinel: "OPENCODE_CHILD_SENTINEL", expectedName: "Verify OpenCode descriptor", expectedSubtitle: /explore · gpt-5\.4(?: · [^\n·]+)? · \d+(?:\.\d+)?k? tokens/i, - expectsUserMessage: false, providerConfig: { model: "openai/gpt-5.4" }, prompt: 'Use the task tool exactly once with description "Verify OpenCode descriptor" and the explore subagent. Ask it to reply with exactly OPENCODE_CHILD_SENTINEL and do nothing else. Wait for it, then reply ROOT_DONE.', diff --git a/packages/server/src/server/agent/providers/opencode-agent.test.ts b/packages/server/src/server/agent/providers/opencode-agent.test.ts index 687ae8a5d6..1f63c4d08e 100644 --- a/packages/server/src/server/agent/providers/opencode-agent.test.ts +++ b/packages/server/src/server/agent/providers/opencode-agent.test.ts @@ -6361,7 +6361,7 @@ describe("OpenCode provider subagent contract", () => { messageID: "msg_child_prompt", type: "text", text: "Inspect the auth flow.", - time: { start: 1, end: 2 }, + time: { start: 1 }, }, }, }); diff --git a/packages/server/src/server/agent/providers/opencode-agent.ts b/packages/server/src/server/agent/providers/opencode-agent.ts index 3feb1dd2e8..315f715001 100644 --- a/packages/server/src/server/agent/providers/opencode-agent.ts +++ b/packages/server/src/server/agent/providers/opencode-agent.ts @@ -2811,7 +2811,7 @@ function appendOpenCodeTextPart( events: AgentStreamEvent[], ): void { if (messageRole === "user") { - if (!part.time?.end || !part.text || state.emittedUserMessageIds?.has(part.messageID)) { + if (!part.text || state.emittedUserMessageIds?.has(part.messageID)) { return; } state.emittedUserMessageIds?.add(part.messageID);