File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33
44import WebSocket from "ws"
55import { ProviderError } from "@/provider/error"
6+ import { errorMessage } from "@/util/error"
67
78export const PROTOCOL_HEADER = "responses_websockets=2026-02-06"
89
@@ -94,10 +95,10 @@ export function connectResponsesWebSocket(options: ConnectResponsesWebSocketOpti
9495 resolve ( socket )
9596 }
9697
97- function onError ( error : Error ) {
98+ function onError ( error : unknown ) {
9899 socket . on ( "error" , ( ) => { } )
99100 cleanup ( )
100- reject ( error )
101+ reject ( error instanceof Error ? error : new Error ( errorMessage ( error ) , { cause : error } ) )
101102 }
102103
103104 function onClose ( code : number , reason : Buffer ) {
Original file line number Diff line number Diff line change @@ -39,6 +39,17 @@ describe("plugin.openai.ws", () => {
3939 ) . rejects . toThrow ( "WebSocket connect timed out" )
4040 } )
4141
42+ test ( "surfaces websocket upgrade rejection messages" , async ( ) => {
43+ await using server = await createRejectingWebSocketServer ( ( ) => { } )
44+
45+ await expect (
46+ OpenAIWebSocket . connectResponsesWebSocket ( {
47+ url : server . wsUrl ,
48+ headers : { } ,
49+ } ) ,
50+ ) . rejects . toThrow ( "Expected 101 status code" )
51+ } )
52+
4253 test ( "enforces websocket send idle timeout" , async ( ) => {
4354 const socket = new ( class extends EventEmitter {
4455 send ( _data : string , _callback : ( error ?: Error ) => void ) { }
You can’t perform that action at this time.
0 commit comments