{"_id":"@arifdroid/enhanced-chat","_rev":"5-a5aa99f9c51b8a7f5feef301476a7883","name":"@arifdroid/enhanced-chat","dist-tags":{"latest":"1.3.1"},"versions":{"1.0.0":{"name":"@arifdroid/enhanced-chat","version":"1.0.0","keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","_id":"@arifdroid/enhanced-chat@1.0.0","maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"homepage":"https://github.com/arifzamri/enhanced-chat#readme","bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"dist":{"shasum":"8b42958637139cb1f666697bd498cc3d371aebba","tarball":"https://registry.npmjs.org/@arifdroid/enhanced-chat/-/enhanced-chat-1.0.0.tgz","fileCount":6,"integrity":"sha512-XxDTccxEUjwYt09IYhNbk1Kl/FVleSPEJUi+UGVHkxCwyjaqerK9EbNqJpGkfUD2c17EnbATkMnL3+jcdvhd1Q==","signatures":[{"sig":"MEUCIQC2hY3K0FAxR9L9crmCgVxBDY5UyQQUwywhaU335bWqVAIgXargqjdc9ewldi7vKgq4U6S/S+tWxXuShu1nt23d/wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186094},"main":"dist/enhanced-chat.bundle.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/enhanced-chat.bundle.js","module":"dist/enhanced-chat.esm.js","engines":{"node":">=14.0.0"},"gitHead":"c0cbbe3f0a8b657b6cdab198e05fc7f67b47bc75","scripts":{"dev":"rollup -c -w","test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","serve":"serve dist -p 3000","start":"node server.js","build:watch":"rollup -c -w","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"},"jsdelivr":"dist/enhanced-chat.bundle.js","repository":{"url":"git+https://github.com/arifzamri/enhanced-chat.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","directories":{},"_nodeVersion":"20.18.1","browserslist":["> 1%","last 2 versions","not dead"],"dependencies":{"cors":"^2.8.5","multer":"^1.4.5-lts.1","express":"^4.18.2"},"_hasShrinkwrap":false,"devDependencies":{"serve":"^14.2.1","rimraf":"^5.0.5","rollup":"^4.9.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/enhanced-chat_1.0.0_1756275178899_0.5545496161311829","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arifdroid/enhanced-chat","version":"1.1.0","keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","_id":"@arifdroid/enhanced-chat@1.1.0","maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"homepage":"https://github.com/arifzamri/enhanced-chat#readme","bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"dist":{"shasum":"fe0862cff13e448dfced8d426cd03939cf89e353","tarball":"https://registry.npmjs.org/@arifdroid/enhanced-chat/-/enhanced-chat-1.1.0.tgz","fileCount":8,"integrity":"sha512-ZjXLISdM4xs27UvXm9/kbVEntBxNIIxCTCZQ/BUsp7VbyJtP0kTJubNohpN5UvHT51w6Vkanrn5wXd1Jsp/F0w==","signatures":[{"sig":"MEUCIHbk8n4UillbTNmU108JkoDNmgkAzln6oAUi1QnbF4v6AiEArHLZnqhKKjx8fLCI30AItQ25rlbnu0LsfDw8yi24pQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308489},"main":"dist/enhanced-chat.bundle.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/enhanced-chat.bundle.js","module":"dist/enhanced-chat.esm.js","engines":{"node":">=14.0.0"},"gitHead":"c0cbbe3f0a8b657b6cdab198e05fc7f67b47bc75","scripts":{"dev":"rollup -c -w","test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","serve":"serve dist -p 3000","start":"node server.js","build:watch":"rollup -c -w","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"},"jsdelivr":"dist/enhanced-chat.bundle.js","repository":{"url":"git+https://github.com/arifzamri/enhanced-chat.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","directories":{},"_nodeVersion":"20.18.1","browserslist":["> 1%","last 2 versions","not dead"],"dependencies":{"cors":"^2.8.5","multer":"^1.4.5-lts.1","express":"^4.18.2"},"_hasShrinkwrap":false,"devDependencies":{"serve":"^14.2.1","rimraf":"^5.0.5","rollup":"^4.9.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/enhanced-chat_1.1.0_1756276835451_0.0172654576349065","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@arifdroid/enhanced-chat","version":"1.2.0","keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","_id":"@arifdroid/enhanced-chat@1.2.0","maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"homepage":"https://github.com/arifzamri/enhanced-chat#readme","bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"dist":{"shasum":"bcf1a9893bf3e6a157e4d66bf4ef0d76764b8aeb","tarball":"https://registry.npmjs.org/@arifdroid/enhanced-chat/-/enhanced-chat-1.2.0.tgz","fileCount":8,"integrity":"sha512-UfpS8NR3hCyhwUWlD3mbrJXUOSrHL6BSx5L5ApznJYcBcpnIRANi/c++xa/1bG/L8Z8rlZsMABh/jO/LvAwfpA==","signatures":[{"sig":"MEUCIDq3e8U/B7k4nJkra+pSuc62/EZ0I4dWpQBtpy7Uk9P1AiEAymkDIXNjAOm94fiQ5Rfm8QkaxKIu/pDdO0wlx9s8xlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309621},"main":"dist/enhanced-chat.bundle.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/enhanced-chat.bundle.js","module":"dist/enhanced-chat.esm.js","engines":{"node":">=14.0.0"},"gitHead":"c0cbbe3f0a8b657b6cdab198e05fc7f67b47bc75","scripts":{"dev":"rollup -c -w","test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","serve":"serve dist -p 3000","start":"node server.js","build:watch":"rollup -c -w","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"},"jsdelivr":"dist/enhanced-chat.bundle.js","repository":{"url":"git+https://github.com/arifzamri/enhanced-chat.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","directories":{},"_nodeVersion":"20.18.1","browserslist":["> 1%","last 2 versions","not dead"],"dependencies":{"cors":"^2.8.5","multer":"^1.4.5-lts.1","express":"^4.18.2"},"_hasShrinkwrap":false,"devDependencies":{"serve":"^14.2.1","rimraf":"^5.0.5","rollup":"^4.9.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/enhanced-chat_1.2.0_1756277313176_0.9973682228338767","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@arifdroid/enhanced-chat","version":"1.3.0","keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","_id":"@arifdroid/enhanced-chat@1.3.0","maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"homepage":"https://github.com/arifzamri/enhanced-chat#readme","bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"dist":{"shasum":"f77b8c03336118940cd9519ecacc6b404eb07bc0","tarball":"https://registry.npmjs.org/@arifdroid/enhanced-chat/-/enhanced-chat-1.3.0.tgz","fileCount":11,"integrity":"sha512-Ky7u/or/WBHlb6MTcpesDCQ2e4NtZ7bcj7oIS9Y4WbQnzicid2d+/VDlXzm11UIPQ/Dy11/23v3RcC6pKqLjyA==","signatures":[{"sig":"MEYCIQCo5FhDhiVoMcdYElK90PAq95iflMM11wkiVgCglZ2kygIhAKLVXby3GXaP5vOOelxMhU04EaKka00op0ijqO7GJ+EG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321214},"main":"dist/enhanced-chat.bundle.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/enhanced-chat.bundle.js","module":"dist/enhanced-chat.esm.js","engines":{"node":">=14.0.0"},"gitHead":"c0cbbe3f0a8b657b6cdab198e05fc7f67b47bc75","scripts":{"dev":"rollup -c -w","test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","serve":"serve dist -p 3000","start":"node server.js","build:watch":"rollup -c -w","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"},"jsdelivr":"dist/enhanced-chat.bundle.js","repository":{"url":"git+https://github.com/arifzamri/enhanced-chat.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","directories":{},"_nodeVersion":"20.18.1","browserslist":["> 1%","last 2 versions","not dead"],"dependencies":{"cors":"^2.8.5","multer":"^1.4.5-lts.1","express":"^4.18.2"},"_hasShrinkwrap":false,"devDependencies":{"serve":"^14.2.1","rimraf":"^5.0.5","rollup":"^4.9.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/enhanced-chat_1.3.0_1756277877823_0.11178083484120238","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@arifdroid/enhanced-chat","version":"1.3.1","description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","type":"module","main":"dist/enhanced-chat.bundle.js","module":"dist/enhanced-chat.esm.js","unpkg":"dist/enhanced-chat.bundle.js","jsdelivr":"dist/enhanced-chat.bundle.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","build:watch":"rollup -c -w","dev":"rollup -c -w","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build","serve":"serve dist -p 3000","start":"node server.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/arifzamri/enhanced-chat.git"},"bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"homepage":"https://github.com/arifzamri/enhanced-chat#readme","devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.6","rimraf":"^5.0.5","serve":"^14.2.1"},"dependencies":{"express":"^4.18.2","cors":"^2.8.5","multer":"^1.4.5-lts.1"},"peerDependencies":{},"engines":{"node":">=14.0.0"},"browserslist":["> 1%","last 2 versions","not dead"],"_id":"@arifdroid/enhanced-chat@1.3.1","gitHead":"c0cbbe3f0a8b657b6cdab198e05fc7f67b47bc75","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-QGQHgn5QcKcrQZkLgPcGAnqAgeOrLgJ0DbrA5ZjTQSuSxecyxfjnItcyZi5qjZTsUas2JFi3CLELe8VHKbEKgQ==","shasum":"d03d4c81bba273f48a8edba0e32c025e39040fbe","tarball":"https://registry.npmjs.org/@arifdroid/enhanced-chat/-/enhanced-chat-1.3.1.tgz","fileCount":11,"unpackedSize":327323,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFEq/wmcgS3RV23A5iWmSpUIMKG9KtYvvgnmYYaMY0lPAiEAi/6jfzO2ssbOoE4No+/CmzOZdxWlfmr3q87LwEzUAYk="}]},"_npmUser":{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"},"directories":{},"maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/enhanced-chat_1.3.1_1756278572329_0.5563013096364489"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-27T06:12:58.800Z","modified":"2025-08-27T07:09:32.710Z","1.0.0":"2025-08-27T06:12:59.079Z","1.1.0":"2025-08-27T06:40:35.690Z","1.2.0":"2025-08-27T06:48:33.396Z","1.3.0":"2025-08-27T06:57:58.032Z","1.3.1":"2025-08-27T07:09:32.547Z"},"bugs":{"url":"https://github.com/arifzamri/enhanced-chat/issues"},"author":{"name":"Arif Zamri","email":"arif@example.com"},"license":"MIT","homepage":"https://github.com/arifzamri/enhanced-chat#readme","keywords":["chat","widget","voice","ai","chatbot","speech","audio","n8n","webhook","alert-mode","voice-recording","text-to-speech","enhanced-chat","customer-support","real-time-chat"],"repository":{"type":"git","url":"git+https://github.com/arifzamri/enhanced-chat.git"},"description":"Enhanced chat widget combining modern n8n styling with advanced voice features and alert mode","maintainers":[{"name":"arifdroid","email":"arifdroiddeveloper@gmail.com"}],"readme":"# Enhanced Chat Widget 🚀\n\nA modern, feature-rich chat widget that combines the elegant styling of n8n chat with advanced voice capabilities. Perfect for AI chatbots, customer support, and interactive applications.\n\n## ✨ Features\n\n- 🎤 **Voice Recording & Playback** - Record and send voice messages\n- 🔊 **Text-to-Speech** - Play back user messages using browser TTS\n- 🎵 **Auto-play Audio Responses** - Automatically play bot audio responses\n- 🚨 **Alert Mode Toggle** - Switch to voice-only mode for emergency scenarios\n- 📢 **Real-time Alerts** - Success/error notifications with auto-hide\n- 🔔 **Welcome Notifications** - User-friendly onboarding alerts\n- 🎨 **Modern Styling** - Clean, customizable design inspired by n8n chat\n- 📱 **Responsive Design** - Works perfectly on desktop and mobile\n- ♿ **Accessibility** - Full ARIA support and keyboard navigation\n- 🌙 **Theming Support** - Customizable colors and styling\n- ⚡ **Optimized Performance** - Lightweight and fast\n- 🔗 **CDN Ready** - Easy deployment via CDN\n- 🛠️ **Simple API** - Easy to integrate and configure\n\n## 🚀 Quick Start\n\n### CDN Usage\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@yourorg/enhanced-chat@latest/dist/enhanced-chat.bundle.js\"></script>\n<script>\n  createChat({\n    webhookUrl: 'https://your-webhook-url.com/webhook/...',\n    initialMessages: [\n      'Hi there! Welcome to our chat!',\n      'I can handle both text and voice messages. How can I help you?'\n    ]\n  });\n</script>\n```\n\n### NPM Installation\n\n```bash\nnpm install @yourorg/enhanced-chat\n```\n\n```javascript\nimport { createChat } from '@yourorg/enhanced-chat';\n\ncreateChat({\n  webhookUrl: 'https://your-webhook-url.com/webhook/...',\n  // ... other options\n});\n```\n\n## 📚 API Reference\n\n### createChat(options)\n\nCreates and initializes a new chat widget.\n\n#### Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `webhookUrl` | `string` | **required** | Your webhook endpoint URL |\n| `target` | `string\\|Element` | `'body'` | Target element to attach the chat widget |\n| `mode` | `'window'\\|'fullscreen'` | `'window'` | Display mode of the chat |\n| `theme` | `object` | `{}` | Theme customization options |\n| `initialMessages` | `string[]` | `[]` | Initial messages to display |\n| `voiceEnabled` | `boolean` | `true` | Enable voice recording feature |\n| `textToSpeechEnabled` | `boolean` | `true` | Enable text-to-speech for user messages |\n| `autoPlayResponses` | `boolean` | `true` | Auto-play audio responses from bot |\n| `placeholder` | `string` | `'Type your message...'` | Input placeholder text |\n| `showWindowCloseButton` | `boolean` | `true` | Show close button in window mode |\n\n#### Theme Options\n\n```javascript\ntheme: {\n  primaryColor: '#007bff',      // Primary theme color\n  secondaryColor: '#28a745',    // Secondary color (voice buttons)\n  backgroundColor: '#ffffff',   // Background color\n  textColor: '#333333',         // Text color\n  borderRadius: '12px',         // Border radius for elements\n  boxShadow: '0 8px 32px rgba(0,0,0,0.1)' // Box shadow\n}\n```\n\n### Widget Methods\n\nThe `createChat()` function returns a widget instance with the following methods:\n\n```javascript\nconst chatWidget = createChat({ /* options */ });\n\n// Control visibility\nchatWidget.open();        // Show the chat widget\nchatWidget.close();       // Hide the chat widget\nchatWidget.toggle();      // Toggle visibility\n\n// Window state\nchatWidget.minimize();    // Minimize to toggle button\nchatWidget.maximize();    // Restore from minimized state\n\n// Programmatic messaging\nchatWidget.addMessage('Hello!', false);  // Add bot message\nchatWidget.addMessage('Hi there!', true); // Add user message\n\n// Voice features\nchatWidget.playUserMessage('Text to speak'); // Play text using TTS\n\n// Alert system\nchatWidget.showAlert('Success!', 'success', 3000); // Show alert\nchatWidget.hideAlert();                            // Hide current alert\nchatWidget.toggleAlertMode();                      // Toggle voice-only mode\n\n// Utility\nchatWidget.scrollToBottom(); // Scroll messages to bottom\nchatWidget.destroy();         // Clean up and remove widget\n```\n\n## 🎨 Customization Examples\n\n### Custom Theme\n\n```javascript\ncreateChat({\n  webhookUrl: 'https://your-webhook.com/...',\n  theme: {\n    primaryColor: '#6c5ce7',\n    secondaryColor: '#00b894',\n    backgroundColor: '#2d3436',\n    textColor: '#ddd',\n    borderRadius: '8px'\n  }\n});\n```\n\n### Fullscreen Mode\n\n```javascript\ncreateChat({\n  webhookUrl: 'https://your-webhook.com/...',\n  mode: 'fullscreen',\n  initialMessages: ['Welcome to fullscreen chat!']\n});\n```\n\n### Custom Target Element\n\n```javascript\ncreateChat({\n  webhookUrl: 'https://your-webhook.com/...',\n  target: '#my-chat-container'\n});\n```\n\n## 🎤 Voice Features\n\n### Voice Recording\n- Click the microphone button to start recording\n- Click the stop button to send the voice message\n- Supports WebRTC for high-quality audio recording\n\n### Audio Playback\n- Bot audio responses auto-play (if enabled)\n- Click play buttons to replay any audio message\n- Supports multiple audio formats (MP3, WAV, etc.)\n\n### Text-to-Speech\n- User messages can be played back using browser TTS\n- Click the speaker icon next to user messages\n- Automatically selects best available voice\n\n### Alert Mode\n- 🚨 **Emergency Mode**: Click \"Alert Mode\" button to enable voice-only communication\n- **Text Disabled**: In alert mode, text input is disabled for urgent voice-only scenarios\n- **Visual Feedback**: Input field changes color and shows warning when text is attempted\n- **Automatic Flagging**: Voice messages sent in alert mode include `alertMode: true` flag in webhook payload\n- **Easy Toggle**: One-click to enable/disable alert mode with clear visual indicators\n\n## 🔧 Development\n\n### Setup\n\n```bash\ngit clone <repository-url>\ncd enhanced-chat\nnpm install\n```\n\n### Build\n\n```bash\n# Development build with watching\nnpm run dev\n\n# Production build\nnpm run build\n\n# Clean build artifacts\nnpm run clean\n```\n\n### Testing\n\n```bash\n# Serve demo locally\nnpm run serve\n\n# Open demo.html in browser\nopen http://localhost:3000/demo.html\n```\n\n## 📦 Build Output\n\nThe build process creates several optimized bundles:\n\n- `dist/enhanced-chat.bundle.js` - UMD bundle for browsers\n- `dist/enhanced-chat.esm.js` - ES Module bundle\n- `dist/enhanced-chat.min.js` - Minified UMD bundle for production\n\n## 🌐 Browser Support\n\n- Chrome 60+\n- Firefox 55+\n- Safari 11+\n- Edge 79+\n\n### Required APIs\n- **WebRTC** - For voice recording\n- **Web Audio API** - For audio playback\n- **Speech Synthesis API** - For text-to-speech (optional)\n\n## 🔒 Privacy & Security\n\n- Voice data is sent to your specified webhook only\n- No data is stored or transmitted to third parties\n- Uses secure HTTPS connections\n- Respects browser security policies\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🆘 Support\n\n- 📧 Email: support@yourorg.com\n- 🐛 Issues: [GitHub Issues](https://github.com/yourusername/enhanced-chat/issues)\n- 📖 Documentation: [Full Docs](https://yourdocs.com)\n\n## 🙏 Acknowledgments\n\n- Inspired by [n8n chat widget](https://www.npmjs.com/package/@n8n/chat)\n- Built with modern web standards\n- Designed for accessibility and performance\n\n---\n\n**Made with ❤️ for the developer community**","readmeFilename":"README.md"}