import { describe, expect, it } from "bun:test"; import { FrontendActionCoordinator, FrontendActionError } from "../../src/frontendAction/coordinator.js"; describe("FrontendActionCoordinator", () => { it("rejects frontend actions when the registry is empty", () => { const coordinator = new FrontendActionCoordinator(); coordinator.registerSink("s", () => undefined); expect(() => coordinator.request({ sessionId: "s", toolCallId: "c", name: "zoom_to_map", params: {} })).toThrow(FrontendActionError); expect(() => coordinator.request({ sessionId: "s", toolCallId: "c", name: "zoom_to_map", params: {} })).toThrow("unknown frontend action"); }); });