/**
 * remote/gateway/types — the multi-platform gateway ports.
 *
 * The gateway makes ONE running agent session reachable from several
 * messaging surfaces at once (Telegram, Discord, Slack — and the local CLI).
 * Each surface is a `GatewayAdapter`: it normalizes inbound platform messages
 * into the SDK's `InstructionInbox` and delivers the agent's rendered
 * `SessionEvent` stream back out.
 *
 * Transport-agnostic by design — the same port/transport split the SDK
 * already uses for HITL (`ApprovalChannel`) and remote-control
 * (`RemoteControlPort`). An adapter owns one platform's wire protocol; the
 * `Gateway` (see gateway.ts) owns the routing.
 *
 * @public @since 2.14.0 — preste remote-control T4
 */
/** Discard-everything logger — the default. */
export const NOOP_LOGGER = () => {
    /* discard */
};
/**
 * Default WS factory — uses the runtime's global `WebSocket` (Node >=22,
 * browsers). Throws a clear message if none exists so a Node <22 consumer
 * knows to pass an explicit factory backed by the `ws` package.
 */
export function defaultWebSocketFactory(url) {
    const WS = globalThis.WebSocket;
    if (!WS) {
        throw new Error("no global WebSocket in this runtime — pass an explicit wsFactory " +
            "(Node <22 needs the `ws` package)");
    }
    return new WS(url);
}
//# sourceMappingURL=types.js.map