onConnect runs after the session is marked connected and React has synchronized conversationRef. Also expose and forward onConversationCreated for consumers that need the created Conversation instance before onConnect.onConnect runs after the session is marked connected and React has synchronized conversationRef. Also expose and forward onConversationCreated for consumers that need the created Conversation instance before onConnect.0d5c368: Fix getInputVolume/getOutputVolume returning 0 in React Native by adding native volume providers using LiveKit's RMS and multiband FFT processors.
Breaking: getByteFrequencyData() now returns data focused on the human voice range (100-8000 Hz) instead of the full spectrum (0 to sampleRate/2). On web, getVolume() is also computed from this range. The deprecated getAnalyser() method still provides direct access to the raw AnalyserNode for consumers needing full-spectrum data.
0d5c368: Fix getInputVolume/getOutputVolume returning 0 in React Native by adding native volume providers using LiveKit's RMS and multiband FFT processors.
Breaking: getByteFrequencyData() now returns data focused on the human voice range (100-8000 Hz) instead of the full spectrum (0 to sampleRate/2). On web, getVolume() is also computed from this range. The deprecated getAnalyser() method still provides direct access to the raw AnalyserNode for consumers needing full-spectrum data.
0d5c368: Fix getInputVolume/getOutputVolume returning 0 in React Native by adding native volume providers using LiveKit's RMS and multiband FFT processors.
Breaking: getByteFrequencyData() now returns data focused on the human voice range (100-8000 Hz) instead of the full spectrum (0 to sampleRate/2). On web, getVolume() is also computed from this range. The deprecated getAnalyser() method still provides direct access to the raw AnalyserNode for consumers needing full-spectrum data.
startSession errors being swallowed instead of surfaced via onError in ConversationProvider. Previously, when Conversation.startSession() rejected (e.g. "agent not found"), the UI would get stuck in "connecting" with no error feedback.50ea6ef: fix: use explicit .js extensions in ESM imports for Node.js compatibility
Switch moduleResolution from bundler to nodenext and add .js extensions to all relative imports. The published packages use "type": "module" but the compiled output had extensionless imports, which breaks Node.js ESM resolution. Also add "type": "module" to @elevenlabs/types.
50ea6ef: fix: use explicit .js extensions in ESM imports for Node.js compatibility
Switch moduleResolution from bundler to nodenext and add .js extensions to all relative imports. The published packages use "type": "module" but the compiled output had extensionless imports, which breaks Node.js ESM resolution. Also add "type": "module" to @elevenlabs/types.
Updated dependencies [50ea6ef]
50ea6ef: fix: use explicit .js extensions in ESM imports for Node.js compatibility
Switch moduleResolution from bundler to nodenext and add .js extensions to all relative imports. The published packages use "type": "module" but the compiled output had extensionless imports, which breaks Node.js ESM resolution. Also add "type": "module" to @elevenlabs/types.
Updated dependencies [50ea6ef]
50ea6ef: fix: use explicit .js extensions in ESM imports for Node.js compatibility
Switch moduleResolution from bundler to nodenext and add .js extensions to all relative imports. The published packages use "type": "module" but the compiled output had extensionless imports, which breaks Node.js ESM resolution. Also add "type": "module" to @elevenlabs/types.
Updated dependencies [50ea6ef]
sendMultimodalMessage in useConversationControls hook. Export MultimodalMessageInput type from @elevenlabs/client.sendMultimodalMessage in useConversationControls hook. Export MultimodalMessageInput type from @elevenlabs/client.