

























@@ -1,89 +1,10 @@
1-import { parseStrictPositiveInteger } from "../infra/parse-finite-number.js";
2-import { resolveSafeTimeoutDelayMs } from "../utils/timer-delay.js";
3-4-export const DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS = 15_000;
5-export const MIN_CONNECT_CHALLENGE_TIMEOUT_MS = 250;
6-export const MAX_CONNECT_CHALLENGE_TIMEOUT_MS = DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
7-8-export function clampConnectChallengeTimeoutMs(
9-timeoutMs: number,
10-maxTimeoutMs = MAX_CONNECT_CHALLENGE_TIMEOUT_MS,
11-): number {
12-return Math.max(
13-MIN_CONNECT_CHALLENGE_TIMEOUT_MS,
14-Math.min(Math.max(MIN_CONNECT_CHALLENGE_TIMEOUT_MS, maxTimeoutMs), timeoutMs),
15-);
16-}
17-18-export function getConnectChallengeTimeoutMsFromEnv(
19-env: NodeJS.ProcessEnv = process.env,
20-): number | undefined {
21-const raw = env.OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS;
22-if (raw) {
23-const parsed = parseStrictPositiveInteger(raw);
24-if (parsed !== undefined) {
25-return resolveSafeTimeoutDelayMs(parsed);
26-}
27-}
28-return undefined;
29-}
30-31-function normalizePositiveTimeoutMs(timeoutMs: unknown): number | undefined {
32-return typeof timeoutMs === "number" && Number.isFinite(timeoutMs) && timeoutMs > 0
33- ? resolveSafeTimeoutDelayMs(timeoutMs)
34- : undefined;
35-}
36-37-export function resolveConnectChallengeTimeoutMs(
38-timeoutMs?: number | null,
39-params?: {
40-env?: NodeJS.ProcessEnv;
41-configuredTimeoutMs?: number | null;
42-},
43-): number {
44-const configuredPreauthTimeoutMs = resolvePreauthHandshakeTimeoutMs({
45-env: params?.env,
46-configuredTimeoutMs: params?.configuredTimeoutMs,
47-});
48-const maxTimeoutMs = Math.max(DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS, configuredPreauthTimeoutMs);
49-if (typeof timeoutMs === "number" && Number.isFinite(timeoutMs)) {
50-return clampConnectChallengeTimeoutMs(timeoutMs, maxTimeoutMs);
51-}
52-const envOverride = getConnectChallengeTimeoutMsFromEnv(params?.env);
53-if (envOverride !== undefined) {
54-return clampConnectChallengeTimeoutMs(envOverride, Math.max(maxTimeoutMs, envOverride));
55-}
56-return clampConnectChallengeTimeoutMs(configuredPreauthTimeoutMs, maxTimeoutMs);
57-}
58-59-export function getPreauthHandshakeTimeoutMsFromEnv(env: NodeJS.ProcessEnv = process.env): number {
60-const configuredTimeout =
61-env.OPENCLAW_HANDSHAKE_TIMEOUT_MS || (env.VITEST && env.OPENCLAW_TEST_HANDSHAKE_TIMEOUT_MS);
62-if (configuredTimeout) {
63-const parsed = parseStrictPositiveInteger(configuredTimeout);
64-if (parsed !== undefined) {
65-return resolveSafeTimeoutDelayMs(parsed);
66-}
67-}
68-return DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
69-}
70-71-export function resolvePreauthHandshakeTimeoutMs(params?: {
72-env?: NodeJS.ProcessEnv;
73-configuredTimeoutMs?: number | null;
74-}): number {
75-const env = params?.env ?? process.env;
76-const configuredTimeout =
77-env.OPENCLAW_HANDSHAKE_TIMEOUT_MS || (env.VITEST && env.OPENCLAW_TEST_HANDSHAKE_TIMEOUT_MS);
78-if (configuredTimeout) {
79-const parsed = parseStrictPositiveInteger(configuredTimeout);
80-if (parsed !== undefined) {
81-return resolveSafeTimeoutDelayMs(parsed);
82-}
83-}
84-const configured = normalizePositiveTimeoutMs(params?.configuredTimeoutMs);
85-if (configured !== undefined) {
86-return configured;
87-}
88-return DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
89-}
1+export {
2+clampConnectChallengeTimeoutMs,
3+DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS,
4+getConnectChallengeTimeoutMsFromEnv,
5+getPreauthHandshakeTimeoutMsFromEnv,
6+MAX_CONNECT_CHALLENGE_TIMEOUT_MS,
7+MIN_CONNECT_CHALLENGE_TIMEOUT_MS,
8+resolveConnectChallengeTimeoutMs,
9+resolvePreauthHandshakeTimeoutMs,
10+} from "../../packages/gateway-client/src/timeouts.js";
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。