# SycoraxAI Voice Assistants

A React component library for building voice assistant applications with support for multiple providers including LiveKit.

## Installation

```bash
npm install sycoraxai-voice-assistants
```

## Peer Dependencies

Make sure you have the following peer dependencies installed:

```bash
npm install @livekit/components-react livekit-client react
```

## Usage

### Basic Usage

```jsx
import { VoiceAssistant } from 'sycoraxai-voice-assistants';

const connectionDetails = {
  serverUrl: 'wss://your-livekit-server.com',
  participantToken: 'your-participant-token',
  provider: 'livekit'
};

const config = {
  onDeviceFailure: (error) => {
    console.error('Device failure:', error);
  }
};

function App() {
  return (
    <VoiceAssistant 
      connectionDetails={connectionDetails} 
      config={config} 
    />
  );
}
```

### Components

- `VoiceAssistant` - Main voice assistant component
- `SimpleVoiceAssistant` - Simplified version with minimal UI
- `AgentVisualizer` - Visual representation of agent state
- `ControlBar` - UI controls for voice assistant
- `TranscriptionView` - Real-time transcription display

### Types

```typescript
interface ConnectionDetails {
  serverUrl: string;
  participantToken: string;
  provider: 'livekit' | 'openai' | 'azure';
}

interface VoiceAssistantConfig {
  onDeviceFailure?: (error: Error) => void;
  // Add other config options as needed
}
```

## Development

```bash
# Build the package
npm run build

# Test locally
npm pack
```

## License

MIT

