diff --git a/integration-tests/sdk-typescript/system-control.test.ts b/integration-tests/sdk-typescript/system-control.test.ts index f7144331f5..212dad8390 100644 --- a/integration-tests/sdk-typescript/system-control.test.ts +++ b/integration-tests/sdk-typescript/system-control.test.ts @@ -250,7 +250,7 @@ describe('System Control (E2E)', () => { try { const systemMessages: Array<{ model?: string }> = []; - let responseCount = 0; + let turnCount = 0; const resolvers: Array<() => void> = []; const responsePromises = [ new Promise((resolve) => resolvers.push(resolve)), @@ -265,11 +265,11 @@ describe('System Control (E2E)', () => { } if (isSDKResultMessage(message)) { resultWaiter.notifyResult(); - } - if (isSDKAssistantMessage(message)) { - if (responseCount < resolvers.length) { - resolvers[responseCount]?.(); - responseCount++; + // Resolve on result (one per turn), not assistant message + // (which may fire multiple times per turn: thinking + text) + if (turnCount < resolvers.length) { + resolvers[turnCount]?.(); + turnCount++; } } }