diff --git a/extensions/codex/src/app-server/approval-bridge.test.ts b/extensions/codex/src/app-server/approval-bridge.test.ts index 4742d227ce0..9efcffac8d4 100644 --- a/extensions/codex/src/app-server/approval-bridge.test.ts +++ b/extensions/codex/src/app-server/approval-bridge.test.ts @@ -107,12 +107,8 @@ describe("Codex app-server approval bridge", () => { expect(requestPayload.turnSourceChannel).toBe("telegram"); expect(requestPayload.turnSourceTo).toBe("chat-1"); expect(gatewayCallOptions()).toEqual({ expectFinal: false }); - expect( - findApprovalEvent(params, { status: "pending", approvalId: "plugin:approval-1" }), - ).toBeDefined(); - expect( - findApprovalEvent(params, { status: "approved", approvalId: "plugin:approval-1" }), - ).toBeDefined(); + findApprovalEvent(params, { status: "pending", approvalId: "plugin:approval-1" }); + findApprovalEvent(params, { status: "approved", approvalId: "plugin:approval-1" }); }); it("describes command approvals from parsed command actions when available", async () => { @@ -240,12 +236,10 @@ describe("Codex app-server approval bridge", () => { expect(gatewayRequestPayload().description).toBe( "Command: pnpm test --watch extensions/codex/src/app-server\nSession: agent:main:session-1", ); - expect( - findApprovalEvent(params, { - status: "pending", - command: "pnpm test --watch extensions/codex/src/app-server", - }), - ).toBeDefined(); + findApprovalEvent(params, { + status: "pending", + command: "pnpm test --watch extensions/codex/src/app-server", + }); }); it("escapes command approval previews before forwarding approval text and events", async () => { @@ -275,12 +269,9 @@ describe("Codex app-server approval bridge", () => { expect(description).not.toContain("<@U123>"); expect(description).not.toContain("[trusted](https://evil)"); expect(description).not.toContain("@here"); - expect( - findApprovalEvent(params, { - command: - "printf '<\uff20U123> \uff3btrusted\uff3d\uff08https://evil\uff09 \uff20here'", - }), - ).toBeDefined(); + findApprovalEvent(params, { + command: "printf '<\uff20U123> \uff3btrusted\uff3d\uff08https://evil\uff09 \uff20here'", + }); }); it("preserves visible OSC-8 link labels in command previews", async () => { @@ -416,12 +407,10 @@ describe("Codex app-server approval bridge", () => { "plugin.approval.request", "plugin.approval.waitDecision", ]); - expect( - findApprovalEvent(params, { - status: "denied", - approvalId: "plugin:approval-untrusted", - }), - ).toBeDefined(); + findApprovalEvent(params, { + status: "denied", + approvalId: "plugin:approval-untrusted", + }); }); it("only treats own null data-property request decisions as no-route", async () => { @@ -538,9 +527,7 @@ describe("Codex app-server approval bridge", () => { expect(result).toEqual({ decision: "decline" }); expect(mockCallGatewayTool).toHaveBeenCalledTimes(1); - expect( - findApprovalEvent(params, { status: "unavailable", reason: "needs write access" }), - ).toBeDefined(); + findApprovalEvent(params, { status: "unavailable", reason: "needs write access" }); }); it("sanitizes reason previews before forwarding approval text and events", async () => { @@ -566,12 +553,10 @@ describe("Codex app-server approval bridge", () => { expect(gatewayRequestPayload().description).toBe( "Reason: needs write access for /tmp please\nSession: agent:main:session-1", ); - expect( - findApprovalEvent(params, { - status: "unavailable", - reason: "needs write access for /tmp please", - }), - ).toBeDefined(); + findApprovalEvent(params, { + status: "unavailable", + reason: "needs write access for /tmp please", + }); }); it("fails closed for unsupported native approval methods without requesting plugin approval", async () => { diff --git a/extensions/diffs/src/tool.test.ts b/extensions/diffs/src/tool.test.ts index e778c73128b..42a07417c6b 100644 --- a/extensions/diffs/src/tool.test.ts +++ b/extensions/diffs/src/tool.test.ts @@ -236,7 +236,8 @@ describe("diffs tool", () => { mode: "file", }); const filePath = (result?.details as Record).filePath as string; - await expect(fs.stat(filePath)).resolves.toBeDefined(); + const stat = await fs.stat(filePath); + expect(stat.isFile()).toBe(true); vi.setSystemTime(new Date(now.getTime() + 61_000)); await store.cleanupExpired(); diff --git a/extensions/discord/src/voice/manager.e2e.test.ts b/extensions/discord/src/voice/manager.e2e.test.ts index 5a8b4d74529..fbf9fada47f 100644 --- a/extensions/discord/src/voice/manager.e2e.test.ts +++ b/extensions/discord/src/voice/manager.e2e.test.ts @@ -2783,9 +2783,13 @@ describe("DiscordVoiceManager", () => { expect(lastTtsStreamArgs().disableFallback).toBe(true); expect(lastTtsStreamArgs().text).toBe("hello back"); expect(textToSpeechMock).not.toHaveBeenCalled(); - expect( - lastMockCall(createAudioResourceMock as unknown as MockCallSource, "audio resource")[0], - ).toBeDefined(); + const audioResourceInput = lastMockCall( + createAudioResourceMock as unknown as MockCallSource, + "audio resource", + )[0]; + if (audioResourceInput === undefined) { + throw new Error("expected Discord audio resource input"); + } await vi.waitFor(() => expect(release).toHaveBeenCalledTimes(1)); }); diff --git a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts index 67408949230..bafaa948078 100644 --- a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts @@ -413,11 +413,6 @@ describe("telegram live qa runtime", () => { .find((scenario) => scenario.id === "telegram-mentioned-message-reply") ?.buildRun("sut_bot").steps[0].replyToLatestSutMessage, ).toBe(true); - expect( - scenarios - .find((scenario) => scenario.id === "telegram-reply-chain-exact-marker") - ?.buildRun("sut_bot").steps[0], - ).toBeDefined(); const replyChainStep = requireScenario(scenarios, "telegram-reply-chain-exact-marker").buildRun( "sut_bot", ).steps[0]; diff --git a/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts b/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts index c703d291bdf..2533eec893b 100644 --- a/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts +++ b/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts @@ -458,9 +458,7 @@ describe("deliverWebReply", () => { expect(mediaPayload.mimetype).toBe("image/jpeg"); expect(mockCallArg(msg.sendMedia, 0, 1, "sendMedia")).toBeUndefined(); expect(msg.reply).toHaveBeenCalledWith("aaa", undefined); - expect( - findLoggerContext(replyLogger.info, "auto-reply sent (media)", "replyLogger.info"), - ).toBeDefined(); + findLoggerContext(replyLogger.info, "auto-reply sent (media)", "replyLogger.info"); expect(logVerbose).toHaveBeenCalled(); }); diff --git a/src/acp/translator.stop-reason.test.ts b/src/acp/translator.stop-reason.test.ts index e224614305b..59392a73909 100644 --- a/src/acp/translator.stop-reason.test.ts +++ b/src/acp/translator.stop-reason.test.ts @@ -331,7 +331,11 @@ describe("acp translator stop reason mapping", () => { await Promise.resolve(); agent.handleGatewayDisconnect("1006: first disconnect"); agent.handleGatewayReconnect(); - await vi.waitFor(() => expect(resolveAgentWait).toBeDefined()); + await vi.waitFor(() => { + if (resolveAgentWait === undefined) { + throw new Error("expected agent.wait resolver"); + } + }); const resolveWait = requireValue(resolveAgentWait, "agent.wait resolver"); agent.handleGatewayDisconnect("1006: second disconnect"); diff --git a/src/plugins/loader.test.ts b/src/plugins/loader.test.ts index 25446ae4a24..c39ed0726b1 100644 --- a/src/plugins/loader.test.ts +++ b/src/plugins/loader.test.ts @@ -5433,11 +5433,11 @@ module.exports = { }, }); - expect( - registry.channels.find((entry) => entry.plugin.id === "healthy-chat")?.plugin.meta, - ).toBeDefined(); const healthyMeta = registry.channels.find((entry) => entry.plugin.id === "healthy-chat") ?.plugin.meta; + if (!healthyMeta) { + throw new Error("expected healthy chat plugin metadata"); + } expect(healthyMeta?.label).toBe("Healthy Chat"); expect(healthyMeta?.docsPath).toBe("/channels/healthy-chat"); expect(registry.plugins.find((entry) => entry.id === "healthy-channel")?.status).toBe("loaded");