Skip to content

Commit ebe35a4

Browse files
committed
fix(xai): avoid streaming dependency graph change
1 parent c95d6fa commit ebe35a4

3 files changed

Lines changed: 16 additions & 10 deletions

File tree

extensions/xai/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
"description": "OpenClaw xAI plugin",
66
"type": "module",
77
"dependencies": {
8-
"typebox": "1.1.39",
9-
"ws": "8.21.0"
8+
"typebox": "1.1.39"
109
},
1110
"devDependencies": {
12-
"@openclaw/plugin-sdk": "workspace:*"
11+
"@openclaw/plugin-sdk": "workspace:*",
12+
"ws": "8.21.0"
1313
},
1414
"openclaw": {
1515
"extensions": [

extensions/xai/tts.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ type XaiTtsWebSocketFactory = (
3131
url: string,
3232
options: XaiTtsWebSocketOptions,
3333
) => XaiTtsWebSocket | Promise<XaiTtsWebSocket>;
34+
type XaiTtsNodeWebSocketInit = {
35+
headers: Record<string, string>;
36+
};
37+
type XaiTtsNodeWebSocketConstructor = new (
38+
url: string,
39+
options: XaiTtsNodeWebSocketInit,
40+
) => XaiTtsWebSocket;
3441

3542
function isClosedXaiTtsWebSocket(ws: XaiTtsWebSocket): boolean {
3643
return ws.readyState === XAI_TTS_WS_CLOSED;
@@ -405,11 +412,10 @@ async function createXaiTtsWebSocket(
405412
url: string,
406413
options: XaiTtsWebSocketOptions,
407414
): Promise<XaiTtsWebSocket> {
408-
const { WebSocket } = await import("ws");
409-
return new WebSocket(url, {
415+
const NodeWebSocket = WebSocket as unknown as XaiTtsNodeWebSocketConstructor;
416+
return new NodeWebSocket(url, {
410417
headers: options.headers,
411-
handshakeTimeout: options.handshakeTimeout,
412-
}) as XaiTtsWebSocket;
418+
});
413419
}
414420

415421
function isPromiseLikeXaiTtsWebSocket(

pnpm-lock.yaml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)