{"_id":"sera-ai","_rev":"46-d21372e8cd09b53f8e43c5b8ea77bb34","name":"sera-ai","dist-tags":{"latest":"1.0.47"},"versions":{"1.0.0":{"name":"sera-ai","version":"1.0.0","keywords":["react","component","sera","widget","nuxera","ai"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.0","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"73e6ee546be0d6a34977ded091562a4ab34464a5","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.0.tgz","fileCount":7,"integrity":"sha512-NfNiDfMHOXeCv2A9vYcVPsqaDnpK/TwNGHA/ujI9+TzzrbZDgCKgzbwG+weFKcSnDyzEkQt8MBwHfGO6pL15jw==","signatures":[{"sig":"MEYCIQD5W8ICSA68fj+AAHViKi7X0qHplXIU/QJjjOKu+pXqCQIhAMTrnUfPyOVQxAVLR3PniQJPvz31HtQ81CtkudLnXdb8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21620},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"db16da707f4164ea4e408bba619098cdcc88e867","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"Nuxera ambiant scribing","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.3","react-dom":"^19.2.3","typescript":"^5.9.3","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.0_1766404892882_0.5120650127082143","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"sera-ai","version":"1.0.1","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.1","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"aa6092397356125802112c714a9b9fc68755f1e8","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.1.tgz","fileCount":9,"integrity":"sha512-vLoEpfhXjVv6uuLqSl7Sgc8yXDVbmSkn5JR6xL3ubbbXP2SyZtMfksp6HngL3hm2T19fvSF+oIJo0e1ORvf6iw==","signatures":[{"sig":"MEUCIQCcBa76b9vGKXt6dkrL7aqIYWn95h4u/lxmTn4humw11AIgJTJostxgn99pKycrSwAhk5q6pk6jyNo0VvrIOFiIvck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1113736},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3ada90ca46cb523866f0cd9d93cadb82aa9b2b48","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":"^0.562.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.1_1767253507311_0.02250899528815986","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"sera-ai","version":"1.0.2","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.2","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"505960b717df65182314ac7cae04ca8b34800df0","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.2.tgz","fileCount":9,"integrity":"sha512-uOOmDZq3+GRnhv7FknjuAx3duxynrI5EMlhl3FI10CQj7RET7MUVx9xv5SO2BGqbbTKLAjnR2jfxrL2hqN2rkA==","signatures":[{"sig":"MEUCIDqTlIY1HxNxmlaKdYsZVey1LsbSO6Z4UnvJCxmFRiPVAiEAxqvN03/a9mYv5U6cvVM3ESazNDXXq+MBjEdKBXb/dNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1113915},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"771e8fddf0cee00e38f973e4a43c018a3a8426db","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":"^0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.2_1767346987952_0.031603379452657565","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"sera-ai","version":"1.0.3","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.3","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"db0bf239f861ebbe5aec54f2439ec0d4d42ddbeb","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.3.tgz","fileCount":9,"integrity":"sha512-IH/skHADcK9vsvTUemeepBoMAcxkRxSemkfNxOKuOSlYUgjc3WsmoZ5gN0/Yo+y/qkb/pTs9ruD1DKALqFQzwg==","signatures":[{"sig":"MEUCIQC33vi76ZIS68s1738gWLNjvWQkh/yL59NNvvQuXiqRxAIgQlpdqs49V1BHPpbFGKHiu2M22/d9MJJ15j3/mGUeaQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1113916},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"771e8fddf0cee00e38f973e4a43c018a3a8426db","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.3_1767347352648_0.48664987401852344","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"sera-ai","version":"1.0.4","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.4","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"b4641ef64d2306b17e7beb9cee9a9a555fb77fc7","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.4.tgz","fileCount":9,"integrity":"sha512-tq5oYIfZrIgUhnNoSjkY6aZoB4/2IESXcNR/XZ/2Ji1z/xtr+LFCNBH5wENvMhDvPC5c78nPEnXucbW8WbUAVA==","signatures":[{"sig":"MEUCIDYXTdRwTVY5Ebhg6lTeokQBrrYK2XLPTqWknVaIdhj9AiEA5NRKBBWA+byvg9SgFL+5cAJ8J9W7fAA1KpvnYS3+wTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1226564},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"960a01ca3bfc77b1c7ed854338d1278f4b223895","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.4_1767598801828_0.34404975012815675","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"sera-ai","version":"1.0.5","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.5","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"58820908bfe8f37ddd42dd91e256c297a6515bc3","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.5.tgz","fileCount":9,"integrity":"sha512-PxbQvC2uaQrlWWhM2HdR/ww4C8NEMacujjCVYGTXVEFSk5ydIXnUqTr6TciFu/yXspxUYpjVdQ6r/Yjz80X4aA==","signatures":[{"sig":"MEUCIAemJjwUuBTjZqcutMM+0aaxmfsa0nlP4L3VbRmd/gnJAiEAk4HhOgaHxculGM10HO2tDen9+lhq+D35ARjkRdsmB74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1226176},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4659ef62056425903214422d8a37fa7381d28f8a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.5_1767601460056_0.9728744219282615","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"sera-ai","version":"1.0.6","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.6","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"e4b2f108804c9050953adbefba545471a6bb06c2","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.6.tgz","fileCount":9,"integrity":"sha512-UZCgGNSquDDcgmIg8XSYD5mDdkDj/0qkzCn4qsopgnqjMntsIX1oMKZjgyeCoePvgwy+xris3w8eNAQHaQw2/g==","signatures":[{"sig":"MEUCIADmUFnnZZbKozlQ+jAKCPSq7HfJt/V0L+5LHkP8EudJAiEA1quKhYufnGKqF3/0UEKKrJwr8JYAp4xeZWLrvVYzPMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1227630},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"68164a3375afb7a078f7291c9c252e5fa94c7c84","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.6_1767607244171_0.1552922612791514","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"sera-ai","version":"1.0.7","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.7","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"0cb80f6991a5ee28b8a996f9937191d517a62dba","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.7.tgz","fileCount":9,"integrity":"sha512-Z+iwPU0cVNdv3NiXjdxoOzd3E9MzOmu8wPnv+27PPxELfhm9SV0tW6GEcn/uk0wf1ue2ZnTjRHwZhJoYepRnRg==","signatures":[{"sig":"MEUCIB5NHuKIWyePEvQ/8j3u2ImulSyDlrNjjXNmeQLe/6w7AiEA7xK0l0MtDqSa5IdpU/GO7hmWGM3AYqaZkajcWH3l6lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1231106},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"95a374cace889c7af4bf00f9a3a82aae1a0bee30","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.7_1767609769217_0.560932728595366","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"sera-ai","version":"1.0.8","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.8","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"ac5d655e189c7412d4f4954635a4166a15bdfb78","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.8.tgz","fileCount":9,"integrity":"sha512-gJ2c++YdnkANH1cAboRcW+yrzFSCxEnRiiI+H4QH1+sqQJ8KvsjBzlO3b3b8r1Rhy301RwEw1LbNL6c2kxR1Iw==","signatures":[{"sig":"MEYCIQDsk7FGExEvDm+004qnONmsyreatApu8bzcKhOJfTwVugIhAPdnHB2L/49tnatCzZh+e70+VgEwDRvNn4wVKYvWbCy2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1232716},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"8ddaf080e19fb0b8aa0bc506fb32736534ffd48a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.8_1767699764752_0.5821261801304187","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"sera-ai","version":"1.0.9","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.9","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"b90a72bc43e06953cf8cbb2d237e6eaefcbb5987","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.9.tgz","fileCount":9,"integrity":"sha512-iEOT+OWrYZ1OL17nuZ86L48t95NUWjLPFFxBfD/gmnFADt6PRbJRArRG7WVLIItpUFkDJCUv0gHZagzxZDH/iw==","signatures":[{"sig":"MEYCIQDHiXu74PYJsP7gL/8x/tKIfP9LlGnCsIFH/cdSCGRytAIhAMQ4enmBaIFoKVrugC6F9CVTO6qjwH8INHxjAo5TlsMA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1447889},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a1eab2e81ef19fd8d320b630ab4488e96874ed78","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.9_1767706689861_0.20839296546287422","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"sera-ai","version":"1.0.10","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.10","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"2ccfd74bbb1d8080ef26f380fe4c5086e8424c35","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.10.tgz","fileCount":9,"integrity":"sha512-FwcM2x9uZW0r65BTd9gt3Ym3el3Ec5vyvZ+9tni3Cp+NXlji47O+nfq2FgNKO2B3kGfLaeLak/GyBWK3YJwvBw==","signatures":[{"sig":"MEYCIQC3g5sx8/e+I0xRJKWEieW9JJI6/pdEECjdJCLg/qBlmQIhANUZJQreaJfsF84EKQTS355ZItYsbOivAeTetX0B2k6U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448294},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1a92b31ece9220bd5fb8aa642875d8abad26a5e3","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.10_1767944753767_0.15670950403200035","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"sera-ai","version":"1.0.11","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.11","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"3688789f5f8874e84c77e2cc0c0621f057a6439d","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.11.tgz","fileCount":9,"integrity":"sha512-u75PMLOI1wjg84Y5gHZY2oarWle8kJQaYdUyvLLWjK5E6zhsj6PPi94EEJL472EujlgMQGoebOebnkF1fzreWw==","signatures":[{"sig":"MEQCIA9ZZ3mLghMr3/9zYTURWcNhmQ2ETlPz7ASQMtSVUbNdAiAkgfgJFavFiTX0BgasOS2ENpt6HN11+YCb5obsJWhDLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1445187},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1a92b31ece9220bd5fb8aa642875d8abad26a5e3","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.11_1768202387528_0.1387245818363878","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"sera-ai","version":"1.0.12","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.12","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"f5fc0ab8ac00778ef18664ef683988b3a4dab40b","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.12.tgz","fileCount":9,"integrity":"sha512-IVapVhap2Ft4fxqrvyAhwj1beZ97IrLSt7v6czZ/MvZ9kenzcfc8CX55ky6vMurmnkwopmEyeujWD2uE7vxJ8A==","signatures":[{"sig":"MEUCIGGomZwR9m8kiX3LFLYGMcQDBroDMhAxRdurkHegiALuAiEA+TOnYYyx6bz4w7pUN6xHgS2d4R7Tq6KUyGDHLtgHmko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1435249},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"fb95f5df8256a7928624d882124e1d70f6411bbe","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.12_1768222973402_0.21789761984715295","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"sera-ai","version":"1.0.13","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.13","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"2549174ac6d96399b221f76f8eb946cfa18b4cdb","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.13.tgz","fileCount":9,"integrity":"sha512-fNDGtk7chER7TEho7rNF3v4faiAJ0CMo+CTMzGTuxRF4BYW9mibBE+iaGC53v54JUKNhinrlRegkyaSOAFjxcw==","signatures":[{"sig":"MEYCIQCO042VF8kXcPNHSYFwjSd26mRx0+DS9PY8oKFTb2V59QIhAO/y/nE1CPyoCDZJWhDEzPOcj6xs39n2HGRAh18zNQN6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1440505},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d271ca1c0e3a015ef8fb2f318ee457e96c60e42a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.13_1768224165116_0.09507271634016945","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"sera-ai","version":"1.0.14","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.14","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"2162dde45f35df385d0a4ecad0cb2fb58732fb05","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.14.tgz","fileCount":9,"integrity":"sha512-D+iHbqXpQVXkhIsvnHfFw1t3W2yzPlsyb+UZGsoVoAwd8ZR1IrjCnX0BfQPfkU5AOHw07p1E1bHLHNI/XQQHnQ==","signatures":[{"sig":"MEUCIQCtFG/FicmgmcZcDnLK/LsVhtNIZaCQssilRTgXhVg51AIgO1Th53J0dcmTjjS/SFp0U5KJU2mkkmeiexDNq9l60bY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450673},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"bd5e120f195255cf4ec709a6ecdf4226f5f433a0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.14_1768557195463_0.4861376820973933","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"sera-ai","version":"1.0.15","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.15","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"d381506676ac7d4c52cb7ffd0482e0bf09125c52","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.15.tgz","fileCount":9,"integrity":"sha512-sf2T1Z8DtRWKZM32Yk9FtOGgYfCqIePnCYmwKkAUlzar/VWUerMyJ6DQRFRAAiG+OxR1g4u8JgsouxYJH/Q0VQ==","signatures":[{"sig":"MEUCIQDUDjr0FwLIHr+dKuFB9FO2kjlWo6EHWLaBC+K7KUjiFwIgcFFVGzYjDlvELrkKzZV+ng5uooeZGNOmdsUcRbLt2yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1454307},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"eb86dc6ce77097046450361a161e3eddd5b744bc","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.15_1768815120809_0.958536694363137","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"sera-ai","version":"1.0.16","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.16","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"71af24ddacc57ca63ec5c94ac4c285403b024d50","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.16.tgz","fileCount":9,"integrity":"sha512-Ztq74idO+qtNk1NO/nCIJ9i1LiRyRXuzUvzl4/ylD+3wCJ4eMmtP10E97k3daYPQ0TfBdXZOHnqs3Mrf4FydVQ==","signatures":[{"sig":"MEUCIQCKkfxuUuACEfj5WrSYIZJSTaBjoN+yc0s2jRQ1Ufz8cAIge44FFBivGLFTEJ49x7rkxjdpMyRSieMdyePXDdV3IcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1456083},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9ce03fabc5e70c67ac5b24ecf1e5abc11a2ca317","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.16_1768824685714_0.34216244444062327","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"sera-ai","version":"1.0.17","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.17","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"172250d1f796f568f8211d95114676b364a7b245","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.17.tgz","fileCount":9,"integrity":"sha512-81qDIxUrE3NozCQmsaTp7/91zJXnst64sUFE6OVE93m2C2yTLFLtUnpTAleQyCb623FPRFPDJk4LQIPf4ESaMw==","signatures":[{"sig":"MEYCIQDHYWYpI2qXKKeJfIYWkxeOSqskZdrOLJlyHLBSOyJgNQIhAO8saFDvyiFhBFf7I88qTBwElHJmX8RIwvBFzWCyUmWv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1449473},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3aeaa8887b45805ad1ce330494b53f9741cf25f8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.17_1768983535196_0.9203511636719466","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"sera-ai","version":"1.0.18","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.18","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"0cc0399c57e440dfb260b78e895f16237e6aaaf6","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.18.tgz","fileCount":9,"integrity":"sha512-WKC9/+BYkdlJbnxq4dyi/984V+wF0q8E3dtnnAjXSjsPrpS4dRYVq6atbOVt6MSsms6DhiexZhHOKJsLiAL1gQ==","signatures":[{"sig":"MEUCIQCFSYxK12VwCojf/3nKHvRfl2P/3250xY9yKDzPJSgG2QIgbln62eLgMiABTgFLFY8iN6dIWig4BnXD2UndWRuxCRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450415},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3aeaa8887b45805ad1ce330494b53f9741cf25f8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.18_1768984500373_0.44733056010897676","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"sera-ai","version":"1.0.19","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.19","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"d87e1e57a6eb241d6356e6161583c4d09da40b5b","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.19.tgz","fileCount":9,"integrity":"sha512-9NkF/brap7LEL3chRrr8gQxIoLy3VaR35HCALByQi+hcyW1WH00ydj5z9buldHIOp8MEJN+mpVExU36uEgSJdg==","signatures":[{"sig":"MEUCIQDIDI3qVL4PwYDn3VRPFU9iweFXq2oxn1edc9Lh07//NgIgK3+ftxJtlZz+J8rREsEaxDc56OUj+LIFgu7kMGB9rkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448611},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3aeaa8887b45805ad1ce330494b53f9741cf25f8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.19_1768985868599_0.5192839492780839","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"sera-ai","version":"1.0.20","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.20","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"8641a1d9fd0e7f604173e785c947dbe0aa76d92f","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.20.tgz","fileCount":9,"integrity":"sha512-JH578NNRXjSyl73Tiqx1bNi7AyWEYaaYfxMu0xayAEW4N37HoEIQbLnS7P9F3oa80XhnG7gu45kGGGTNmtR8HA==","signatures":[{"sig":"MEUCIQCk/ES7e2nu70ysvlN0a3TfdWy0Uo1IDw8JJ4mwAM0ySAIgW2j1yght7LmekfqWOyegG6nfxckqN4snj33QAgDrmzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448665},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3aeaa8887b45805ad1ce330494b53f9741cf25f8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.20_1768986407394_0.45911193973798325","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"sera-ai","version":"1.0.21","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.21","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"a0b3f3f46ffe27a1836d5faea2885a7a23e5046e","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.21.tgz","fileCount":9,"integrity":"sha512-bPhYVmD7FYsZRu3syrhY2spaP9oSctj3+Byx7qN8q97fYaVGo8DCNRSPinwtsByRGlGOEnLpX5cSNfdXJi2Xow==","signatures":[{"sig":"MEUCIQCd+CYzsT/ECNDBtcSYx0HDBTLbdSLJXl25ApBYjZWHBQIgRzOKRcfEcEbugXONN+/z7n+teNMttoaC9SDA81oDXyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450373},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e24fa56d7bccc34e5411fd2c92a054d167b9fa93","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.21_1769005938620_0.1696825114903886","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"sera-ai","version":"1.0.22","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.22","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"8ff4366eb989f5b58ca26b1a01d01f18c558f9ec","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.22.tgz","fileCount":9,"integrity":"sha512-+5PIhyciKNxqSC2RvYK39DDThpYL3KNdXluzYbz6TiCt0kv2BwIJH4LQQca6JAivzG9uO3XVnzCu4Wn4fFRfbg==","signatures":[{"sig":"MEUCIQDrNAQbZvERskIA4azq/USuGD85VfcWpfODHmWqvwap/gIgFB/74K+wt/7GdErI0ad32jLy4TZcaQCAnZ9fsprkLew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1454873},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a11acf98e1225bdbd5c4ece79cbf25984aa312ea","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.22_1769017298366_0.6000397905314552","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"sera-ai","version":"1.0.23","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.23","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"6585e7b12f0baf6d558589708447cbdd41b9456e","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.23.tgz","fileCount":9,"integrity":"sha512-cNk4joouSjgj8daMDfdAMa03gc9BkXh8HPTEJF8/CPBZHFQa5Dlnr8kw4ykC5/FAWr9Au3F+2LQ6ODbZN1A8og==","signatures":[{"sig":"MEYCIQD8W03jOuf77p/JMmljDQpHgFMFpbQBfOlMu9cRZdaMIQIhAN7T5EPHzUFK7wdwqytF4asd9RrB2D3V3a1fqSFsxNvy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4531559},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"32ff3e60380c5bd9572f6de71e619e773ab3fc6b","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.23_1769020091787_0.6725490808110675","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"sera-ai","version":"1.0.24","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.24","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"f7603761f78c38d98677c547e316a46d464a059b","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.24.tgz","fileCount":9,"integrity":"sha512-ZDRfEFw5B+JyQeYyaQqtvmbaRIMso7tVufqG/sopng5cSrm+ojDK36r1wnenj2GRk+HktWBl3bnQZkVgEYe9sQ==","signatures":[{"sig":"MEYCIQDx/xtMOUsjGG8v/iV2ICh6TO5k56Dit2W+F3FdgoL8tAIhALRL7fun4BfqW9Nd9u/GZQYNZ2Mkj2ynHQ4hOODP9WVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1478554},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b0ff4e85a1e88337cedb8661952a040f90f0c4da","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.24_1769025286438_0.6011223361139069","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"sera-ai","version":"1.0.25","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.25","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"99650ae3fd3956a09f0087888aa35014abf421e4","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.25.tgz","fileCount":9,"integrity":"sha512-sdj8KQ5sgwQM608EjZMXjki/2srClZtC8uzqVP3J35QuCgiYEhlNtLRlQY4z2ZrJKOlLJHDkENAzukiGp/2uzQ==","signatures":[{"sig":"MEQCIHUBNMAl+Lg5wH7xihhxVFC0Skk7pcsJ01nFUxS7qg12AiBKKJE83flL2R8WZkz4ybZ6TAswsPgTBTi5JBPTj8eC+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1512577},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6ae753dda230017217f5288ddebf2efaa796457a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.25_1769169189256_0.9890308806919663","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"sera-ai","version":"1.0.26","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.26","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"eadb3ae9dbb7ded38178d5b405f07fda8bea283b","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.26.tgz","fileCount":9,"integrity":"sha512-tw3qzd1abK2ks+ll7Gs/cPrJf+eT0Df+IpYsYb2kCxRYdsqJyuOzGkTLGRMtjEUej4f39lnJe2IqaxrPSglkVA==","signatures":[{"sig":"MEUCIQDOXaaM1+0HDLL4oPmEEbftno3vMUNqVP9oUhyqY+ElIQIgWp+1WJO3+j7PQ/vUBtnsVejKfV3B8s3yZ+X2eagcN98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1459458},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"83bcd31ae711d41bd2d7997b0d48b9a5734950fb","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.26_1769178542983_0.9140373054303226","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"sera-ai","version":"1.0.27","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.27","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"73c615ffbd80b2c16acd015e5f05a592c92f57cc","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.27.tgz","fileCount":9,"integrity":"sha512-duveVbalelvJecjPD85064pG5IcyXn1wjxmfJjMGM1axCB9YJkU87fE161wAsrS2pzPA808vhd1SZCW4NcpwXg==","signatures":[{"sig":"MEQCIHFXMx2t2TdKRciuIIm6FmhKJl4O3KT9oYZrbYMSx/d7AiBUxQ7+5Wy+ymRieG3dri0NPTF+yE5CVZsn1XXM2N35ZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1478052},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e3bb32fac27ce9816b786e8bf737c26a29b3c5c7","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.27_1769181356991_0.2124334467086022","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"sera-ai","version":"1.0.28","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.28","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"4724ee0dbf8c3a41620d2449eb3ac637bc24de6b","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.28.tgz","fileCount":9,"integrity":"sha512-x78wFjEKQyY1neeEBVk2NCbfipbmKxQTHehbc1MhaimzUD1DwzMXDmMxXnMHTDVI9UPpqnK1bqSpTBcpVwfHYQ==","signatures":[{"sig":"MEQCHzHQ715O9ZxmXtQHXUh/FTViggYolV6glVe+L9hnP2ICIQC+VrE7vBIBCj6rny4/mQzThRKqp43sn9SK5beOxfERgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1501190},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ae292f524632db7ac9e9701291686f7946cade9b","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.28_1769417900279_0.7770438043997661","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"sera-ai","version":"1.0.29","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.29","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"2370b66baf3e60f796ef3b093f539b67435af543","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.29.tgz","fileCount":9,"integrity":"sha512-qLZBxCGtSKOqTSWO41aaa6GoKeU65PyLBFTNDCgWkHqXCzpKEcLLZg+UYlUSIaaaspCaM6UasJS2zhr69rPreg==","signatures":[{"sig":"MEUCIBeBoFfKtmAE+RaSAxn4I740TwTpd8JheZ5skod+BpEjAiEA4VyIHP9wsp1BjO024xRlCjWtr7M+A5hUT0D3G4s8FAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1444591},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4529460df6e4510b0e048e1520cc7b171cd5a704","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.29_1770122068817_0.18308172254693256","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"sera-ai","version":"1.0.30","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.30","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"13d54616ef148d66537f83f453a4c9cb6ccef30a","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.30.tgz","fileCount":9,"integrity":"sha512-duor8fkif5vZKWpS+dBkr/HAqU8ZuI4egIyT1sQXSi1DafKESDmZqdUX0GKeX+wfC3IiTyMeLr92YjWjMdYs5w==","signatures":[{"sig":"MEQCIBa3UMUzlk+5K+aFgEvsRnS7fEggib3bR40B82SDF2VdAiA+AHbCG14/PTY2R9abNP4EoOGpI2GY+1TRwg86xFIfRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1444235},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a9f3a1b287dd799aa552e7049dc4a67ec3f086b9","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.30_1770188381703_0.2342236054103788","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"sera-ai","version":"1.0.31","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.31","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"0bca905c457a0421382f76c7911ba67b6a5ebcc5","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.31.tgz","fileCount":9,"integrity":"sha512-8W02Lb1SpdiEkIemjFsOZRZ1s3bDpTms7fmYNVvQC+AQwAb2aMQfvTRW26yzZ0IeUAXMRzSCoefHvNTTNDxpQA==","signatures":[{"sig":"MEUCIQC78ZGBayTARr+RIjcPnAcJmTN0su6lLv3m//8Xa/rAEQIgZZDS7utQTkrNzZNaBkRVk3Ks9+pSQZzrHdZ1xneKq0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450387},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9eb7858e94626fc9a4bd3063383b6df3349e2317","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.31_1770284027774_0.4263059509163718","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"sera-ai","version":"1.0.32","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.32","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"10cab59588374f99b590571c4844ca2e5e919e9c","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.32.tgz","fileCount":9,"integrity":"sha512-P2iZGGGUCy8Fg6sNJryCEHEBsyZrjInm/w7eB8Wd9V7ysXfd6/cljhBd/oqWL+e6jwSHKTn1ZlAAYbX3AtVCOA==","signatures":[{"sig":"MEUCIGqyv08MxPzHz79DRrVeo0roFgBZuNc+u29GywLKR2xPAiEAucMh02PFpZnkxF35z/s/+W2BuJq9enlRpf8J9VqOzVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1456649},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"eab4ee1f718271683c03fb6d6c205ed1a541d7e7","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.32_1771925031227_0.045577750286051266","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"sera-ai","version":"1.0.33","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.33","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"d936cfaf9695c133cbd963cce8b555b0bd6eeff8","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.33.tgz","fileCount":9,"integrity":"sha512-FcSS96ifopmTs3VKadvUe0c7A7Mjt0hseJhJMyyXpAI17Roo9IIMoivU24RP5jZlgbNaGjsORYF80uJZ8lWvxQ==","signatures":[{"sig":"MEYCIQDUM+Z0rutYKUjsKMYc+n4A/M8kXgnf+IRGVhEO2VNHYgIhAKlsIoIHayJqfIuIz8TAIH4zTAcLN5rcNiE7fUDh2cp7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1455917},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1d36ea7d60ae8e595add7b996f6a8258f5789c53","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.33_1772619022148_0.5331472149742642","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"sera-ai","version":"1.0.34","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.34","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"65daaf6250057dd6565417b0c9c3b131679889ca","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.34.tgz","fileCount":9,"integrity":"sha512-TkdXF/PgzHDG7ZtrE/i3gzJoIMfryoreXkYge04hA3R/m6rFnm+4al6RtO2gLQZGYUaAuqKIaQb5OodZAWf80g==","signatures":[{"sig":"MEQCIFLCmuYPUo4S1Ux55TicsJ9YwWl4YqcncXRRAIiYXPiBAiBYTSfMFPa1ZVYLN51XYbHaMZlQIec6QQzhKS9q/8v1Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1458921},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"36801f26ad04ff8c79fdfdd618e643d860d8bfb6","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.34_1781161448316_0.4700772606531016","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"sera-ai","version":"1.0.35","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.35","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"c8aaeb243a9c10a8a11099ccf09a72d15f743d8a","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.35.tgz","fileCount":9,"integrity":"sha512-+E/+qFDuztgbbvXjPFMA1w6LXAJGIluTl6RSgGu8xGm8qjwWOMKDU+zZlutQLsrGRzuBJGWjnvxYOhOhzYB5WQ==","signatures":[{"sig":"MEUCIEKikYmxp6v50vXglL6IvgCWVrfS9GpO/NdfJAkHCGQKAiEAh75gb33vdQ42YdLx+szWP1BKyGp8kTKugp0v3YAeCh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1461859},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2a301cc1c14d28370703b4201712f522174fd612","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.35_1781790090066_0.9661617075157436","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"sera-ai","version":"1.0.36","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.36","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"dade6d63f96c25091d64e672c55550e5b8d8753f","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.36.tgz","fileCount":9,"integrity":"sha512-9wn4zikt+7sWqgxP0HpzlNaEHsc4ewQB1NvuWihdZU+ecifpNIZLQpOs+WVDZjV+PTjH31YcfHR7GbfHazGgBA==","signatures":[{"sig":"MEQCIEtTb9Fj27IeuBb/Dcu7d820YnKzS49G5f2jDMvdMV/IAiAlxHzLMo/q4PIcR2hPcbp4SN8nKSEmCqey4hhUVfRoIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1461743},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2a301cc1c14d28370703b4201712f522174fd612","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.36_1781791032600_0.9625065583342047","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"sera-ai","version":"1.0.37","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.37","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"55b5963d5fe5babc92501a52c5f80983b0248799","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.37.tgz","fileCount":14,"integrity":"sha512-bonh8BdRU7jRq4nnI1yuw8iBl7rVMdDnz8MugVjCjb8/xQTMC8JZlk/jNbIxS2gSP8ywqO7mKqCBR0imTDFzxg==","signatures":[{"sig":"MEQCIEWCqnQ2D6Ud9rAIvn3WRg0LMRYnEqDtVRxyf0aMDVQTAiA3FPYG3QkC/NmIYjik1pLCQT+YQmTGaPQDETJqvLSBJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26120513},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e556b0b24f5ab03b8c4c4ec71f7d383ee47c7f39","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/core":"^0.11.0","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.37_1788247695801_0.9351518587802436","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"sera-ai","version":"1.0.38","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.38","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"003b4ac49766d800ea936458c1bf0b0a6571f68c","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.38.tgz","fileCount":12,"integrity":"sha512-X4k3aa+jsPLyPNq+JlBRrqeZORsGVtDVRo7MClhbMSSoZRO+m0Akb1YZkI6I59T380NRp69K6VB3DXHJWbNjnA==","signatures":[{"sig":"MEUCIBxIfZCEI0H2EmP1/TVloxH8pHwnuZswqNIGs3E1BLrGAiEAgnMsn3H5jjH2SssMrymAtbcUy65jdyC/mNCW782b+Iw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1954938},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"82ac320391e1c4b0e30aa42020e5a93f42ecd88c","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.38_1788253139207_0.34568138913165947","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"sera-ai","version":"1.0.39","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.39","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"87f813719b558446c0a8df9196e592f3cd9922c3","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.39.tgz","fileCount":12,"integrity":"sha512-jlFU+O3eU9bU1zlps02cwif6ySs6TJTh04Ac6U5+ipdzKZZHETGbvRom6oUKZJk9JbBRfOZWAL3ZoHyIdRHvxg==","signatures":[{"sig":"MEUCIQDqh/e8d/ujkfTEQM0Nzp7F+DD0RhiNxfR6+eZpJtF1jgIgSplDcKjDPguzHmC9XFzsSNSVPoX7afADYoTu4wc4n1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1956750},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9ae19b749d8731029d145bad01064574933451e2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.39_1788361358049_0.22622519600765956","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"sera-ai","version":"1.0.40","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.40","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"e5a4e092d641040b2e5b5db28adaf73fbca1ab47","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.40.tgz","fileCount":12,"integrity":"sha512-hLx/A//mnCccvRsqSvAqmDFaCIkkQAFHBB9+IaqWt6m/9yLoGPGkCSM4k0iMt1T5Ld0M7P7RiulSSPG6D/iodw==","signatures":[{"sig":"MEQCIFE7DKCMyFdWVKu9Y5VZp3BNNV0Dq4ocfxaZCUBsHpoyAiACq7BzCewylfBwWLOEMY8cFwllYRG0akYl0nVDBoXNOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1955873},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7f56c03cfcec5b76379ac19f483ed19166f565da","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.40_1788371787861_0.8755611192802777","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"sera-ai","version":"1.0.41","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.41","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"1b66ff0bc3ce06c64b6823e3e78f4b0823cb6fa4","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.41.tgz","fileCount":12,"integrity":"sha512-Y25jIPSlmDrh/T6n+0Q1NNOs27eRrnpdt4F+iH2AWvjskp0KYDRvRvKeIOkenmR/7zS5zZVHAXiBO48Xe6GiCQ==","signatures":[{"sig":"MEYCIQCwYtjYWUyr8dGblynlc+4URlu7yKhPz/8yq+LmpaJWMwIhANHqeA7f9MbS1R55V7ZJtlYkdEd9Jj0qdrL40rM+cr4h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1966887},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d5b5ae4154ab7ba944b496648969bb8ba38a3303","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.41_1789287826501_0.17857948300887472","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"sera-ai","version":"1.0.42","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.42","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"35f043341fc90bee0b9fe5a58c9a8d4bf9bc11d5","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.42.tgz","fileCount":12,"integrity":"sha512-w0mCttrjW4H39+4ToNpVpDONPDlC97mYRqhC4K6ME27elRU32TzbUaJNkond+nNaifkLtF9NhnyBAY9HfS1k6w==","signatures":[{"sig":"MEUCIB5aq9S36ak2yrCM7f9acG7q+nWOBekhM2TyEI/K19E0AiEAltCapvBqYrsTgrJsuQpmGKux8MxNaSiQkqSM1jWgonA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1978657},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a39bbaa26cd7be4af5d450a552490e7b5c614e3e","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.42_1789288150223_0.15665531841926827","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"sera-ai","version":"1.0.43","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.43","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"ec51c9bd56fe39fd808d8ffcbd820720ffc87e19","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.43.tgz","fileCount":12,"integrity":"sha512-OYB2Wi+sNaSTMEFPSPa825UjLHMcnzMHCElTEzGRo6Q7pLvv5e3bMyJh66EE9DtRMM1fDZ+020dcTO3+F8WoiQ==","signatures":[{"sig":"MEYCIQCJbS5E7zJRQaluQK2cSf6s6MgOHb8Jx4eyYPH80riPXQIhAN0I64LnlbM5lupwuCppIWc097dVRxruVFfMf4eSkfM+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2008535},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"65b3726895d18a1774fd3aad59af48117d3a400a","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^27.4.0","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.3","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.43_1789377765917_0.8855904165898849","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"sera-ai","version":"1.0.46","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"author":{"name":"Nuxera AI"},"license":"ISC","_id":"sera-ai@1.0.46","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"6b0e33ab2c56be1a050686289ec1466aad818f9e","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.46.tgz","fileCount":12,"integrity":"sha512-L0F57vMxHfQfzFCk5qooDoezbx2v/xvrBJQ4z9CdFCMBG0IAIY8iaypevJe8/oagoArbvrSp+gEmNHnNJtjE1A==","signatures":[{"sig":"MEQCIBnLZGF60IW0rlX3XRqoVktW5VuxhrSsjAKKXkNSYi11AiBSJVAk6UepMVus2V42M79cUbWgRdXGCfaFj8anY4oUPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2011183},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f0c3708e4696e9cec83c34ce45dd9ac8a2ba83ba","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^27.4.0","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.3","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/sera-ai_1.0.46_1789552575375_0.056229965549081884","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"_id":"sera-ai@1.0.47","bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"dist":{"shasum":"dd466d70f5a2da037a6329d9cedaf085a31d7ac9","tarball":"https://registry.npmjs.org/sera-ai/-/sera-ai-1.0.47.tgz","fileCount":12,"integrity":"sha512-q72wuwyZ7oE3ASNWfyJcnkcMp8W7fcvAfaZhZHBgr3QIBhY16buIP5xGndscn08mNpWPlxPc0cOuiVa0ZN3Xvw==","signatures":[{"sig":"MEUCIQD3xmvFvKlbqCndQ0CmiXlAiagYsB5Jx6RooRLkvOjysAIgCZ4lJezdliaPlhGbjNPyU7DrNnn+BKKJrbfgH9O/YVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4gJEPkEDzFV36vk2WYoD9EzzQrPHjm2fCJ9/ukBGRCQIhAOMFKPB9eacQkLhEbT9nGOifYerl5egQEAOayomZvSbx"}],"unpackedSize":2012005},"main":"dist/index.js","name":"sera-ai","types":"dist/index.d.ts","author":{"name":"Nuxera AI"},"module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"license":"ISC","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx}\"","test:dev":"cd test && vite","test:build":"cd test && vite build","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"1.0.47","_npmUser":{"name":"salehshah","email":"saleh@nuxera.ai"},"homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"_npmVersion":"10.9.2","description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","directories":{},"maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"p-retry":"^7.1.1","@ffmpeg/ffmpeg":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^27.4.0","react":"^19.2.3","eslint":"^9.39.2","vitest":"^4.1.11","globals":"^14.0.0","postcss":"^8.5.6","prettier":"^3.7.4","react-dom":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@ffmpeg/core":"^0.11.0","@ffmpeg/util":"^0.12.1","@types/react":"^19.2.7","autoprefixer":"^10.4.23","lucide-react":"^0.562.0","opus-recorder":"^8.0.5","@ffmpeg/ffmpeg":"^0.11.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.2","@testing-library/react":"^16.3.3","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.50.0","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"lucide-react":{"optional":false}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sera-ai_1.0.47_1790919259944_0.693989767678818"}}},"time":{"created":"2025-12-22T12:01:32.781Z","modified":"2026-10-02T05:34:20.259Z","1.0.0":"2025-12-22T12:01:33.032Z","1.0.1":"2026-01-01T07:45:07.498Z","1.0.2":"2026-01-02T09:43:08.144Z","1.0.3":"2026-01-02T09:49:12.867Z","1.0.4":"2026-01-05T07:40:02.043Z","1.0.5":"2026-01-05T08:24:20.242Z","1.0.6":"2026-01-05T10:00:44.344Z","1.0.7":"2026-01-05T10:42:49.393Z","1.0.8":"2026-01-06T11:42:44.923Z","1.0.9":"2026-01-06T13:38:10.016Z","1.0.10":"2026-01-09T07:45:53.993Z","1.0.11":"2026-01-12T07:19:47.742Z","1.0.12":"2026-01-12T13:02:53.636Z","1.0.13":"2026-01-12T13:22:45.323Z","1.0.14":"2026-01-16T09:53:15.666Z","1.0.15":"2026-01-19T09:32:01.025Z","1.0.16":"2026-01-19T12:11:25.886Z","1.0.17":"2026-01-21T08:18:55.362Z","1.0.18":"2026-01-21T08:35:00.582Z","1.0.19":"2026-01-21T08:57:48.771Z","1.0.20":"2026-01-21T09:06:47.592Z","1.0.21":"2026-01-21T14:32:18.809Z","1.0.22":"2026-01-21T17:41:38.584Z","1.0.23":"2026-01-21T18:28:12.003Z","1.0.24":"2026-01-21T19:54:46.654Z","1.0.25":"2026-01-23T11:53:09.423Z","1.0.26":"2026-01-23T14:29:03.219Z","1.0.27":"2026-01-23T15:15:57.162Z","1.0.28":"2026-01-26T08:58:20.484Z","1.0.29":"2026-02-03T12:34:28.970Z","1.0.30":"2026-02-04T06:59:41.917Z","1.0.31":"2026-02-05T09:33:47.989Z","1.0.32":"2026-02-24T09:23:51.439Z","1.0.33":"2026-03-04T10:10:22.400Z","1.0.34":"2026-06-11T07:04:08.475Z","1.0.35":"2026-06-18T13:41:30.254Z","1.0.36":"2026-06-18T13:57:12.777Z","1.0.37":"2026-09-01T07:28:16.143Z","1.0.38":"2026-09-01T08:58:59.346Z","1.0.39":"2026-09-02T15:02:38.216Z","1.0.40":"2026-09-02T17:56:28.016Z","1.0.41":"2026-09-13T08:23:46.667Z","1.0.42":"2026-09-13T08:29:10.356Z","1.0.43":"2026-09-14T09:22:46.073Z","1.0.46":"2026-09-16T09:56:15.527Z","1.0.47":"2026-10-02T05:34:20.083Z"},"bugs":{"url":"https://github.com/Nuxera-AI-Team/sera-ai/issues"},"author":{"name":"Nuxera AI"},"license":"ISC","homepage":"https://github.com/Nuxera-AI-Team/sera-ai#readme","keywords":["react","audio","recording","transcription","ai","speech-to-text","voice","microphone","web-audio","real-time","embedded-workers","self-contained"],"repository":{"url":"git+https://github.com/Nuxera-AI-Team/sera-ai.git","type":"git"},"description":"React component for real-time audio recording with AI transcription - works out of the box with embedded workers","maintainers":[{"name":"salehshah","email":"saleh@nuxera.ai"}],"readme":"# Sera AI Audio Recorder\n\nA React component library for real-time audio recording with AI-powered transcription. Works out of the box with embedded workers and no external dependencies.\n\n## Features\n\n- 🎙️ Real-time audio recording with live visualization\n- 🤖 AI-powered transcription with medical speciality support\n- 🎯 Built-in noise reduction and silence removal\n- 📦 Self-contained - no external files or workers required\n- 🎨 Built-in styling - no CSS framework dependencies\n- 🔄 Automatic session recovery and retry functionality\n- 📊 Multiple output formats (JSON, HL7, FHIR)\n- 🎚️ Advanced audio controls (pause/resume, device selection)\n- ⚡ Zero configuration setup\n\n## Installation\n\n```bash\nnpm install sera-ai lucide-react\n```\n\n**Note**: `lucide-react` is required as a peer dependency for the UI icons. If you already have it installed, you can just install:\n\n```bash\nnpm install sera-ai\n```\n\n## Quick Start\n\n```tsx\nimport React from 'react';\nimport { AudioRecorder } from 'sera-ai';\n\nfunction App() {\n  return (\n    <div style={{ padding: '20px' }}>\n      <h1>My Medical App</h1>\n      <AudioRecorder\n        apiKey=\"your-api-key\"\n        speciality=\"general_practice\"\n        onTranscriptionUpdate={(text, sessionId) => {\n          console.log('Live transcription:', text);\n        }}\n        onTranscriptionComplete={(text, classification, sessionId) => {\n          console.log('Final result:', text, classification);\n        }}\n      />\n    </div>\n  );\n}\n\nexport default App;\n```\n\nNo configuration files, no worker files to copy, no CSS frameworks to install.\n\n---\n\n## Components\n\nSera AI ships three recorder components, each suited to a different use case:\n\n| Component | Use Case |\n|-----------|----------|\n| [`AudioRecorder`](#audiorecorder) | Full-featured recording with live transcription, pause/resume, session recovery |\n| [`AudioDictation`](#audiodictation) | Click-to-dictate button for short dictation tasks |\n| [`AudioCapture`](#audiocapture) | Raw audio capture for custom server-side processing |\n\nPlus [`AudioVisualizerImproved`](#audiovisualizerimproved), the animated canvas the recorders use, exported separately for hosts that build their own UI on top of the `useAudioRecorder` hook.\n\n---\n\n## AudioRecorder\n\nThe main component for real-time audio recording with AI-powered transcription. Provides a complete UI with start/stop/pause controls, live audio visualization, session recovery prompts, and error handling.\n\n### Overview\n\n- Records audio from the user's microphone via the Web Audio API\n- Streams audio to the Sera AI cloud for real-time transcription\n- Supports medical speciality-specific transcription models\n- Automatically persists failed sessions to IndexedDB and offers retry\n- Renders an animated waveform visualizer during recording\n- Outputs results in JSON, HL7 v2.5, or FHIR R4 format\n\n### Basic Usage\n\n```tsx\nimport { AudioRecorder } from 'sera-ai';\n\nfunction App() {\n  return (\n    <AudioRecorder\n      apiKey=\"your-api-key\"\n      speciality=\"general_practice\"\n      onTranscriptionUpdate={(text, sessionId) => {\n        console.log('Live transcription:', text);\n      }}\n      onTranscriptionComplete={(text, classification, sessionId) => {\n        console.log('Final result:', text);\n        console.log('Classification:', classification);\n      }}\n    />\n  );\n}\n```\n\n### Advanced Usage\n\n#### With Patient Context and HL7 Output\n\n```tsx\n<AudioRecorder\n  apiKey=\"your-api-key\"\n  apiBaseUrl=\"https://your-custom-api.com\"\n  speciality=\"cardiology\"\n  patientHistory=\"Patient has history of atrial fibrillation\"\n  patientDetails={{\n    id: 12345,\n    name: \"John Doe\",\n    gender: \"male\",\n    dateOfBirth: \"1985-03-15\",\n    age: 40,\n  }}\n  selectedFormat=\"hl7\"\n  onTranscriptionUpdate={(text, sessionId) => {\n    console.log('Real-time update:', text);\n  }}\n  onTranscriptionComplete={(text, classification, sessionId) => {\n    console.log('HL7 result:', text);\n  }}\n  onSuccess={(data) => console.log('API success:', data)}\n  onError={(error) => console.error('Error:', error)}\n/>\n```\n\n#### Custom Styling\n\n```tsx\n<AudioRecorder\n  apiKey=\"your-api-key\"\n  speciality=\"general_practice\"\n  className=\"my-custom-button-class\"\n  visualizerClassName=\"w-full max-w-2xl\"\n  style={{ margin: '20px auto' }}\n/>\n```\n\n### Props Reference\n\n| Prop | Type | Required | Default | Description |\n|------|------|----------|---------|-------------|\n| `apiKey` | `string` | **Yes** | — | Your Sera AI API key for authentication |\n| `speciality` | `string` | **Yes** | — | Medical speciality for optimized transcription (e.g. `\"general_practice\"`, `\"cardiology\"`) |\n| `apiBaseUrl` | `string` | No | `\"https://nuxera.cloud\"` | Base URL for the transcription API |\n| `patientHistory` | `string` | No | — | Free-text patient history to provide context for transcription |\n| `patientDetails` | [`PatientDetails`](#patientdetails) | No | — | Structured patient information |\n| `selectedFormat` | `\"json\" \\| \"hl7\" \\| \"fhir\"` | No | `\"json\"` | Output format for the transcription result |\n| `onTranscriptionUpdate` | `(text: string, sessionId: string) => void` | No | — | Called with live transcription text as audio is processed in real time |\n| `onTranscriptionComplete` | `(text: string, classification: ClassificationInfoResponse, sessionId: string) => void` | No | — | Called when the full transcription and medical classification are ready |\n| `onSuccess` | `(data: any) => void` | No | — | Called when the API request succeeds |\n| `onError` | `(error: string) => void` | No | — | Called when an error occurs (microphone issues, API failures, etc.) |\n| `className` | `string` | No | `\"\"` | CSS class applied to the start recording button |\n| `visualizerClassName` | `string` | No | `\"\"` | CSS class applied to the audio visualizer container (defaults to `max-w-lg` if empty) |\n| `style` | `React.CSSProperties` | No | — | Inline styles applied to the root container |\n\n### UI States\n\nThe component automatically manages these visual states:\n\n| State | UI |\n|-------|-----|\n| **Idle** | Gradient start button with microphone icon |\n| **Recording** | Live waveform visualizer + Stop/Pause buttons |\n| **Paused** | Stop/Resume buttons (visualizer hidden) |\n| **Processing** | Teal spinner with \"Processing...\" label |\n| **Complete** | Green \"Transcription Complete\" badge |\n| **Session Recovery** | Yellow prompt offering \"Retry Transcription\" or \"Clear Saved Sessions\" |\n| **Microphone Error** | Red error panel with \"Check Again\" button |\n| **No Audio Detected** | Orange warning with troubleshooting checklist |\n\n### Features\n\n- **Real-time visualization** — Animated waveform with particle effects during recording\n- **Pause/Resume** — Pause recording without losing progress\n- **Session recovery** — Failed sessions are saved to IndexedDB and can be retried\n- **Auto microphone validation** — Detects missing or silent microphones on start\n- **Toast notifications** — Shows errors as temporary toast messages\n- **Dark mode support** — All error/warning panels support light and dark themes\n- **Self-contained styles** — Embeds minimal Tailwind CSS utilities; no framework required\n\n---\n\n## AudioDictation\n\nA click-to-dictate button component for short dictation tasks. Click to start recording, click again to stop — the audio is sent for transcription and the result is returned via callback.\n\n### Overview\n\n- Single-button interface: click to start, click to stop\n- Animated gradient button while recording\n- Automatic transcription on stop\n- Supports JSON, HL7, and FHIR output formats\n- Built-in error display with alert panel\n\n### Basic Usage\n\n```tsx\nimport React, { useState } from 'react';\nimport { AudioDictation } from 'sera-ai';\n\nfunction DictationApp() {\n  const [dictatedText, setDictatedText] = useState('');\n\n  return (\n    <div style={{ padding: '20px' }}>\n      <h1>Medical Dictation</h1>\n\n      <AudioDictation\n        apiKey=\"your-api-key\"\n        doctorName=\"Dr. Smith\"\n        patientId=\"12345\"\n        specialty=\"cardiology\"\n        selectedFormat=\"json\"\n        onDictationComplete={(text) => {\n          setDictatedText(prev => prev + ' ' + text);\n        }}\n      />\n\n      <div style={{ marginTop: '20px', padding: '10px', border: '1px solid #ccc' }}>\n        <h3>Dictated Text:</h3>\n        <p>{dictatedText}</p>\n      </div>\n    </div>\n  );\n}\n```\n\n### Advanced Usage\n\n#### With All Callbacks and Custom Styling\n\n```tsx\n<AudioDictation\n  apiKey=\"your-api-key\"\n  apiBaseUrl=\"https://your-custom-api.com\"\n  appendMode={true}\n  doctorName=\"Dr. Garcia\"\n  patientId=\"patient-789\"\n  sessionId=\"session-001\"\n  language=\"en\"\n  specialty=\"radiology\"\n  selectedFormat=\"fhir\"\n  onDictationComplete={(text) => console.log('Dictation:', text)}\n  onDictationStart={() => console.log('Started recording')}\n  onProcessingStart={() => console.log('Processing audio...')}\n  onError={(error) => console.error('Dictation error:', error)}\n  className=\"my-custom-button\"\n  style={{ display: 'inline-block' }}\n  buttonText=\"Dictate Note\"\n  placeholder=\"Click to start dictating\"\n/>\n```\n\n### Props Reference\n\n| Prop | Type | Required | Default | Description |\n|------|------|----------|---------|-------------|\n| `apiKey` | `string` | No | — | Your Sera AI API key |\n| `apiBaseUrl` | `string` | No | — | Custom base URL for the transcription API |\n| `appendMode` | `boolean` | No | `true` | Whether to append to existing text in the transcription session |\n| `doctorName` | `string` | No | `\"doctor\"` | Doctor's name included in the transcription context |\n| `patientId` | `string` | No | — | Patient identifier for the dictation session |\n| `sessionId` | `string` | No | — | Session identifier for grouping dictation segments |\n| `language` | `string` | No | `\"en\"` | Language code for dictation |\n| `specialty` | `string` | No | `\"general\"` | Medical specialty for optimized transcription |\n| `selectedFormat` | `\"json\" \\| \"hl7\" \\| \"fhir\"` | No | `\"json\"` | Output format for the transcription result |\n| `onDictationComplete` | `(text: string) => void` | **Yes** | — | Called with the transcribed text when dictation finishes processing |\n| `onDictationStart` | `() => void` | No | — | Called when recording begins |\n| `onProcessingStart` | `() => void` | No | — | Called when recording stops and processing begins |\n| `onError` | `(error: string) => void` | No | — | Called when a dictation error occurs |\n| `className` | `string` | No | `\"\"` | CSS class applied to the dictation button (overrides default styling) |\n| `style` | `React.CSSProperties` | No | — | Inline styles applied to the root container |\n| `buttonText` | `string` | No | — | Custom button text (button shows icons only by default) |\n| `placeholder` | `string` | No | `\"Click to dictate...\"` | Tooltip text shown on hover |\n\n### UI States\n\n| State | UI |\n|-------|-----|\n| **Idle** | Blue button with microphone icon |\n| **Dictating** | Animated gradient button with stop icon and pulse animation |\n| **Processing** | Gray button with spinner (disabled) |\n| **Error** | Red alert panel with error details |\n\n### Features\n\n- **Click-to-toggle** — Click to start recording, click again to stop and transcribe\n- **Visual feedback** — Animated gradient background and pulse effect while recording\n- **Lifecycle callbacks** — `onDictationStart`, `onProcessingStart`, and `onDictationComplete` for full control\n- **Error display** — Replaces button with an alert panel on errors\n- **Multiple formats** — JSON, HL7 v2.5, and FHIR R4 output\n- **Self-contained styles** — Embeds its own CSS animations and utilities\n\n---\n\n## AudioCapture\n\nA raw audio capture component for applications that handle transcription on their own servers. Records, processes, and optionally compresses audio, then returns the data via callbacks instead of sending it to the Sera AI cloud.\n\n### Overview\n\n- Captures audio from the user's microphone with configurable chunk duration\n- Returns raw `Float32Array` data or processed WAV files\n- Optional FFmpeg-based silence removal\n- Full recording controls: start, stop, pause, resume\n- Microphone device selection UI\n- Live waveform visualization\n- No API key required — audio stays on your side\n\n### Basic Usage\n\n```tsx\nimport { AudioCapture } from 'sera-ai';\n\nfunction AudioCaptureApp() {\n  const handleAudioChunk = (\n    audioData: Float32Array,\n    sequence: number,\n    isFinal: boolean,\n    sampleRate: number\n  ) => {\n    console.log(`Chunk ${sequence} (${sampleRate}Hz):`, audioData.length, 'samples');\n    sendAudioToMyServer(audioData, sequence, isFinal);\n  };\n\n  const handleAudioComplete = (finalAudio: Float32Array, sampleRate: number) => {\n    console.log('Recording complete!', finalAudio.length, 'samples at', sampleRate, 'Hz');\n  };\n\n  return (\n    <AudioCapture\n      onAudioChunk={handleAudioChunk}\n      onAudioComplete={handleAudioComplete}\n      chunkDuration={30}\n      format=\"raw\"\n    />\n  );\n}\n```\n\n### Advanced Usage\n\n#### WAV Output with Silence Removal and Download\n\n```tsx\n<AudioCapture\n  onAudioFile={(audioFile) => {\n    console.log('Audio file:', audioFile.name, audioFile.size, 'bytes');\n    uploadFileToMyServer(audioFile);\n  }}\n  onAudioChunk={(audioData, sequence, isFinal, sampleRate) => {\n    console.log(`Streaming chunk ${sequence} at ${sampleRate}Hz, final=${isFinal}`);\n  }}\n  onAudioComplete={(finalAudio, sampleRate) => {\n    console.log('Complete recording:', finalAudio.length / sampleRate, 'seconds');\n  }}\n  silenceRemoval={true}\n  chunkDuration={15}\n  format=\"wav\"\n  showDownload={true}\n  visualizerClassName=\"w-full max-w-2xl\"\n  style={{ padding: '20px' }}\n/>\n```\n\n### Props Reference\n\n| Prop | Type | Required | Default | Description |\n|------|------|----------|---------|-------------|\n| `onAudioChunk` | `(audioData: Float32Array, sequence: number, isFinal: boolean, sampleRate: number) => void` | No | — | Called for each audio chunk during recording. `sequence` is 0-indexed, `isFinal` is `true` on the last chunk |\n| `onAudioComplete` | `(finalAudio: Float32Array, sampleRate: number) => void` | No | — | Called when recording stops with the final combined audio buffer |\n| `onAudioFile` | `(audioFile: File) => void` | No | — | Called with a processed audio `File` object (raw or WAV depending on `format`) |\n| `silenceRemoval` | `boolean` | No | `false` | Enable FFmpeg-based silence detection and removal |\n| `chunkDuration` | `number` | No | `30` | Duration in seconds for each audio chunk |\n| `format` | `\"raw\" \\| \"wav\"` | No | `\"raw\"` | Output format for the audio file provided to `onAudioFile` |\n| `showDownload` | `boolean` | No | `false` | Show a download button in the recording info bar |\n| `className` | `string` | No | `\"\"` | CSS class applied to the start recording button |\n| `visualizerClassName` | `string` | No | `\"\"` | CSS class applied to the visualizer container (defaults to `max-w-lg` if empty) |\n| `style` | `React.CSSProperties` | No | — | Inline styles applied to the root container |\n\n### UI States\n\n| State | UI |\n|-------|-----|\n| **Idle** | Purple-to-blue gradient start button with microphone icon |\n| **Recording** | Live waveform visualizer + recording info bar (duration, chunks, format) + Stop/Pause buttons |\n| **Paused** | Stop/Resume buttons (visualizer hidden), recording info bar persists |\n| **Processing / Converting** | Blue spinner with progress percentage and status message |\n| **Microphone Error** | Red error panel with \"Check Again\" button |\n| **No Audio Detected** | Orange warning with troubleshooting checklist |\n\n### Recording Info Bar\n\nWhile recording, a status bar displays:\n- **Duration** — Current recording time in `M:SS` format\n- **Chunks** — Number of audio chunks processed so far\n- **Format** — Current output format (RAW or WAV)\n- **Silence Removal** — Indicator when enabled\n- **Download button** — Appears after recording when `showDownload` is `true`\n\n### Server Integration Example\n\n```tsx\n// Client-side: send chunks to your server\nconst sendAudioToServer = async (\n  audioData: Float32Array,\n  sequence: number,\n  isFinal: boolean,\n  sampleRate: number\n) => {\n  const formData = new FormData();\n  formData.append('audio', new Blob([audioData.buffer]), 'chunk.raw');\n  formData.append('sequence', sequence.toString());\n  formData.append('isFinal', isFinal.toString());\n  formData.append('sampleRate', sampleRate.toString());\n\n  const response = await fetch('/api/process-audio', {\n    method: 'POST',\n    body: formData,\n  });\n\n  return response.json();\n};\n```\n\n```javascript\n// Server-side (Node.js example)\napp.post('/api/process-audio', upload.single('audio'), async (req, res) => {\n  try {\n    const { sequence, isFinal, sampleRate } = req.body;\n    const audioFile = req.file;\n\n    // Forward to Nuxera API or your own transcription service\n    const transcriptionResponse = await fetch('https://nuxera.cloud/v1/transcribe', {\n      method: 'POST',\n      headers: { 'Authorization': `Bearer ${YOUR_API_KEY}` },\n      body: createFormData(audioFile, { sequence, isFinal, sampleRate }),\n    });\n\n    const transcription = await transcriptionResponse.json();\n\n    res.json({\n      success: true,\n      transcription: transcription.text,\n      sequence: parseInt(sequence),\n    });\n  } catch (error) {\n    res.status(500).json({ error: error.message });\n  }\n});\n```\n\n### Features\n\n- **Chunk-based streaming** — Configurable chunk duration for real-time streaming or batch processing\n- **Multiple output formats** — Raw `Float32Array` data or processed WAV files\n- **Silence removal** — Optional FFmpeg WASM-based silence detection and removal\n- **Pause/Resume** — Pause recording without losing accumulated audio\n- **Device selection** — Microphone selector dropdown when multiple devices are available\n- **Live visualization** — Animated waveform display during recording\n- **Download support** — Optional download button for the recorded audio file\n- **Audio level monitoring** — Real-time audio input level detection\n- **Self-contained** — Embeds its own styles and audio processing workers\n\n---\n\n## AudioVisualizerImproved\n\nThe animated canvas visualization rendered by `AudioRecorder` and `AudioCapture` while recording — a circular frequency spectrum with particle effects, falling back to an idle animation when there's no signal.\n\n### Overview\n\nIt's exported on its own so a host that drives capture through the headless [`useAudioRecorder`](#exports) hook can show the same visualization without adopting a recorder component's UI. It only reads the stream you hand it — it never starts, stops, or holds onto capture.\n\n### Basic Usage\n\n```tsx\nimport { useAudioRecorder, AudioVisualizerImproved } from 'sera-ai';\n\nfunction Recorder() {\n  const recorder = useAudioRecorder({ apiKey: 'your-key', speciality: 'general' });\n\n  return (\n    <div>\n      <AudioVisualizerImproved\n        mediaStream={recorder.mediaStreamRef.current}\n        isRecording={recorder.isRecording && !recorder.isPaused}\n        className=\"h-48\"\n      />\n      <button onClick={recorder.startRecording}>Record</button>\n    </div>\n  );\n}\n```\n\n### Props Reference\n\n| Prop | Type | Required | Default | Description |\n|------|------|----------|---------|-------------|\n| `mediaStream` | `MediaStream \\| null` | Yes | — | Live capture stream to analyse. `null` runs the idle animation. |\n| `isRecording` | `boolean` | Yes | — | Drives the spectrum vs. idle animation. Pass `false` while paused. |\n| `forceLight` | `boolean` | No | `true` | Ignore the host's dark mode and always render the light theme. |\n| `className` | `string` | No | — | Classes for the outer container — this is where you set the size. |\n| `background` | `string` | No | — | Surface painted behind the animation: any CSS color, or `'transparent'`. Omit to follow the host's light/dark theme. |\n\n### Theming the surface\n\nBy default the visualizer paints an opaque disc — white, or near-black when the host has the `dark` class on `<html>` and `forceLight` is `false`. Hosts on a theme of their own should say so explicitly:\n\n```tsx\n{/* Match a fixed dark panel */}\n<AudioVisualizerImproved background=\"#0A0A0A\" mediaStream={stream} isRecording />\n\n{/* Or draw straight onto whatever is behind it */}\n<AudioVisualizerImproved background=\"transparent\" mediaStream={stream} isRecording />\n```\n\n`'transparent'` gives the canvas an alpha channel and stops both the canvas and the disc behind it from painting, so the animation composites over the host's own background.\n\n### Notes\n\n- **Dark mode** follows the `dark` class on `<html>`, and only when `forceLight` is `false`. `background` overrides both.\n- **Tailwind consumers:** the container uses Tailwind utility classes. Tailwind v4 doesn't scan `node_modules`, so add `@source \"../node_modules/sera-ai/dist\";` to your CSS entry if those classes aren't already generated by your own markup.\n- **Audio graph lifecycle:** it opens one `AudioContext` over the stream while recording and closes it when recording stops or the component unmounts — safe to mount for the lifetime of a long-running page.\n\n---\n\n## Shared Types\n\n### PatientDetails\n\n```typescript\ninterface PatientDetails {\n  id?: number;\n  name?: string;\n  gender?: string;\n  dateOfBirth?: Date | string;\n  age?: number;\n}\n```\n\n### ClassificationInfoResponse\n\nReturned in the `onTranscriptionComplete` callback of `AudioRecorder`:\n\n```typescript\ninterface ClassificationInfoResponse {\n  speciality: string;\n  generatedAt: string;\n  classifiedInfo: {\n    [sectionName: string]: string[];\n  };\n}\n```\n\n### APIResponse\n\nGeneric API response wrapper:\n\n```typescript\ninterface APIResponse<T = any> {\n  success: boolean;\n  data?: T;\n  error?: string;\n  message?: string;\n}\n```\n\n---\n\n## Medical Specialties Supported\n\n- `general_practice`\n- `cardiology`\n- `emergency`\n- `in_patient`\n- `radiology`\n- `pathology`\n- `surgery`\n- `pediatrics`\n- `psychiatry`\n- And more...\n\n## Browser Requirements\n\n- Modern browsers with Web Audio API support\n- HTTPS required for microphone access (except localhost)\n- Microphone permissions required\n- Recommended: Chrome 88+, Firefox 85+, Safari 14+\n\n## Exports\n\n```typescript\n// Components\nexport { AudioRecorder } from 'sera-ai';\nexport { AudioDictation } from 'sera-ai';\nexport { AudioCapture } from 'sera-ai';\nexport { AudioVisualizerImproved } from 'sera-ai';\n\n// Hooks — headless recorder for hosts that bring their own UI\nexport { useAudioRecorder } from 'sera-ai';\n\n// Types\nexport type { AudioRecorderProps, APIResponse, APIOptions } from 'sera-ai';\nexport type { AudioDictationProps } from 'sera-ai';\nexport type { AudioCaptureProps } from 'sera-ai';\nexport type { AudioVisualizerImprovedProps } from 'sera-ai';\nexport type { AudioRecorderHookProps, UseAudioRecorderReturn } from 'sera-ai';\n```\n\n## Support\n\nFor issues and feature requests, please visit our [GitHub repository](https://github.com/Nuxera-AI-Team/sera-ai).\n\nFor API keys and enterprise support, contact [support@nuxera.com](mailto:support@nuxera.com).\n\n## License\n\nMIT","readmeFilename":"README.md"}