{"_id":"@revrag-ai/embed-react-native","_rev":"32-ed7032b60e1f7e052229a80f42600bd0","name":"@revrag-ai/embed-react-native","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.5":{"name":"@revrag-ai/embed-react-native","version":"1.0.5","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevRag AI","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.5","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/RevRag-ai/embed-react-native#readme","bugs":{"url":"https://github.com/RevRag-ai/embed-react-native/issues"},"dist":{"shasum":"1f9d4f990ca753af5f2c0f5bdf3a3d3a67145972","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.5.tgz","fileCount":45,"integrity":"sha512-8bPDh8ORRlkqlpyYblbLi1A57OiLsK1p8j6AMWFHekLtmrA2/7F5FzDmQVQGEiSjWFX6e2vfnerVTQSP+kM2HA==","signatures":[{"sig":"MEUCICJdwtviPvMfwOpmQI2VLuxBmp3kLb4UXUelY4/f5py9AiEAuJL4ooY6jAx+SSLuxAvOIZzJGtIsH4PUP2X3bLwxJk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107434},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","import":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"a95b48fcc4dd4fe11120878af63da92c5ee734cc","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"yarn manual-build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","manual-build":"node manual-build.js","publish:beta":"yarn clean && yarn manual-build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && yarn manual-build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","publish:alpha":"yarn clean && yarn manual-build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"yarn manual-build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/RevRag-ai/embed-react-native.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"Voice Agent SDK for React Native - AI-powered voice communication with real-time speech processing","directories":{},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"codegenConfig":{"name":"OnwidSpec","type":"modules","android":{"javaPackageName":"com.onwid"},"jsSrcsDir":"src"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./lib/typescript/src/*","./lib/index.d.ts"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.5_1748531367127_0.17889529038867003","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.50.3","languages":"kotlin-objc"}},"1.0.6":{"name":"@revrag-ai/embed-react-native","version":"1.0.6","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevRag AI","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.6","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/RevRag-ai/embed-react-native#readme","bugs":{"url":"https://github.com/RevRag-ai/embed-react-native/issues"},"dist":{"shasum":"a75a36cf0a4f9f72831937de5832f22adda34663","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.6.tgz","fileCount":66,"integrity":"sha512-7fWUOeBDsA+TSeXzMLdoU6v4/wvuDrPH0VHN4LPA91xNzGTokqMm0CR8pNNDybyb15GCU1F4Qky/a2snh1iSsA==","signatures":[{"sig":"MEYCIQDDHg+wP3cmv72M+jd0+FIo7wJGW8O48C0gROAzmKConAIhAMth25akqqE92yMgZMi0iFrLgIHWYuk37cQP+XoUZOo9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293555},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/index.d.ts","module":"./dist/module/index.js","exports":{".":{"types":"./dist/typescript/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"a95b48fcc4dd4fe11120878af63da92c5ee734cc","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/RevRag-ai/embed-react-native.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"Voice Agent SDK for React Native - AI-powered voice communication with real-time speech processing","directories":{},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"codegenConfig":{"name":"OnwidSpec","type":"modules","android":{"javaPackageName":"com.onwid"},"jsSrcsDir":"src"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.6_1748533436138_0.9819569809423612","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":[["commonjs",{"configFile":true}],["module",{"esm":true,"configFile":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.50.3","languages":"kotlin-objc"}},"1.0.7":{"name":"@revrag-ai/embed-react-native","version":"1.0.7","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.7","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"4ee2504dc999beaa4eef7177352509edd28be844","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.7.tgz","fileCount":59,"integrity":"sha512-w5TJjmMcWCQC3q64pQrs+FTf1vUCoKc1qUerv6B6hhck2XRdUzDZJLuAvHWjnz4oYCodwkdllf5sEZY8CDJ5qg==","signatures":[{"sig":"MEUCIClQ9WU7pO0eTH6P5LcWXQ6dHZBIxNLgY81elbQ1HSHjAiEAp2tOOBKLCZ06LF+RYabUa/TbjKP5D1kzV2HZ0TilXqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158376},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/commonjs/src/index.d.ts","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./lib/typescript/commonjs/src/index.d.ts","import":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"3ecb8018930fc79e418430464b3064cc547c3460","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"Voice Agent SDK for React Native - AI-powered voice communication with real-time speech processing","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./lib/typescript/commonjs/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.7_1748874190008_0.613192120464831","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"esm":true,"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.8":{"name":"@revrag-ai/embed-react-native","version":"1.0.8","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.8","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"c362e2815b278002d78b32765232241a6cdf5e3a","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.8.tgz","fileCount":59,"integrity":"sha512-iZEjl31ke8DRs4+FTbgvVXKS01BCoCax0xIHoKVegMANLdJf6GHMbmypYum7SUlUVE7jCV8zEzO85ZfQks99sw==","signatures":[{"sig":"MEYCIQD90QoKHI83xOToaAGSsDoTQ1jgvDcZ0svqA1TZZKPjaAIhAIrsPtpGvMWrYfr512/lwXKmQBfkV9BQoFKolPofYOnp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167352},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/commonjs/src/index.d.ts","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./lib/typescript/commonjs/src/index.d.ts","import":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"a2c60e39b93b4ab855d055c079f672751e00ca4b","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./lib/typescript/commonjs/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.8_1748876694567_0.40609882425933774","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"esm":true,"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.9":{"name":"@revrag-ai/embed-react-native","version":"1.0.9","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.9","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"e2a468eecfead2de8d21881edbc2c257f3355f39","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.9.tgz","fileCount":57,"integrity":"sha512-rt37L6rgcv0sGNlAfI6Ui1yRPGDjXrEfDHXZMf28P6Iw3KUn9lPv1GSHUOwOF/bvXda1/dKDt0GuQhv9Vo78uQ==","signatures":[{"sig":"MEUCIQDnx+GWVDySdO/FZoGHjO6qxtfn81SpzkvZKHxQIy2LfwIgFZkiJvQktEPhSLmMSyUAUjkJafyrZ1S/aqgHnXIshh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167214},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/src/index.d.ts","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"import":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"1db6ddc4876b34c85939d0cd2db1feb3bae3c207","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./lib/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.9_1748938144209_0.9663982097462247","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.10":{"name":"@revrag-ai/embed-react-native","version":"1.0.10","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.10","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"c32183615d6337c92a4744dbe9e0e2d9295f210f","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.10.tgz","fileCount":57,"integrity":"sha512-WGybEm6iqUFVzKFIP0WaQJbplbXlQSLSuwx70d8LMSwfBkNoEaAb1oYoYwXL7pP/uZ16HOpj4zbiw7dlpSdBaw==","signatures":[{"sig":"MEUCIQCV/6qcgoDruoc7dWgqHXAE65fgKx/0Xm/x7F/fMbDq9AIgX/eTxnAM9OXLqb1EVxFvysx+ve2b7Y3USpGJzBkPOVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167284},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"aa394a7ccc9cbb23051bea8fbf089ba358d63201","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.10_1748938699149_0.41883022984702256","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.11":{"name":"@revrag-ai/embed-react-native","version":"1.0.11","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.11","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"18a5e00abbdd524c595d09ac91af62806d30ccda","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.11.tgz","fileCount":127,"integrity":"sha512-/LwmbEu3wuxLFObsgKUhntS7IqiYxFZUE3kHjlaeK7WnaAIaQRu65Bznei8p1o/xu+haWxGTXvBAdt1e2Mgaqw==","signatures":[{"sig":"MEUCIQCC41nrTiRHcSx7khu5N2yjav6BNq4mUGc0wpKLUmxb+QIgKEDla8HI18niHQe8XQEULlTKxjZnA3XeT9ZkXVoW2sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306360},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"05f79026f93a3ad3c7edfeddfccdf9646967c48d","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.11_1748939527032_0.5263457657518582","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.12":{"name":"@revrag-ai/embed-react-native","version":"1.0.12","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.12","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"2feb3a759f78d2fb955b036e46ac91f250333a75","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.12.tgz","fileCount":133,"integrity":"sha512-/tCChMA09ypcEbLhAHE0xdkPdRzkaNsD1r1I2oYs5+UAFOmcBml3vrwOX3biPdIMXQQy+m5zbxdSGSuFvHW1TA==","signatures":[{"sig":"MEUCIQD+OUZrXNwJZtcBxokH8spwJ29knzO6OgjCpL4tbu2n5wIgaWjS+ncfumfcR+MRHFP1gJqgrJQwQAcTck5Y9DdojSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319378},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"9eeea52a55159dadfa6e46d2df3d9430f372a2d5","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.12_1748947420986_0.37879967447136353","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.13":{"name":"@revrag-ai/embed-react-native","version":"1.0.13","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.13","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"c6ec75977f3f9138b9c7d72068074b42ae328e07","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.13.tgz","fileCount":133,"integrity":"sha512-I7TIhAkd4ZzxtQltJnCa3n1OIZqWORiU9wdhgKqRqXi9L/rdbOpuq19u91Xhf3wWcY6T2pxf52WNIzEJix3z7g==","signatures":[{"sig":"MEQCIGe9zVICdgJCmAFagocDS9ZnlSHHex84o0S5h6Me8iepAiA15GSx4za72F3fgnPj07tEpKRc9yHXGUiqCLF2q576qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311671},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"25501d491b5a3946ccaf0ac7eda340abdce8b7df","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","actor":{"name":"revrag-ai","type":"user","email":"contact@revrag.ai"},"email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.13_1750400999215_0.5409143686643061","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.14":{"name":"@revrag-ai/embed-react-native","version":"1.0.14","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.14","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"8c3e36104226dea1bb3b9d80c30e311b89451690","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.14.tgz","fileCount":139,"integrity":"sha512-n/6w5i16gZ5+0d8ig2MmWCGJdTFERv244UunUg7za2gVLtiQUfdeLEJJHOKtEmAyWEeEaznWgFmhbPMHtlwCEw==","signatures":[{"sig":"MEQCIBCZJLAy110K75hLgVUZIodPU2VpBxTDG2CFvZNY/50NAiA4CqXnSnSdinilQcVbCFNSyxoTqVDHGEKuBNaUz1TCrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355920},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"7316f9c242287fafbb927cf38ad0d2efaed9233d","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","actor":{"name":"revrag-ai","type":"user","email":"contact@revrag.ai"},"email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.14_1751532773039_0.6721951256536853","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.15":{"name":"@revrag-ai/embed-react-native","version":"1.0.15","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.15","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"b9d5f00691844bd89c65bdd2be603abc49cb9dcc","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.15.tgz","fileCount":139,"integrity":"sha512-yCBVgL+NExN2sG9lLbQBqjg+3jtYn5Ua9wt0C389NyTb8YWVUxFcwx/blcsfX4ikjx92IkiqWu/XFY71/cdpaA==","signatures":[{"sig":"MEUCIAOWx+b77qzsT1gc0h2iRDAeOPGSgPPYid1gjqckClkhAiEAuR/PZWbPyDnYi/G9nHYLNJT8ddrlxQw4qT9kVlWq/ms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356597},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"086e756d601438fc4c4d91fca824b7090cc3da11","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","actor":{"name":"revrag-ai","type":"user","email":"contact@revrag.ai"},"email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.15_1751961674807_0.863663851445241","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.16":{"name":"@revrag-ai/embed-react-native","version":"1.0.16","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.16","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"60180d182782dcd43f7e9530c3e2ac813dbb8fbf","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.16.tgz","fileCount":145,"integrity":"sha512-abogSz/jpx0UMo0I1Hul3qyAHnQlVWQiuSuZqFKC3JHbYP9YthChCzD+rOq+1t/geRZObz2xQAm89wihJjiR0Q==","signatures":[{"sig":"MEUCIAS7CVeS22JYb1HbuvR0hJtRm61pMgLJBzNd3ykJj4XlAiEA7kUIzX0y+4oXxJKUeYKjtaZZv394WNeqFTeqgvfLhD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380529},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"16e3396d7ae5139a5bf75c1828586e27e4340050","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.7","dependencies":{"livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","events":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.16_1758014956155_0.349060422481567","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.17":{"name":"@revrag-ai/embed-react-native","version":"1.0.17","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.17","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"2db0a56ec8ccf5abda570a50c171649433213707","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.17.tgz","fileCount":169,"integrity":"sha512-HRYVctQkvcp9kCLlDC1GBk4YzkEBi2Kk6RhJGSPqkK8f+tCJ7r7hXelgoYMFQopAbAaKHAPPY0P1Q+4t9+P+bQ==","signatures":[{"sig":"MEUCIBM+La0oghBT006cA5HnayD0FQpOWmRoJuJ4TeV3tI5XAiEAvju6tMr54hEBuVTllnG8lYuTPsX1SkMQWym1UYXeXrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":509241},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"1a625189c235ba8563e9bc0366696db04b7ae4a1","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it --only-version","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","prepublishOnly":"bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"^3.17.5","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"^2.25.0","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.17_1766394266471_0.9150715971942658","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.18":{"name":"@revrag-ai/embed-react-native","version":"1.0.18","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.18","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"122d6002ffdeb1c4defd05673edad10d582e6640","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.18.tgz","fileCount":193,"integrity":"sha512-zvnY8QNz8srelEis+EBYSED99miVBI+g/CydgJPadAi85bk5F9Om10svi0E1yAMLOFQQ+CsSQdawMsa9TaivgA==","signatures":[{"sig":"MEUCIQD30P/muFQBe5vrhMAwFpp9dulwbFWo3bVsscuXefsj+gIgHb0Tud5oxFTZGB8QvEwJEMOb9noDF9Os8hZc0+i8++M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533419},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"1ed44539438a15edb29781c7dacf7aba0784c394","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.18_1767012012477_0.35392099935215127","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.19":{"name":"@revrag-ai/embed-react-native","version":"1.0.19","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.19","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"4ec141cbdc1010a070bc2fcde3de503afe47d53d","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.19.tgz","fileCount":193,"integrity":"sha512-1DUxj4rHHzA0NoYUbbe46p7vofwcNzJGztiY7a7GNWGcEkDIcYexX1fMRGK7rCakFY5Tapx7uq/85MxChgHH1w==","signatures":[{"sig":"MEUCIQDSmBpMjr1WUlhozyIkGQDuKnTX3WVBl7zWERJBV+enDAIgXKm7VUmfkYJ7gEHSjRyVlBugfCXM+CXCMkds9ze1u/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533419},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"1ed44539438a15edb29781c7dacf7aba0784c394","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.19_1767012222441_0.3322195532041412","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.20":{"name":"@revrag-ai/embed-react-native","version":"1.0.20","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.20","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"6ff1924a4831f498ff232a10bd6d0772dd6c2f44","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.20.tgz","fileCount":193,"integrity":"sha512-WglCl6dzGq63kHtaq8JF/jfvm0cIdlx+LgURo5+8Wz0It/NGEqiGJS4IcMlojgsDeOWoPojeYDvPhZSx5kJ9Ww==","signatures":[{"sig":"MEYCIQDHFQj0nQQq0EMYeS6WisCCLcrGZ9bnvM9NvX5HyF18RAIhANTT5Ozp+1MEmIxjam+ssbcNL5XqYAowJnAF0uIhyIDp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535562},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"1ed44539438a15edb29781c7dacf7aba0784c394","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.20_1767078466250_0.04730985270199706","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.21":{"name":"@revrag-ai/embed-react-native","version":"1.0.21","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.21","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"548c8e64720f3e293c4cf51891917104ac1a4a50","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.21.tgz","fileCount":193,"integrity":"sha512-NCAaDojIvVzmPHr05bnn0ee7QsH+eq+FQKOmkvK1aeoZUA7a6G1m0k/dkv3QLtPxxemQhc26dT3W3i0ls8cQ3Q==","signatures":[{"sig":"MEUCIQDOxYNhbkBLrVrgFqjprZDmyjOf0ik+MTn+E9qxCx0dwgIgW/m/3z9L4VDu/0icDl4lDGNdMAh7lwqCbjwkX5k29UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535030},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"adff78ea1af23ffe318a8ae670c8ea0f660779c0","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.21_1767788674133_0.6209491871936199","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.22":{"name":"@revrag-ai/embed-react-native","version":"1.0.22","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.22","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"63414b2ca20b5954e894bc67fc179bf8b0b0cda0","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.22.tgz","fileCount":193,"integrity":"sha512-q2MX7f9nlaI06OrRlGPbDL3T+QJ3gGbH/iZl4zVgfcVr/fOzlIkNR91ntm3q9JTJsVGJVy9HbQmhidA62mjSCA==","signatures":[{"sig":"MEUCIQCMfAtVXbuA89rYtYA3WvlHTUWCynwYjXg5cDTcl7H2UgIgXlsH6WUw+Nf8EChIIL10khosWtydRK9Xqg6f0Q02OJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535030},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"adff78ea1af23ffe318a8ae670c8ea0f660779c0","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.22_1767788763890_0.06418610613271003","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.23":{"name":"@revrag-ai/embed-react-native","version":"1.0.23","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.23","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"15430112641a37ea065c14bee88ef5f6089a0f06","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.23.tgz","fileCount":193,"integrity":"sha512-JKEdn7+/Kmoz5KFS+QJ0/BMUBAwbrFBoleXxDpfprgVeCo9+TFlnUdg2iDoOcpw6M3lyI0p8fBMwNWDEHkDmHA==","signatures":[{"sig":"MEUCIQCdMXzOsE6Fgnz6hTNeP0j846J8viAIg6VTdbrcbtAEVQIgdC7aGwLhmEK/OYQ5M+5G8brW4UvPyxqr4GU9Bcln+8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535030},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"adff78ea1af23ffe318a8ae670c8ea0f660779c0","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.23_1767788845914_0.07124873893049832","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.24":{"name":"@revrag-ai/embed-react-native","version":"1.0.24","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.24","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"37f6fe8427f31a28c25bf760d09125a6f9c41526","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.24.tgz","fileCount":193,"integrity":"sha512-EHj9bsV069W35s7fAzlerccfrmC+WMwC+wldNva3czQOPdRqvMh82sQlgnQMKpppfamVdEtNLHOhyZKDnmPMaw==","signatures":[{"sig":"MEUCIQCTP41rcwk3PX7MpZhpPvdpKn4ROmFGsrIZyRsNU8/FQAIgaUHZFJiAKde0sfFSw3kL90NnWMBiDmsp0iVqZKYkGbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534998},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"adff78ea1af23ffe318a8ae670c8ea0f660779c0","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.13.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.7.4","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^125.0.9","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.24_1767874086862_0.7903046404387357","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.25":{"name":"@revrag-ai/embed-react-native","version":"1.0.25","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.25","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"423a9071cae0d0873d826a52f7dd09f5e2dbc1c3","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.25.tgz","fileCount":197,"integrity":"sha512-iWltx+Rliic6kFzwmVBvsMpukgkFjBHRx+dKCLCrPBlmeCB0OMfs1YmDEFtDK+PFEEcbJuERaIWIah7zPkulEQ==","signatures":[{"sig":"MEUCIQDkyeROAMemY67LCzTMEklKT7snlSCXiRNSp49XGm4vhQIgBRTQBXG1pEtyvzSQwWra1P2e1j+1cnGsvG5TD5u5KxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556026},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"2347813cb5555d2e675aa5d40d1e2b8141fe87c3","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.25_1767961945267_0.2191998009138283","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.26":{"name":"@revrag-ai/embed-react-native","version":"1.0.26","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.26","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"bf2396f36449183281e4a36d9ee5f6c1be19d71f","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.26.tgz","fileCount":193,"integrity":"sha512-T1vSudoaWaqD9lKunvVy1FixTH8j/OYQczO/Gi9RS2T408K4VvCBZNyDzHDcunqTvG2D/kvdt8+NZwUTVq7ohg==","signatures":[{"sig":"MEUCIQC7q/NkbhsrKzBzThvbM18tPmQCI1JYuNF6xRuH8kMZFQIgM9ZZYtx11Ql8WGuULsPIA3wqplY2S8ULSaBXXt13dWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553668},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"2347813cb5555d2e675aa5d40d1e2b8141fe87c3","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.26_1767963425688_0.10179865882293959","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.27":{"name":"@revrag-ai/embed-react-native","version":"1.0.27","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.27","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"01e5245116f85e226b312e55b73ec064b6f5c020","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.27.tgz","fileCount":193,"integrity":"sha512-FejoKk/YuYkDfTo36rfZCmuRJlusWuJYWHxoHPHstnfJoFl0XAwj6MDYzOZeSKPWh9xxYivHQFfmoQH3fpb5jQ==","signatures":[{"sig":"MEUCIQD/dUhBnxhvwu8/zcU/PzFO5ExH/mONp+PsgFySvWSxugIgN1UQ7VW7TOZOW0pXrUSr7YxTZueWEG0kNtUKWLa1gYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559304},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/dist/"]},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"2347813cb5555d2e675aa5d40d1e2b8141fe87c3","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.27_1768219302163_0.8779377108874968","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.28":{"name":"@revrag-ai/embed-react-native","version":"1.0.28","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.28","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"6372cb81ede004f1fec8e0398292b3ff8401fba7","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.28.tgz","fileCount":225,"integrity":"sha512-+yhr3dMDX08qiM3QAQPsLemlyOPRjCtnCWfGXqVlY3GgbepI0q+hNQ1+f3ye39RiqJamS6jCtOsMEHT/iLG4IQ==","signatures":[{"sig":"MEUCIQDBeD6sbcEpRxL67w9mlaVhvXCFEB2QyMPv7HKUGl6EPAIgOyz0I6zSKREA9tN+PvHvjriipYRSeGpylI9Rqb6zQao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3609535},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"f8847e3121eb3a5961c4297f0216fe677e393468","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.28_1772020451553_0.8876850182030918","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.29":{"name":"@revrag-ai/embed-react-native","version":"1.0.29","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.29","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"cde4a0f1ba67302f726114e259c8e9aca7b9ff56","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.29.tgz","fileCount":225,"integrity":"sha512-YIzyRxeWKqCw2mTJzOoLL9OX3YifNghIgOK4OuNO7wu1Amfpvjrd8RqCLSm6AHKQ2WQBHUMmqIA10UzdDW1hLg==","signatures":[{"sig":"MEYCIQC2MKVKXR9Po+hiyHo54HSVCTH39ZJNzQKcRiuHGeOJOwIhAJQMYQfnWOOmJO4GMHUBEg7gcnZzjDgqRO+FkSavxUvz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3609763},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"f8847e3121eb3a5961c4297f0216fe677e393468","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.29_1772022170549_0.041174527713632836","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.30":{"name":"@revrag-ai/embed-react-native","version":"1.0.30","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.30","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"4191701b4a3912fac8a359a2e9267f23446f5bd1","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.30.tgz","fileCount":225,"integrity":"sha512-Wpa1Hnl0bBxp3ll6AtfZj30pNwrGamimFvdChgbEb8BeeXe01oV6K9UmWM30DaSkC6AapfMWyjE+4JlmN8DI+A==","signatures":[{"sig":"MEUCIQCFBdk0NcerYQlTOAhPekdj2o37jL0OK6H56AP0KlToVgIgZWYftvxlZMLxLfyzm48IyjhstOrtGHLii99LTzr7rSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3609763},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"f8847e3121eb3a5961c4297f0216fe677e393468","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.30_1772022232153_0.1896435006209103","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.31":{"name":"@revrag-ai/embed-react-native","version":"1.0.31","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.31","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"3f22420348409774d7ba69954f0b6ca11576532c","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.31.tgz","fileCount":225,"integrity":"sha512-Y8Qh+4SSitRFMMV5eEZPQOD8aLq88uAVIyec7dZT0NIljerHm0RbaQq/o0hUgqhC5U5nshnk7LAN3tWyCJc2Qw==","signatures":[{"sig":"MEUCIQC3k7tUf4Dxdbtcn7hwrTXd/nz1IDWvFAxeT/eznubnxgIgUWxV70tx51D28HCdhb2YiXakx7muh+JLZW+LpYoLDyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3610839},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"d2f8755d76dc4175f03730dde048bca168ed1599","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.31_1772693962627_0.034767115510378144","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.32":{"name":"@revrag-ai/embed-react-native","version":"1.0.32","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.32","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"a914485703e035b899c47d356cf0b40d03a60552","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.32.tgz","fileCount":225,"integrity":"sha512-6DTgKv27uMBiv5ENsLUt04W7/3EDBTxbzrRt8I3MkOoxhFYKS+89Si9PNPilDqypT462afDjuUoRLRIgxuxr4g==","signatures":[{"sig":"MEUCIQDkkcmnw2yJKPPH1/ccr8gOe82WfXgsmGsuP5uhpGaC5AIgbYS0d+5i1s/8HKCrbOd8YT2h6ARWEHXyLDP/hR3lJ10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3642880},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"c38902373a47805abdac2fcb2b421f0aec15bc66","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.32_1773052661197_0.9615700758435908","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.33":{"name":"@revrag-ai/embed-react-native","version":"1.0.33","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.33","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"66283a0d09f2f43dba8c92fcf934a26dee43ac0b","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.33.tgz","fileCount":227,"integrity":"sha512-x6kQ4xbde3gD5FzQz3z0ef1lZ7jbhdUJIBd0mWQ0OqLZToqH2q4U0igth4u5Q/EGIVffBya2ShO8efX8npFrZw==","signatures":[{"sig":"MEUCIQCq9hQN1bwFkz9+/n96ypl3gBfnuM+yy1vI7Wj3ju6VoAIgeMH8HNfzqP+Im6rqw1o6qOAMhv/oHvkFaxEh03Zl+m0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3653696},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"c38902373a47805abdac2fcb2b421f0aec15bc66","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.33_1773300284144_0.7922071815216258","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.34":{"name":"@revrag-ai/embed-react-native","version":"1.0.34","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.34","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"acb8af5252b7f0eb8d0fbeb46d1c27b783e4e24e","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.34.tgz","fileCount":227,"integrity":"sha512-GR9ofXtSl88xsYiKudmKaiwMa38ZcCfzHv2HGdN0ZDfcEso7kVqjLXkZ8iUGsD02ukRcOa3clYlWFh4Guz1Ktg==","signatures":[{"sig":"MEYCIQCRDEZp9emq1JFJIDotNOgxuzvtH0Gmg/rgyFQIcbffWQIhAKPm//WcM8eAKpMQ1Xh/XZzsiPNCVNOu2TkYaZVtt3BL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3670863},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"424a994edf54474f677cef7fad58cf7cbf8e34aa","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","publish":"yarn precheck && yarn publish:safe","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.34_1774507814509_0.390782100307419","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.0.35":{"name":"@revrag-ai/embed-react-native","version":"1.0.35","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"author":{"url":"https://www.revrag.ai","name":"RevragAi","email":"contact@revrag.ai"},"license":"MIT","_id":"@revrag-ai/embed-react-native@1.0.35","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"dist":{"shasum":"3dd080db907b949014b0e42b0cce9d6f0ff4a260","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.0.35.tgz","fileCount":245,"integrity":"sha512-loacy7ie9AmKG9qiFrc9SyLFy4GF/xqdLvIjRn4I2jxhUMIprSjrxEp5vy5k7IkcGnVjlsq8aipEEIMIh6Rc4w==","signatures":[{"sig":"MEYCIQCuLfCP1zTteXV8Ps84wTwHMlFC0cRuQtcUoNgqBajsqwIhAK5HRJLghBI9u/1tULefTravNZ6pNDduQWGhMjCgEbLQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3786146},"main":"./dist/commonjs/index.js","types":"./dist/typescript/src/index.d.ts","module":"./dist/module/index.js","source":"./src/index.tsx","exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","default":"./dist/module/index.js","require":"./dist/commonjs/index.js"},"./package.json":"./package.json"},"gitHead":"ce8d3a381b7fe68b0de079dc15b96c9d7113bdc4","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","build":"bob build","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build dist","fix-js":"node fix-js-files.js","example":"yarn workspace embed-react-native-example","prepare":"bob build","protect":"node -e \"const crypto = require('crypto'); const fs = require('fs'); const config = { hash: crypto.randomBytes(32).toString('hex'), createdAt: new Date().toISOString(), note: 'Protected build', version: require('./package.json').version }; fs.writeFileSync('.onwid-security.json', JSON.stringify(config, null, 2)); console.log('✅ Code protected');\"","release":"release-it","precheck":"yarn lint && yarn typecheck && yarn test","typecheck":"tsc","docs:check":"echo '📚 Documentation files:' && ls -la *.md && echo '✅ Documentation is up to date'","publish:beta":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag beta","publish:full":"yarn precheck && yarn publish:safe","publish:safe":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","docs:validate":"echo '🔍 Validating documentation...' && node -e \"const fs = require('fs'); const files = ['README.md', 'API.md', 'EXAMPLES.md']; files.forEach(f => { if (!fs.existsSync(f)) throw new Error('Missing: ' + f); }); console.log('✅ All documentation files present');\"","publish:alpha":"yarn clean && bob build && yarn fix-js && yarn protect && npm publish --access public --tag alpha","release:major":"release-it major","release:minor":"release-it minor","release:patch":"release-it patch","prepublishOnly":"yarn clean && bob build && yarn fix-js"},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/orgs/RevRag-ai/dashboard.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.8.1","react-dom":"18.3.1","livekit-client":"^2.16.1"},"eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"],"plugins":["prettier"]},"eslintIgnore":["node_modules/","dist/"],"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","android":{"javaPackageName":"com.revragai.embedreactnative"},"jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"includesGeneratedCode":true},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","eslint":"^8.51.0","del-cli":"^5.1.0","ts-jest":"^29.4.6","prettier":"^3.0.3","release-it":"^15.0.0","typescript":"^5.2.2","@babel/core":"^7.20.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.4","@babel/runtime":"^7.20.0","@babel/preset-env":"^7.20.0","lottie-react-native":"^7.2.2","@livekit/react-native":"^2.9.6","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-reanimated":"~3.15.1","@react-navigation/native":"^7.1.26","react-native-builder-bob":"^0.30.2","@react-native/babel-preset":"0.75.4","@react-native/metro-config":"0.75.4","@react-native/eslint-config":"0.75.4","@livekit/react-native-webrtc":"^137.0.2","react-native-gesture-handler":"~2.20.2","react-native-linear-gradient":"^2.8.3","@types/dom-mediacapture-record":"^1.0.22","react-native-safe-area-context":"^4.12.0","@react-native/typescript-config":"0.75.4","@release-it/conventional-changelog":"^5.0.0","@react-native-async-storage/async-storage":"^2.1.2"},"peerDependencies":{"react":"*","react-native":"*","lottie-react-native":"*","@livekit/react-native":"*","react-native-reanimated":"*","@livekit/react-native-webrtc":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-safe-area-context":"*","@react-native-async-storage/async-storage":"*"},"_npmOperationalInternal":{"tmp":"tmp/embed-react-native_1.0.35_1776414931126_0.0876472049357302","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"dist","source":"src","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","version":"0.46.0","languages":"cpp"}},"1.1.0":{"name":"@revrag-ai/embed-react-native","version":"1.1.0","source":"./src/index.tsx","description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","main":"./dist/commonjs/index.js","module":"./dist/module/index.js","types":"./dist/typescript/src/index.d.ts","typesVersions":{"*":{"*":["./dist/typescript/src/*"]}},"exports":{".":{"types":"./dist/typescript/src/index.d.ts","import":"./dist/module/index.js","require":"./dist/commonjs/index.js","default":"./dist/module/index.js"},"./package.json":"./package.json"},"scripts":{"example":"yarn workspace bajaj-finance-example","test":"jest","screenshots":"./scripts/screenshots-to-desktop.sh","screenshots:watch":"./scripts/screenshots-to-desktop.sh --watch","cache:clear":"./scripts/pull-cache.sh --clear","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\"","clean":"del-cli android/build examples/bajaj/android/build examples/bajaj/android/app/build examples/bajaj/ios/build dist","prepare":"bob build","build":"bob build","verify-setup":"node scripts/verify-setup.js","debug-network":"node scripts/debug-network.js","precheck":"yarn lint && yarn typecheck && yarn test","prepublishOnly":"yarn clean && bob build","publish:full":"yarn precheck && yarn publish:safe","publish:safe":"yarn clean && bob build && npm publish --access public","publish:beta":"yarn clean && bob build && npm publish --access public --tag beta","publish:alpha":"yarn clean && bob build && npm publish --access public --tag alpha","release":"release-it","release:patch":"release-it patch","release:minor":"release-it minor","release:major":"release-it major"},"keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"repository":{"type":"git","url":"git+https://github.com/orgs/RevRag-ai/dashboard.git"},"author":{"name":"RevragAi","email":"contact@revrag.ai","url":"https://www.revrag.ai"},"license":"MIT","bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","publishConfig":{"registry":"https://registry.npmjs.org/"},"devDependencies":{"@babel/core":"^7.20.0","@babel/preset-env":"^7.20.0","@babel/runtime":"^7.20.0","@livekit/react-native":"^2.9.6","@livekit/react-native-webrtc":"^137.0.2","@react-native-async-storage/async-storage":"^2.1.2","@react-native-community/cli":"^16.0.0","@react-native/babel-preset":"0.78.0","@react-native/eslint-config":"0.78.0","@react-native/metro-config":"0.78.0","@react-native/typescript-config":"0.78.0","@react-navigation/native":"^7.1.26","@release-it/conventional-changelog":"^5.0.0","@types/dom-mediacapture-record":"^1.0.22","@types/jest":"^29.5.5","@types/react":"^19.0.0","del-cli":"^5.1.0","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest":"^29.7.0","lottie-react-native":"^7.2.2","prettier":"^3.0.3","react":"19.0.0","react-native":"0.78.0","react-native-builder-bob":"^0.30.2","react-native-gesture-handler":"^2.22.0","react-native-linear-gradient":"^2.8.3","react-native-reanimated":"^3.17.0","react-native-safe-area-context":"^5.1.0","release-it":"^15.0.0","ts-jest":"^29.4.6","typescript":"^5.2.2"},"resolutions":{"@types/react":"^19.0.0"},"peerDependencies":{"@livekit/react-native":"*","@livekit/react-native-webrtc":"*","@react-native-async-storage/async-storage":"*","lottie-react-native":"*","react":"*","react-native":"*","react-native-gesture-handler":"*","react-native-linear-gradient":"*","react-native-reanimated":"*","react-native-safe-area-context":"*"},"workspaces":["examples/*"],"packageManager":"yarn@3.6.1","commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"eslintConfig":{"root":true,"extends":["@react-native","prettier"],"plugins":["prettier"],"rules":{"react/react-in-jsx-scope":"off","prettier/prettier":["error",{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false}]}},"eslintIgnore":["node_modules/","dist/"],"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"react-native-builder-bob":{"source":"src","output":"dist","targets":["codegen",["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"codegenConfig":{"name":"RNEmbedReactNativeSpec","type":"modules","jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"android":{"javaPackageName":"com.revragai.embedreactnative"},"includesGeneratedCode":true},"create-react-native-library":{"type":"turbo-module","languages":"cpp","version":"0.46.0"},"dependencies":{"livekit-client":"^2.16.1","tslib":"^2.8.1"},"_id":"@revrag-ai/embed-react-native@1.1.0","gitHead":"0c47672f5fc843d5ac43e111fa09c33e25233eb2","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-QtI85MYTwCvUJ8+y/t8ORj0ahGG1i/Xf0CcJCfpwb588a64+TdpST55m0nBn/w+Fbnh2IPCk6lmYNO3etFiskQ==","shasum":"133d9d57069dcf8caaf9113a6a7ef404fbac4b9c","tarball":"https://registry.npmjs.org/@revrag-ai/embed-react-native/-/embed-react-native-1.1.0.tgz","fileCount":1028,"unpackedSize":6193752,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCYLJAxsD4qJ7v29r/ynt3PgQFarIGdxfEshdUJ3h53hQIhAPLSaoOJf4NCIMVjCPlPPHV23k+fjp5r+UA3//tEDatG"}]},"_npmUser":{"name":"revrag-ai","email":"contact@revrag.ai"},"directories":{},"maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/embed-react-native_1.1.0_1789564832561_0.14683474885489445"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-29T15:09:27.064Z","modified":"2026-09-16T13:20:33.459Z","1.0.5":"2025-05-29T15:09:27.297Z","1.0.6":"2025-05-29T15:43:56.361Z","1.0.7":"2025-06-02T14:23:10.205Z","1.0.8":"2025-06-02T15:04:54.778Z","1.0.9":"2025-06-03T08:09:04.378Z","1.0.10":"2025-06-03T08:18:19.432Z","1.0.11":"2025-06-03T08:32:07.271Z","1.0.12":"2025-06-03T10:43:41.194Z","1.0.13":"2025-06-20T06:29:59.511Z","1.0.14":"2025-07-03T08:52:53.206Z","1.0.15":"2025-07-08T08:01:15.037Z","1.0.16":"2025-09-16T09:29:16.344Z","1.0.17":"2025-12-22T09:04:26.613Z","1.0.18":"2025-12-29T12:40:12.645Z","1.0.19":"2025-12-29T12:43:42.654Z","1.0.20":"2025-12-30T07:07:46.397Z","1.0.21":"2026-01-07T12:24:34.316Z","1.0.22":"2026-01-07T12:26:04.070Z","1.0.23":"2026-01-07T12:27:26.093Z","1.0.24":"2026-01-08T12:08:07.003Z","1.0.25":"2026-01-09T12:32:25.411Z","1.0.26":"2026-01-09T12:57:05.856Z","1.0.27":"2026-01-12T12:01:42.310Z","1.0.28":"2026-02-25T11:54:11.757Z","1.0.29":"2026-02-25T12:22:50.781Z","1.0.30":"2026-02-25T12:23:52.423Z","1.0.31":"2026-03-05T06:59:22.854Z","1.0.32":"2026-03-09T10:37:41.398Z","1.0.33":"2026-03-12T07:24:44.376Z","1.0.34":"2026-03-26T06:50:14.871Z","1.0.35":"2026-04-17T08:35:31.389Z","1.1.0":"2026-09-16T13:20:32.874Z"},"bugs":{"url":"https://github.com/orgs/RevRag-ai/dashboard/issues"},"author":{"name":"RevragAi","email":"contact@revrag.ai","url":"https://www.revrag.ai"},"license":"MIT","homepage":"https://github.com/orgs/RevRag-ai/dashboard#readme","keywords":["react-native","ios","android","voice-agent","ai-voice","speech","voice-sdk","real-time-communication","voice-chat","ai-assistant","conversational-ai"],"repository":{"type":"git","url":"git+https://github.com/orgs/RevRag-ai/dashboard.git"},"description":"A powerful React Native library for integrating AI-powered voice agents into mobile applications. Features real-time voice communication, intelligent speech processing, customizable UI components, and comprehensive event handling for building conversation","maintainers":[{"name":"revrag-ai","email":"contact@revrag.ai"}],"readme":"# Embed React Native SDK Integration Guide\n\n## Overview\n\nThe Embed React Native SDK is a powerful voice-enabled AI agent library that provides real-time communication capabilities. This comprehensive guide will walk you through the complete integration process from installation to deployment.\n\n## Table of Contents\n\n1. [Installation](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n2. [Peer Dependencies](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n3. [Android Configuration](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n4. [iOS Configuration](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n5. [Babel Configuration](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n6. [SDK Initialization](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n7. [App Setup](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n8. [Event System](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n9. [Usage Examples](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n10. [FAQ & Troubleshooting](https://www.notion.so/Embed-React-Native-SDK-Integration-Guide-201b9b86659d80b38625fb72de8c8f0e?pvs=21)\n\n## Installation\n\nInstall the Embed React Native SDK using your preferred package manager:\n\n```bash\n# Using npm\nnpm install @revrag-ai/embed-react-native\n\n# Using yarn\nyarn add @revrag-ai/embed-react-native\n\n# Using pnpm\npnpm add @revrag-ai/embed-react-native\n\n```\n\n## Peer Dependencies\n\nThe SDK requires several peer dependencies to be installed in your project. Install all required dependencies:\n\n```bash\n# Install peer dependencies\nnpm install @livekit/react-native @livekit/react-native-webrtc\nnpm install @react-native-async-storage/async-storage\nnpm install react-native-gesture-handler react-native-reanimated\nnpm install react-native-linear-gradient lottie-react-native\nnpm install react-native-safe-area-context\n\n# For iOS, run pod install\ncd ios && pod install && cd ..\n\n# For iOS: register bundled fonts (run once from your app root)\nnpx react-native-asset\n\n```\n\n**Bundled fonts:** The SDK ships with fonts that work automatically on Android. On iOS, run `npx react-native-asset` once from your app root after installing so the fonts are registered in your app.\n\n### Alternative installation commands:\n\n**Using Yarn:**\n\n```bash\nyarn add @livekit/react-native @livekit/react-native-webrtc @react-native-async-storage/async-storage react-native-gesture-handler react-native-reanimated react-native-linear-gradient lottie-react-native react-native-safe-area-context\n\n```\n\n**Using pnpm:**\n\n```bash\npnpm add @livekit/react-native @livekit/react-native-webrtc @react-native-async-storage/async-storage react-native-gesture-handler react-native-reanimated react-native-linear-gradient lottie-react-native react-native-safe-area-context\n\n```\n\n## Android Configuration\n\n### 1. Android Manifest Permissions\n\nAdd the following permissions to your `android/app/src/main/AndroidManifest.xml`:\n\n```xml\n<manifest xmlns:android=\"<http://schemas.android.com/apk/res/android>\">\n\n    <!-- Required permissions for Embed SDK -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.RECORD_AUDIO\" />\n    <uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" />\n    <uses-permission android:name=\"android.permission.MICROPHONE\" />\n    <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />\n    <uses-permission android:name=\"android.permission.WAKE_LOCK\" />\n\n    <application\n        android:name=\".MainApplication\"\n        android:label=\"@string/app_name\"\n        android:icon=\"@mipmap/ic_launcher\"\n        android:roundIcon=\"@mipmap/ic_launcher_round\"\n        android:allowBackup=\"false\"\n        android:theme=\"@style/AppTheme\"\n        android:supportsRtl=\"true\"\n        android:usesCleartextTraffic=\"true\"\n        android:hardwareAccelerated=\"true\">\n\n        <!-- Your activities and other components -->\n\n    </application>\n</manifest>\n\n```\n\n### 2. Build.gradle Configuration\n\nAdd Lottie dependency to your `android/app/build.gradle`:\n\n```\ndependencies {\n    implementation 'com.airbnb.android:lottie:6.0.1'\n    // ... other dependencies\n}\n\n```\n\n### 3. ProGuard Configuration (if using ProGuard)\n\nAdd to your `android/app/proguard-rules.pro`:\n\n```\n# Embed SDK\n-keep class com.revragai.embedreactnative.** { *; }\n-keep class org.webrtc.** { *; }\n-dontwarn org.webrtc.**\n\n# Lottie\n-keep class com.airbnb.lottie.** { *; }\n\n```\n\n## iOS Configuration\n\n### 1. iOS Permissions\n\n**🚨 CRITICAL:** Add the following permissions to your `ios/YourAppName/Info.plist`. **Missing `NSMicrophoneUsageDescription` will cause the app to crash when accessing the microphone:**\n\n```xml\n<key>NSMicrophoneUsageDescription</key>\n<string>This app needs access to microphone for voice communication with AI agent</string>\n\n<key>NSAppTransportSecurity</key>\n<dict>\n    <key>NSAllowsArbitraryLoads</key>\n    <false/>\n    <key>NSAllowsLocalNetworking</key>\n    <true/>\n</dict>\n\n```\n\n**⚠️ App Crash Fix:** If your app crashes with \"attempted to access privacy-sensitive data without a usage description\", ensure the `NSMicrophoneUsageDescription` key is present in your `Info.plist`.\n\n### 2. Pod Installation\n\nAfter installing peer dependencies, run:\n\n```bash\ncd ios\npod install\ncd ..\n\n```\n\n### 3. iOS Build Settings (if needed)\n\nIf you encounter build issues, add these to your iOS project settings:\n\n- Enable Bitcode: `NO`\n- Build Active Architecture Only: `YES` (for Debug)\n\n## Babel Configuration\n\n**⚠️ CRITICAL: React Native Reanimated Configuration**\n\nAdd the React Native Reanimated plugin to your `babel.config.js`. **This must be the last plugin in the plugins array:**\n\n```jsx\nmodule.exports = {\n  presets: ['module:@react-native/babel-preset'],\n  plugins: [\n    // ... other plugins\n    'react-native-reanimated/plugin', // ← This MUST be the last plugin\n  ],\n};\n\n```\n\n**❌ Common Mistake:**\n\n```jsx\n// DON'T DO THIS - other plugins after reanimated plugin will cause issues\nmodule.exports = {\n  presets: ['module:@react-native/babel-preset'],\n  plugins: [\n    'react-native-reanimated/plugin',\n    'some-other-plugin', // ← This will break reanimated\n  ],\n};\n\n```\n\n**✅ Correct Configuration:**\n\n```jsx\n// DO THIS - reanimated plugin as the last plugin\nmodule.exports = {\n  presets: ['module:@react-native/babel-preset'],\n  plugins: [\n    'some-other-plugin',\n    'another-plugin',\n    'react-native-reanimated/plugin', // ← Last plugin\n  ],\n};\n\n```\n\nAfter updating `babel.config.js`, clean your project:\n\n```bash\n# For React Native\nnpx react-native start --reset-cache\n\n# For Expo (if applicable)\nexpo start --clear\n\n```\n\n## SDK Initialization\n\n### 1. useInitialize Hook\n\nInitialize the SDK at the root level of your application using the `useInitialize` hook:\n\n```jsx\nimport { useInitialize } from '@revrag-ai/embed-react-native';\n\nfunction App() {\n  const { isInitialized, error } = useInitialize({\n    apiKey: 'YOUR_API_KEY',\n    embedUrl: 'YOUR_ONWID_SERVER_URL',\n    appVersion: '1.0.0', // your app's version, e.g. require('./package.json').version\n  });\n\n  if (error) {\n    console.error('SDK initialization failed:', error);\n  }\n\n  if (!isInitialized) {\n    // Show loading screen while initializing\n    return <LoadingScreen />;\n  }\n\n  // Your app components\n  return <YourApp />;\n}\n\n```\n\n### 2. Configuration Options\n\n| Property | Type | Required | Description |\n| --- | --- | --- | --- |\n| `apiKey` | string | ✅ | Your Embed API key |\n| `embedUrl` | string | optional | Your Embed server URL |\n| `appVersion` | string | ✅ | Your app's version, attached to every event/sync. Canonical place to set it; outranks the optional `EmbedProvider` `appVersion` prop. |\n\n## App Setup\n\n### 1. Wrap App with GestureHandlerRootView\n\n**⚠️ IMPORTANT:** You must wrap your entire app with `GestureHandlerRootView` for the SDK to work properly:\n\n```jsx\nimport React from 'react';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport { useInitialize } from '@revrag-ai/embed-react-native';\n\nexport default function App() {\n  const { isInitialized, error } = useInitialize({\n    apiKey: 'your_api_key_here',\n    embedUrl: '<https://your-embed-server.com>',\n    appVersion: '1.0.0',\n  });\n\n  return (\n    <GestureHandlerRootView style={{ flex: 1 }}>\n      {/* Your app components */}\n    </GestureHandlerRootView>\n  );\n}\n\n```\n\n### 2. Add EmbedButton Component\n\nAdd the floating voice agent button to your screen:\n\n```jsx\nimport { EmbedButton } from '@revrag-ai/embed-react-native';\n\nfunction MyScreen() {\n  return (\n    <View style={{ flex: 1 }}>\n      {/* Your screen content */}\n      <EmbedButton />\n    </View>\n  );\n}\n\n```\n\n## Event System\n\nThe SDK provides a powerful event system for sending user context and application state to the AI agent.\n\n### Available Events\n\nThe SDK exports the following event types:\n\n```jsx\nimport { EventKeys } from '@revrag-ai/embed-react-native';\n\n// Available event keys:\nEventKeys.USER_DATA    // 'user_data' - User identity and profile\nEventKeys.SCREEN_STATE // 'state_data' - Application state and context\n\n```\n\n### Event Usage Rules\n\n**🚨 CRITICAL REQUIREMENT:**\n\n1. **USER_DATA event MUST be sent first** before any other events\n2. **USER_DATA must include `app_user_id`** for user identification\n3. **EmbedButton should only be rendered AFTER** USER_DATA event is sent\n4. **SCREEN_STATE events** can only be sent after USER_DATA is established\n\n### Event Methods\n\n```jsx\nimport { embed, EventKeys } from '@revrag-ai/embed-react-native';\n\n// Send events\nawait embed.Event(eventKey, data);\n\n// Listen to events (optional)\nembed.on(eventKey, callback);\n\n```\n\n### How Events are Triggered\n\nEvents are triggered using the `embed.Event()` method and automatically:\n\n1. **Validate the event key** against allowed EventKeys\n2. **Store user identity** from USER_DATA events\n3. **Auto-append app_user_id** to subsequent events\n4. **Send data to your server** via the configured API\n5. **Trigger local event listeners**\n\n```jsx\n// Example event flow\ntry {\n  // Step 1: Send user data first (required)\n  await embed.Event(EventKeys.USER_DATA, {\n    app_user_id: 'user123',\n    name: 'John Doe',\n    email: 'john@example.com',\n  });\n\n  // Step 2: Send context data (app_user_id auto-added)\n  await embed.Event(EventKeys.SCREEN_STATE, {\n    screen: 'profile',\n    data: { plan: 'premium' },\n  });\n} catch (error) {\n  console.error('Event error:', error);\n}\n\n```\n\n## Usage Examples\n\n### Complete Integration Example\n\n```jsx\nimport React, { useEffect, useState } from 'react';\nimport { View, StyleSheet, Alert } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport {\n  useInitialize,\n  EmbedButton,\n  embed,\n  EventKeys\n} from '@revrag-ai/embed-react-native';\n\nexport default function App() {\n  const [userDataSent, setUserDataSent] = useState(false);\n\n  const { isInitialized, error } = useInitialize({\n    apiKey: 'your_api_key_here',\n    embedUrl: '<https://your-embed-server.com>',\n    appVersion: '1.0.0',\n  });\n\n  // Initialize user data when SDK is ready\n  useEffect(() => {\n    if (isInitialized && !userDataSent) {\n      initializeUserData();\n    }\n  }, [isInitialized, userDataSent]);\n\n  const initializeUserData = async () => {\n    try {\n      // STEP 1: Send user data first (REQUIRED)\n      await embed.Event(EventKeys.USER_DATA, {\n        app_user_id: 'user123', // Required field\n        name: 'John Doe',\n        email: 'john@example.com',\n        subscription: 'premium',\n        joinedDate: '2024-01-15',\n      });\n\n      setUserDataSent(true);\n\n      // STEP 2: Send initial screen state\n      await embed.Event(EventKeys.SCREEN_STATE, {\n        screen: 'home',\n        timestamp: new Date().toISOString(),\n        userActions: [],\n      });\n\n      console.log('User data and initial state sent successfully');\n    } catch (error) {\n      console.error('Failed to initialize user data:', error);\n      Alert.alert('Error', 'Failed to initialize voice agent');\n    }\n  };\n\n  // Send screen state updates\n  const updateScreenState = async (screenName, data = {}) => {\n    if (!userDataSent) {\n      console.warn('Cannot send screen state before user data');\n      return;\n    }\n\n    try {\n      await embed.Event(EventKeys.SCREEN_STATE, {\n        screen: screenName,\n        timestamp: new Date().toISOString(),\n        ...data,\n      });\n    } catch (error) {\n      console.error('Failed to update screen state:', error);\n    }\n  };\n\n  // Handle initialization errors\n  if (error) {\n    console.error('SDK initialization failed:', error);\n    return (\n      <View style={styles.errorContainer}>\n        <Text>Failed to initialize voice agent</Text>\n      </View>\n    );\n  }\n\n  // Show loading while initializing\n  if (!isInitialized) {\n    return (\n      <View style={styles.loadingContainer}>\n        <Text>Initializing voice agent...</Text>\n      </View>\n    );\n  }\n\n  return (\n    <GestureHandlerRootView style={styles.container}>\n      <View style={styles.content}>\n        {/* Your app content */}\n        <YourAppComponents onScreenChange={updateScreenState} />\n      </View>\n\n      {/* Only render EmbedButton after user data is sent */}\n      {userDataSent && <EmbedButton />}\n    </GestureHandlerRootView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n  },\n  content: {\n    flex: 1,\n  },\n  loadingContainer: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n  errorContainer: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n});\n\n```\n\n### Event Listening Example\n\n```jsx\nimport { embed, EventKeys } from '@revrag-ai/embed-react-native';\n\n// Listen for events (optional)\nuseEffect(() => {\n  // Listen for user data events\n  const unsubscribeUserData = embed.on(EventKeys.USER_DATA, (data) => {\n    console.log('User data updated:', data);\n  });\n\n  // Listen for screen state events\n  const unsubscribeScreenState = embed.on(EventKeys.SCREEN_STATE, (data) => {\n    console.log('Screen state changed:', data);\n  });\n\n  // Cleanup listeners\n  return () => {\n    // Note: Current version doesn't provide unsubscribe method\n    // This is for illustration of the API design\n  };\n}, []);\n\n```\n\n### Advanced Usage with Navigation\n\n```jsx\nimport { useEffect } from 'react';\nimport { useNavigation } from '@react-navigation/native';\nimport { embed, EventKeys } from '@revrag-ai/embed-react-native';\n\nfunction NavigationListener() {\n  const navigation = useNavigation();\n\n  useEffect(() => {\n    const unsubscribe = navigation.addListener('state', (e) => {\n      const routeName = e.data.state.routes[e.data.state.index].name;\n\n      // Send screen state when navigation changes\n      embed.Event(EventKeys.SCREEN_STATE, {\n        screen: routeName,\n        timestamp: new Date().toISOString(),\n        navigationStack: e.data.state.routes.map(route => route.name),\n      }).catch(console.error);\n    });\n\n    return unsubscribe;\n  }, [navigation]);\n\n  return null;\n}\n\n```\n\n## FAQ & Troubleshooting\n\n### 🔴 Critical Issues\n\n### Q: \"react-native-reanimated not working\" or animation issues\n\n**A:** This is the most common issue. Ensure:\n\n1. ✅ React Native Reanimated plugin is **the last plugin** in `babel.config.js`\n2. ✅ Clear cache after babel config changes: `npx react-native start --reset-cache`\n3. ✅ Restart Metro bundler completely\n4. ✅ For iOS: `cd ios && pod install`\n\n```jsx\n// ✅ Correct babel.config.js\nmodule.exports = {\n  presets: ['module:@react-native/babel-preset'],\n  plugins: [\n    'react-native-reanimated/plugin', // ← MUST be last\n  ],\n};\n\n```\n\n### Q: \"User identity not found\" error\n\n**A:** This error occurs when you try to send events before USER_DATA:\n\n1. ✅ Send `USER_DATA` event first with `app_user_id`\n2. ✅ Wait for the event to complete before sending other events\n3. ✅ Only render `EmbedButton` after USER_DATA is sent\n\n```jsx\n// ❌ Wrong order\nawait embed.Event(EventKeys.SCREEN_STATE, { screen: 'home' }); // Error!\nawait embed.Event(EventKeys.USER_DATA, { app_user_id: 'user123' });\n\n// ✅ Correct order\nawait embed.Event(EventKeys.USER_DATA, { app_user_id: 'user123' });\nawait embed.Event(EventKeys.SCREEN_STATE, { screen: 'home' }); // Works!\n\n```\n\n### Q: Microphone permission denied\n\n**A:** Ensure permissions are configured:\n\n**Android:**\n\n- ✅ `RECORD_AUDIO` and `MICROPHONE` permissions in `AndroidManifest.xml`\n- ✅ Request permissions at runtime for Android 6+\n\n**iOS:**\n\n- ✅ `NSMicrophoneUsageDescription` in `Info.plist`\n- ✅ Provide user-friendly description\n\n### Q: iOS App Crashes - \"attempted to access privacy-sensitive data without a usage description\"\n\n**A:** This crash occurs when the app tries to access the microphone without proper permission description:\n\n**Quick Fix:**\n\n1. ✅ Open `ios/YourAppName/Info.plist`\n2. ✅ Add the microphone usage description:\n\n```xml\n<key>NSMicrophoneUsageDescription</key>\n<string>This app needs access to microphone for voice communication with AI agent</string>\n\n```\n\n1. ✅ Clean and rebuild: `cd ios && pod install && cd .. && npx react-native run-ios`\n\n**Why this happens:** iOS requires apps to declare why they need access to privacy-sensitive data like microphone, camera, location, etc.\n\n### 🟡 Common Issues\n\n### Q: EmbedButton not appearing\n\n**A:** Check these requirements:\n\n1. ✅ App wrapped with `GestureHandlerRootView`\n2. ✅ SDK initialized successfully (`isInitialized` is true)\n3. ✅ USER_DATA event sent first\n4. ✅ EmbedButton rendered after USER_DATA\n\n### Q: Network/API connection issues\n\n**A:** Verify configuration:\n\n1. ✅ Valid `apiKey` and `embedUrl`\n2. ✅ Network connectivity\n3. ✅ Server is accessible from the device\n4. ✅ `usesCleartextTraffic=\"true\"` for HTTP endpoints (Android)\n\n### Q: iOS Network Request Failures - \"The resource could not be loaded\"\n\n**A:** This is caused by iOS App Transport Security (ATS). Solutions:\n\n**For HTTP APIs (Development/Testing):**\nAdd domain exceptions to `ios/YourApp/Info.plist`:\n\n```xml\n<key>NSAppTransportSecurity</key>\n<dict>\n    <key>NSAllowsArbitraryLoads</key>\n    <false/>\n    <key>NSAllowsLocalNetworking</key>\n    <true/>\n    <key>NSExceptionDomains</key>\n    <dict>\n        <!-- Replace with your API domain -->\n        <key>your-api-domain.com</key>\n        <dict>\n            <key>NSExceptionAllowsInsecureHTTPLoads</key>\n            <true/>\n            <key>NSExceptionMinimumTLSVersion</key>\n            <string>TLSv1.0</string>\n            <key>NSExceptionRequiresForwardSecrecy</key>\n            <false/>\n        </dict>\n        <!-- For localhost development -->\n        <key>localhost</key>\n        <dict>\n            <key>NSExceptionAllowsInsecureHTTPLoads</key>\n            <true/>\n        </dict>\n    </dict>\n</dict>\n\n```\n\n**For Production (Recommended):**\n\n1. ✅ Use HTTPS endpoints instead of HTTP\n2. ✅ Get proper SSL certificates\n3. ✅ Update `embedUrl` to use `https://`\n\n**⚠️ Never use `NSAllowsArbitraryLoads: true` in production apps**\n\n### Q: Network debugging on iOS\n\n**A:** Enable network debugging:\n\n1. **Add logging to API calls:**\n\n```jsx\n// Add this to your API initialization\nconsole.log('API URL:', embedUrl);\nconsole.log('Making request to:', `${embedUrl}/embedded-agent/initialize`);\n\n```\n\n1. **Check iOS Console logs:**\n    - Open Xcode → Window → Devices and Simulators\n    - Select your device → Open Console\n    - Look for network-related errors\n2. **Test network connectivity:**\n\n```bash\n# Test if your API is reachable\ncurl -I <http://your-api-domain.com/embedded-agent/initialize>\n\n```\n\n### 🟢 Best Practices\n\n### Q: How to handle SDK initialization in different app states?\n\n**A:** Best practices for initialization:\n\n```jsx\nconst [initState, setInitState] = useState('loading');\n\nconst { isInitialized, error } = useInitialize({\n  apiKey: process.env.ONWID_API_KEY,\n  embedUrl: process.env.ONWID_URL,\n  appVersion: '1.0.0',\n});\n\nuseEffect(() => {\n  if (error) {\n    setInitState('error');\n  } else if (isInitialized) {\n    setInitState('ready');\n  }\n}, [isInitialized, error]);\n\n// Render based on state\nswitch (initState) {\n  case 'loading': return <LoadingScreen />;\n  case 'error': return <ErrorScreen error={error} />;\n  case 'ready': return <AppWithOnwid />;\n}\n\n```\n\n### Q: How to optimize event sending?\n\n**A:** Event optimization strategies:\n\n```jsx\n// ✅ Debounce frequent events\nconst debouncedStateUpdate = useCallback(\n  debounce((data) => {\n    embed.Event(EventKeys.SCREEN_STATE, data);\n  }, 500),\n  []\n);\n\n// ✅ Batch related data\nconst sendUserProfile = async (userData) => {\n  await embed.Event(EventKeys.USER_DATA, {\n    app_user_id: userData.id,\n    ...userData.profile,\n    ...userData.preferences,\n    lastLogin: new Date().toISOString(),\n  });\n};\n\n```\n\n### Q: How to handle offline scenarios?\n\n**A:** Offline handling approach:\n\n```jsx\nimport NetInfo from '@react-native-community/netinfo';\n\nconst [isOnline, setIsOnline] = useState(true);\n\nuseEffect(() => {\n  const unsubscribe = NetInfo.addEventListener(state => {\n    setIsOnline(state.isConnected);\n  });\n  return () => unsubscribe();\n}, []);\n\n// Queue events when offline\nconst sendEventWithRetry = async (eventKey, data) => {\n  if (!isOnline) {\n    // Store in AsyncStorage for later retry\n    await storeEventForRetry(eventKey, data);\n    return;\n  }\n\n  try {\n    await embed.Event(eventKey, data);\n  } catch (error) {\n    // Retry logic or store for later\n    await storeEventForRetry(eventKey, data);\n  }\n};\n\n```\n\n### 📚 Additional Documentation\n\n- [Complete API Reference (API.md)](API.md)\n- [Detailed Examples (EXAMPLES.md)](EXAMPLES.md)\n- [Migration Guide (MIGRATION_GUIDE.md)](MIGRATION_GUIDE.md)\n- [Quick Start Guide (QUICK_START.md)](QUICK_START.md)\n\n#### Troubleshooting Guides\n\n- **[Ping Timeout Warning (PING_TIMEOUT_GUIDE.md)](PING_TIMEOUT_GUIDE.md)** - Understanding LiveKit connection warnings\n- **[Troubleshooting Summary (TROUBLESHOOTING_SUMMARY.md)](TROUBLESHOOTING_SUMMARY.md)** - Quick fixes for common issues\n- [LiveKit Setup (LIVEKIT_SETUP.md)](LIVEKIT_SETUP.md) - Native configuration guide\n- [Event System Debug (DEBUG_EVENT_LISTENERS.md)](DEBUG_EVENT_LISTENERS.md) - Event handling troubleshooting\n\n### 📞 Support\n\nFor additional help:\n\n- **Documentation:** [https://docs.revrag.ai](https://docs.revrag.ai/)\n- **Email Support:** [contact@revrag.ai](mailto:contact@revrag.ai)\n- **GitHub Issues:** https://github.com/RevRag-ai/embed-react-native/issues\n\n### 🔄 Migration Guide\n\nIf upgrading from a previous version, check the [CHANGELOG.md](https://www.notion.so/CHANGELOG.md) for breaking changes and migration steps.\n\n---\n\n**Last Updated:** January 2024\n**SDK Version:** Latest\n**React Native Compatibility:** 0.70+\n\n\n\n\n\nyarn cache:clear\n# same as: ./scripts/pull-cache.sh --clear\n","readmeFilename":"README.md"}