Files
openclaw/scripts/e2e/lib/gateway-network/client.d.mts
T

53 lines
1.8 KiB
TypeScript

export type GatewayFrame = {
error?: {
code?: string;
details?: Record<string, unknown>;
message?: string;
retryable?: boolean;
};
id?: string;
ok?: boolean;
payload?: Record<string, unknown>;
type?: string;
};
export type GatewaySocket = { close(): void; send(payload: string): void };
export function assertReadySuspensionResponse(
response: Record<string, unknown>,
now?: number,
): Record<string, unknown>;
export function assertGatewaySuspendingError(response: GatewayFrame): void;
export function assertSuspendedProbes(
health: Record<string, unknown>,
readiness: Record<string, unknown>,
): void;
export function prepareReadySuspension(
options: {
deadline: number;
requestId: string;
rpc: (method: string, params: Record<string, unknown>) => Promise<Record<string, unknown>>;
},
deps?: { delayImpl?: (ms: number) => Promise<void>; now?: () => number },
): Promise<Record<string, unknown>>;
export function runGatewaySuspensionPreRestartClient(
options: { statePath: string; token: string; url: string; timeoutMs?: number },
deps?: { fetchImpl?: typeof fetch },
): Promise<void>;
export function runGatewaySuspensionPostRestartClient(
options: { statePath: string; token: string; url: string; timeoutMs?: number },
deps?: { fetchImpl?: typeof fetch },
): Promise<void>;
export function runGatewayNetworkClient(
options: { token: string; url: string; timeoutMs?: number },
deps?: {
delay?: (ms: number) => Promise<void>;
onceFrame?: (
ws: GatewaySocket,
predicate: (message: GatewayFrame) => boolean,
timeoutMs?: number,
) => Promise<GatewayFrame>;
openSocket?: (url: string, timeoutMs?: number) => Promise<GatewaySocket>;
protocolVersion?: number;
stdout?: (message: string) => void;
},
): Promise<void>;