mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-22 15:21:43 +08:00
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { WebSocket } from "ws";
|
|
import { captureEnv } from "../test-utils/env.js";
|
|
import {
|
|
connectOk,
|
|
getFreePort,
|
|
startGatewayServer,
|
|
trackConnectChallengeNonce,
|
|
} from "./test-helpers.js";
|
|
|
|
export type GatewayWsClient = {
|
|
ws: WebSocket;
|
|
hello: unknown;
|
|
};
|
|
|
|
export type GatewayServerHarness = {
|
|
port: number;
|
|
server: Awaited<ReturnType<typeof startGatewayServer>>;
|
|
openClient: (opts?: Parameters<typeof connectOk>[1]) => Promise<GatewayWsClient>;
|
|
close: () => Promise<void>;
|
|
};
|
|
|
|
export async function startGatewayServerHarness(): Promise<GatewayServerHarness> {
|
|
const envSnapshot = captureEnv(["OPENCLAW_GATEWAY_TOKEN"]);
|
|
delete process.env.OPENCLAW_GATEWAY_TOKEN;
|
|
const port = await getFreePort();
|
|
const server = await startGatewayServer(port);
|
|
|
|
const openClient = async (opts?: Parameters<typeof connectOk>[1]): Promise<GatewayWsClient> => {
|
|
const ws = new WebSocket(`ws://127.0.0.1:${port}`);
|
|
trackConnectChallengeNonce(ws);
|
|
await new Promise<void>((resolve) => ws.once("open", resolve));
|
|
const hello = await connectOk(ws, opts);
|
|
return { ws, hello };
|
|
};
|
|
|
|
const close = async () => {
|
|
await server.close();
|
|
envSnapshot.restore();
|
|
};
|
|
|
|
return { port, server, openClient, close };
|
|
}
|