export const DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS = 10 _000 ;
export const MIN_CONNECT_CHALLENGE_TIMEOUT_MS = 250 ;
export const MAX_CONNECT_CHALLENGE_TIMEOUT_MS = DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
export function clampConnectChallengeTimeoutMs(timeoutMs: number): number {
return Math.max(
MIN_CONNECT_CHALLENGE_TIMEOUT_MS,
Math.min(MAX_CONNECT_CHALLENGE_TIMEOUT_MS, timeoutMs),
);
}
export function getConnectChallengeTimeoutMsFromEnv(
env: NodeJS.ProcessEnv = process.env,
): number | undefined {
const raw = env.OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS;
if (raw) {
const parsed = Number(raw);
if (Number.isFinite(parsed) && parsed > 0 ) {
return parsed;
}
}
return undefined;
}
export function resolveConnectChallengeTimeoutMs(timeoutMs?: number | null ): number {
if (typeof timeoutMs === "number" && Number.isFinite(timeoutMs)) {
return clampConnectChallengeTimeoutMs(timeoutMs);
}
const envOverride = getConnectChallengeTimeoutMsFromEnv();
if (envOverride !== undefined) {
return clampConnectChallengeTimeoutMs(envOverride);
}
return DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
}
export function getPreauthHandshakeTimeoutMsFromEnv(env: NodeJS.ProcessEnv = process.env): number {
const configuredTimeout =
env.OPENCLAW_HANDSHAKE_TIMEOUT_MS || (env.VITEST && env.OPENCLAW_TEST_HANDSHAKE_TIMEOUT_MS);
if (configuredTimeout) {
const parsed = Number(configuredTimeout);
if (Number.isFinite(parsed) && parsed > 0 ) {
return parsed;
}
}
return DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
}
Messung V0.5 in Prozent C=99 H=97 G=97
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland