Skip to content

Commit fa47dc2

Browse files
Revert "feat(realtime): make websocket URL configurable (#238)"
This reverts commit 9fdecdb.
1 parent 9fdecdb commit fa47dc2

File tree

5 files changed

+4
-32
lines changed

5 files changed

+4
-32
lines changed

.changeset/realtime-url-configurable.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/agents-realtime/src/openaiRealtimeWebsocket.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@ export type OpenAIRealtimeWebSocketOptions = {
4747
* @see https://platform.openai.com/docs/guides/realtime#creating-an-ephemeral-token
4848
*/
4949
useInsecureApiKey?: boolean;
50-
/**
51-
* The URL to use for the WebSocket connection.
52-
*/
53-
url?: string;
5450
} & OpenAIRealtimeBaseOptions;
5551

5652
/**
@@ -63,7 +59,7 @@ export class OpenAIRealtimeWebSocket
6359
implements RealtimeTransportLayer
6460
{
6561
#apiKey: string | undefined;
66-
#url: string | undefined;
62+
#url: string;
6763
#state: WebSocketState = {
6864
status: 'disconnected',
6965
websocket: undefined,
@@ -84,7 +80,7 @@ export class OpenAIRealtimeWebSocket
8480

8581
constructor(options: OpenAIRealtimeWebSocketOptions = {}) {
8682
super(options);
87-
this.#url = options.url;
83+
this.#url = `wss://api.openai.com/v1/realtime?model=${this.currentModel}`;
8884
this.#useInsecureApiKey = options.useInsecureApiKey ?? false;
8985
}
9086

@@ -173,7 +169,7 @@ export class OpenAIRealtimeWebSocket
173169
},
174170
};
175171

176-
const ws = new WebSocket(this.#url!, websocketArguments as any);
172+
const ws = new WebSocket(this.#url, websocketArguments as any);
177173
this.#state = {
178174
status: 'connecting',
179175
websocket: ws,
@@ -264,11 +260,9 @@ export class OpenAIRealtimeWebSocket
264260
const model = options.model ?? this.currentModel;
265261
this.currentModel = model;
266262
this.#apiKey = await this._getApiKey(options);
267-
const url =
263+
this.#url =
268264
options.url ??
269-
this.#url ??
270265
`wss://api.openai.com/v1/realtime?model=${this.currentModel}`;
271-
this.#url = url;
272266

273267
const sessionConfig: Partial<RealtimeSessionConfig> = {
274268
...(options.initialSessionConfig || {}),

packages/agents-realtime/src/realtimeSession.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,6 @@ export class RealtimeSession<
672672
await this.#transport.connect({
673673
apiKey: options.apiKey ?? this.options.apiKey,
674674
model: this.options.model,
675-
url: options.url,
676675
initialSessionConfig: await this.#getSessionConfig(this.options.config),
677676
});
678677

packages/agents-realtime/test/openaiRealtimeWebsocket.test.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,6 @@ describe('OpenAIRealtimeWebSocket', () => {
5858
expect(statuses).toEqual(['connecting', 'connected']);
5959
});
6060

61-
it('uses custom url from constructor', async () => {
62-
const ws = new OpenAIRealtimeWebSocket({ url: 'ws://test' });
63-
const p = ws.connect({ apiKey: 'ek_test', model: 'm' });
64-
await vi.runAllTimersAsync();
65-
await p;
66-
expect(lastFakeSocket!.url).toBe('ws://test');
67-
});
68-
6961
it('handles audio delta, speech started and created/done events', async () => {
7062
const ws = new OpenAIRealtimeWebSocket();
7163
const audioSpy = vi.fn();

packages/agents-realtime/test/realtimeSession.test.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,6 @@ describe('RealtimeSession', () => {
113113
expect(transport.closeCalls).toBe(1);
114114
});
115115

116-
it('forwards url in connect options to transport', async () => {
117-
const t = new FakeTransport();
118-
const agent = new RealtimeAgent({ name: 'A', handoffs: [] });
119-
const s = new RealtimeSession(agent, { transport: t });
120-
await s.connect({ apiKey: 'test', url: 'ws://example' });
121-
expect(t.connectCalls[0]?.url).toBe('ws://example');
122-
});
123-
124116
it('updateHistory accepts callback', () => {
125117
const item = createMessage('1', 'hi');
126118
session.updateHistory([item]);

0 commit comments

Comments
 (0)