🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@itannix/react

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@itannix/react

React SDK for ItanniX Voice AI platform

Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
4
Maintainers
1
Weekly downloads
 
Created
Source

@itannix/react

React SDK for the ItanniX Voice AI platform. Add real-time voice interactions to your React app with a simple hook or component.

Installation

npm install @itannix/react

Quick Start (Hook)

import { useVoiceClient } from '@itannix/react';

function App() {
  const [messages, setMessages] = useState([]);

  const { status, connect, disconnect, sendFunctionResult } = useVoiceClient({
    clientId: 'your-client-id',
    clientSecret: 'your-client-secret',
    onTranscript: (text) => {
      setMessages(prev => [...prev, { role: 'user', text }]);
    },
    onAssistantMessage: (text, done) => {
      if (done) {
        setMessages(prev => [...prev, { role: 'assistant', text }]);
      }
    },
    onFunctionCall: (name, args, callId) => {
      // Handle function call
      sendFunctionResult(callId, { success: true });
    },
    onError: (error) => {
      console.error('Connection error:', error);
    }
  });

  return (
    <div>
      <p>Status: {status}</p>
      <button onClick={connect} disabled={status !== 'disconnected'}>
        Connect
      </button>
      <button onClick={disconnect} disabled={status === 'disconnected'}>
        Disconnect
      </button>
      {messages.map((msg, i) => (
        <p key={i}><strong>{msg.role}:</strong> {msg.text}</p>
      ))}
    </div>
  );
}

Quick Start (Component)

import { useRef } from 'react';
import { VoiceAssistant, VoiceAssistantRef } from '@itannix/react';

function App() {
  const assistantRef = useRef<VoiceAssistantRef>(null);
  const [status, setStatus] = useState('disconnected');

  return (
    <div>
      <VoiceAssistant
        ref={assistantRef}
        clientId="your-client-id"
        clientSecret="your-client-secret"
        onStatusChange={setStatus}
        onTranscript={(text) => console.log('You:', text)}
        onAssistantMessage={(text, done) => {
          if (done) console.log('Assistant:', text);
        }}
      />
      <p>Status: {status}</p>
      <button onClick={() => assistantRef.current?.connect()}>
        Connect
      </button>
      <button onClick={() => assistantRef.current?.disconnect()}>
        Disconnect
      </button>
    </div>
  );
}

Hook Options

OptionTypeRequiredDescription
clientIdstringYesYour ItanniX client ID
clientSecretstringYesYour client secret
serverUrlstringNoAPI server URL (default: https://api.itannix.com)
onTranscript(text: string) => voidNoCalled when user speech is transcribed
onAssistantMessage(text: string, done: boolean) => voidNoCalled with assistant response (streaming)
onFunctionCall(name, args, callId) => voidNoCalled when assistant invokes a function
onError(error: Error) => voidNoCalled on connection errors

Hook Return Value

PropertyTypeDescription
statusConnectionStatusCurrent connection status: 'disconnected', 'connecting', 'connected'
connect() => Promise<void>Start voice connection
disconnect() => voidEnd voice connection
sendFunctionResult(callId, result) => voidSend function call result back to assistant

Component Props

PropTypeRequiredDescription
clientIdstringYesYour ItanniX client ID
clientSecretstringYesYour client secret
serverUrlstringNoAPI server URL
onStatusChange(status) => voidNoCalled when connection status changes
onTranscript(text) => voidNoCalled when user speech is transcribed
onAssistantMessage(text, done) => voidNoCalled with assistant response
onFunctionCall(name, args, callId) => voidNoCalled when assistant invokes a function
onError(error) => voidNoCalled on errors

Component Ref Methods

Access via useRef:

const ref = useRef<VoiceAssistantRef>(null);

// Connect to voice service
ref.current?.connect();

// Disconnect
ref.current?.disconnect();

// Send function result
ref.current?.sendFunctionResult(callId, { success: true });

// Get current status
console.log(ref.current?.status);

License

MIT

Keywords

react

FAQs

Package last updated on 24 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts