test(FN-4900): add failing recursion regression

Fusion-Task-Id: FN-4900
Fusion-Task-Lineage: ec7d26d7-4d38-4afd-b029-4b68d5f2db6f
This commit is contained in:
Fusion (runfusion.ai)
2026-05-17 08:51:26 -07:00
committed by gsxdsm
parent 0338b371f6
commit 890494d00b

View File

@@ -0,0 +1,17 @@
import { describe, expect, it, vi } from "vitest";
import { DefaultPiRuntime } from "../runtime-resolution.js";
describe("pi promptWithFallback recursion guard (FN-4900)", () => {
it("does not recurse when a bare session is wrapped by DefaultPiRuntime", async () => {
const runtime = new DefaultPiRuntime();
const prompt = vi.fn(async () => undefined);
const session = { prompt } as any;
session.promptWithFallback = (input: string, options?: unknown) =>
runtime.promptWithFallback(session, input, options);
await expect(session.promptWithFallback("hello")).resolves.toBeUndefined();
expect(prompt).toHaveBeenCalledTimes(1);
expect(prompt).toHaveBeenCalledWith("hello", undefined);
});
});