diff options
| author | Evan Cater <evan.ecater@gmail.com> | 2024-12-21 17:03:31 -0500 |
|---|---|---|
| committer | Evan Cater <evan.ecater@gmail.com> | 2024-12-21 17:03:31 -0500 |
| commit | f65c5b74e2fe8448264d58ee40d390398b708cca (patch) | |
| tree | 76f552097672702c6305bd041475d34132799a9f /websocket-server/src/sessionManager.ts | |
| parent | 80bd1166f00871622890c8c3072d0890d6405829 (diff) | |
fix: openai env instantiation
Diffstat (limited to 'websocket-server/src/sessionManager.ts')
| -rw-r--r-- | websocket-server/src/sessionManager.ts | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/websocket-server/src/sessionManager.ts b/websocket-server/src/sessionManager.ts index 7cf6336..16a2276 100644 --- a/websocket-server/src/sessionManager.ts +++ b/websocket-server/src/sessionManager.ts @@ -1,8 +1,6 @@ import { RawData, WebSocket } from "ws"; import functions from "./functionHandlers"; -const OPENAI_API_KEY = process.env.OPENAI_API_KEY || ""; - interface Session { twilioConn?: WebSocket; frontendConn?: WebSocket; @@ -12,13 +10,15 @@ interface Session { lastAssistantItem?: string; responseStartTimestamp?: number; latestMediaTimestamp?: number; + openAIApiKey?: string; } let session: Session = {}; -export function handleCallConnection(ws: WebSocket) { +export function handleCallConnection(ws: WebSocket, openAIApiKey: string) { cleanupConnection(session.twilioConn); session.twilioConn = ws; + session.openAIApiKey = openAIApiKey; ws.on("message", handleTwilioMessage); ws.on("error", ws.close); @@ -116,14 +116,15 @@ function handleFrontendMessage(data: RawData) { } function tryConnectModel() { - if (!session.twilioConn || !session.streamSid) return; + if (!session.twilioConn || !session.streamSid || !session.openAIApiKey) + return; if (isOpen(session.modelConn)) return; session.modelConn = new WebSocket( "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview-2024-12-17", { headers: { - Authorization: `Bearer ${OPENAI_API_KEY}`, + Authorization: `Bearer ${session.openAIApiKey}`, "OpenAI-Beta": "realtime=v1", }, } |
