Files
NetMesh/components/terminalLayer/terminalLayerSessionRouting.ts

18 lines
563 B
TypeScript
Raw Permalink Normal View History

import type { TerminalSession } from "../../types";
type SessionRoutingProtocol = Pick<TerminalSession, "protocol">;
type DirectWriteSessionState = Pick<TerminalSession, "status"> & {
restoreState?: TerminalSession["restoreState"];
};
export function resolveFallbackSessionProtocol(
session: SessionRoutingProtocol,
): NonNullable<TerminalSession["protocol"]> {
return session.protocol ?? "ssh";
}
export function canUseDirectSessionWriteFallback(session: DirectWriteSessionState): boolean {
return session.restoreState !== "restored-disconnected";
}