import type { AssistantMessage } from "@earendil-works/pi-ai";
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";

/** Virtual selections report physical providers in their successful responses. */
export function latestPhysicalResponse(ctx: ExtensionContext): AssistantMessage | undefined {
	const entries = ctx.sessionManager.getBranch();
	for (let i = entries.length - 1; i >= 0; i--) {
		const entry = entries[i];
		if (entry.type !== "message" || entry.message.role !== "assistant") continue;
		const message = entry.message;
		if (message.api === "pi-virtual" || message.stopReason === "error" || message.stopReason === "aborted") continue;
		return message;
	}
	return undefined;
}
