diff --git a/packages/server/src/server/agent/providers/omp/agent.test.ts b/packages/server/src/server/agent/providers/omp/agent.test.ts index 8539e38336..39390df0a9 100644 --- a/packages/server/src/server/agent/providers/omp/agent.test.ts +++ b/packages/server/src/server/agent/providers/omp/agent.test.ts @@ -376,6 +376,25 @@ describe("OMP agent client and session", () => { expect(omp.completedTurnCount()).toBe(1); }); + test("does not complete a turn when a custom message arrives before its user message", async () => { + const omp = new OmpHarness(); + await omp.start(); + await omp.requireStartTurn("hello OMP"); + + const runtime = omp.runtime(); + runtime.beginTurn(); + runtime.acceptCustomMessage("startup notice"); + + expect(omp.completedTurnCount()).toBe(0); + + runtime.acceptPrompt("hello OMP", "user-1"); + runtime.streamAssistantText("model turn completed"); + runtime.finishTurn(); + await waitForImmediate(); + + expect(omp.completedTurnCount()).toBe(1); + }); + test("omits live custom messages when display is false", async () => { const omp = new OmpHarness(); await omp.start(); diff --git a/packages/server/src/server/agent/providers/omp/agent.ts b/packages/server/src/server/agent/providers/omp/agent.ts index 13f36b5b7a..c8409caeb6 100644 --- a/packages/server/src/server/agent/providers/omp/agent.ts +++ b/packages/server/src/server/agent/providers/omp/agent.ts @@ -2033,9 +2033,6 @@ export class OmpAgentSession implements AgentSession { }); } } - if (!this.activeTurnHasUserMessage) { - this.completeTurn(turnId, []); - } return; }