From c4a51bee238ca18c7fc4e9daadab36c76f79d950 Mon Sep 17 00:00:00 2001 From: ilseob lee Date: Thu, 21 May 2026 16:03:35 +0900 Subject: [PATCH] Cover look_at permanently absent session output --- src/tools/look-at/session-poller.test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/tools/look-at/session-poller.test.ts b/src/tools/look-at/session-poller.test.ts index 1996de762..6a104a899 100644 --- a/src/tools/look-at/session-poller.test.ts +++ b/src/tools/look-at/session-poller.test.ts @@ -90,6 +90,22 @@ describe("waitForLookAtSessionResult", () => { ).rejects.toThrow("timed out") }) + test("#given supported status never lists the session but assistant output exists #when polling #then resolves with observed output", async () => { + const assistantMessages: RawMessage[] = [ + { info: { role: "user" }, parts: [{ type: "text", text: "inspect this" }] }, + { info: { role: "assistant" }, parts: [{ type: "text", text: "observed result" }] }, + ] + const client = createMockClient([{ data: {} }], assistantMessages) + + const result = await waitForLookAtSessionResult(unsafeTestValue(client), "ses_test", { + pollIntervalMs: 10, + timeoutMs: 5000, + }) + + expect(result.outcome.text).toBe("observed result") + expect(client.session.status).toHaveBeenCalledTimes(1) + }) + test("#given status omits session before it starts #when later idle has response #then waits instead of treating empty status as done", async () => { const assistantMessages: RawMessage[] = [ { info: { role: "user" }, parts: [{ type: "text", text: "analyze this" }] },