diff --git a/server-deno/main.ts b/server-deno/main.ts index fb83aca..e0eacca 100644 --- a/server-deno/main.ts +++ b/server-deno/main.ts @@ -16,6 +16,7 @@ import { isDev } from "./utils.ts"; import { connectToOpenAI } from "./models/openai.ts"; import { connectToGemini } from "./models/gemini.ts"; import { connectToElevenLabs } from "./models/elevenlabs.ts"; +import { connectToHume } from "./models/hume.ts"; const server = createServer(); @@ -50,7 +51,7 @@ wss.on("connection", async (ws: WSWebSocket, payload: IPayload) => { ws.send( JSON.stringify({ type: "auth", - volume_control: user.device?.volume ?? 20, + volume_control: user.device?.volume ?? 5, is_ota: user.device?.is_ota ?? false, is_reset: user.device?.is_reset ?? false, pitch_factor: user.personality?.pitch_factor ?? 1, @@ -91,6 +92,10 @@ wss.on("connection", async (ws: WSWebSocket, payload: IPayload) => { elevenLabsApiKey, ); break; + case "hume": + await connectToHume(ws, payload, + connectionPcmFile, firstMessage, systemPrompt, () => Promise.resolve()); + break; default: throw new Error(`Unknown provider: ${provider}`); } diff --git a/server-deno/models/hume.ts b/server-deno/models/hume.ts index 60beff8..0d48082 100644 --- a/server-deno/models/hume.ts +++ b/server-deno/models/hume.ts @@ -4,21 +4,14 @@ import { WebSocket } from 'npm:ws'; import { addConversation, getDeviceInfo } from '../supabase.ts'; import { encoder, FRAME_SIZE, isDev, humeApiKey, downsamplePcm, extractPcmFromWav, boostLimitPCM16LEInPlace } from '../utils.ts'; -export const connectToHume = ({ - ws, - payload, - connectionPcmFile, - firstMessage, - systemPrompt, - closeHandler, -}: { - ws: WebSocket; - payload: IPayload; - connectionPcmFile: Deno.FsFile | null; - firstMessage: string; - systemPrompt: string; - closeHandler: () => Promise; -}) => { +export const connectToHume = ( + ws: WebSocket, + payload: IPayload, + connectionPcmFile:Deno.FsFile | null, + firstMessage: string, + systemPrompt: string, + closeHandler: () => Promise, +) => { const { user, supabase } = payload; const { personality } = user;