Files
clawdbot/src/config/port-defaults.ts
Peter Steinberger c379191f80 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00

42 lines
1.5 KiB
TypeScript

export type PortRange = { start: number; end: number };
function isValidPort(port: number): boolean {
return Number.isFinite(port) && port > 0 && port <= 65535;
}
function clampPort(port: number, fallback: number): number {
return isValidPort(port) ? port : fallback;
}
function derivePort(base: number, offset: number, fallback: number): number {
return clampPort(base + offset, fallback);
}
export const DEFAULT_BRIDGE_PORT = 18790;
export const DEFAULT_BROWSER_CONTROL_PORT = 18791;
export const DEFAULT_CANVAS_HOST_PORT = 18793;
export const DEFAULT_BROWSER_CDP_PORT_RANGE_START = 18800;
export const DEFAULT_BROWSER_CDP_PORT_RANGE_END = 18899;
export function deriveDefaultBridgePort(gatewayPort: number): number {
return derivePort(gatewayPort, 1, DEFAULT_BRIDGE_PORT);
}
export function deriveDefaultBrowserControlPort(gatewayPort: number): number {
return derivePort(gatewayPort, 2, DEFAULT_BROWSER_CONTROL_PORT);
}
export function deriveDefaultCanvasHostPort(gatewayPort: number): number {
return derivePort(gatewayPort, 4, DEFAULT_CANVAS_HOST_PORT);
}
export function deriveDefaultBrowserCdpPortRange(browserControlPort: number): PortRange {
const start = derivePort(browserControlPort, 9, DEFAULT_BROWSER_CDP_PORT_RANGE_START);
const end = clampPort(
start + (DEFAULT_BROWSER_CDP_PORT_RANGE_END - DEFAULT_BROWSER_CDP_PORT_RANGE_START),
DEFAULT_BROWSER_CDP_PORT_RANGE_END,
);
if (end < start) return { start, end: start };
return { start, end };
}