import { describe, expect, it } from "@suaveplan/testing/runner"; import * as relay from "../src/index.js"; describe("@suaveplan/network-plugin-intra-relay public surface", () => { it("exports every documented class", () => { expect(relay.RelayDiscovery).toBeDefined(); expect(relay.RelaySelector).toBeDefined(); expect(relay.RelayConnectionManager).toBeDefined(); expect(relay.LoopPrevention).toBeDefined(); expect(relay.RelayPerformanceMonitor).toBeDefined(); expect(relay.IntraRelayPlugin).toBeDefined(); }); it("exports the error registry", () => { expect(relay.NETWORK_INTRA_RELAY_CODES).toBeDefined(); expect(relay.NetworkIntraRelayError).toBeDefined(); }); it("exports envelope helpers + constants", () => { expect(typeof relay.wrapEnvelope).toBe("function"); expect(typeof relay.advanceEnvelope).toBe("function"); expect(typeof relay.nextHopFor).toBe("function"); expect(typeof relay.unwrapEnvelope).toBe("function"); expect(relay.DEFAULT_MAX_HOPS).toBe(8); expect(Array.isArray(relay.STRATEGY_LIST)).toBe(true); expect(relay.RELAY_TRANSITIONS).toBeDefined(); }); });