{"_id":"realtime-avatar","_rev":"46-4214f2b738488438511e7dbd488e7b44","name":"realtime-avatar","dist-tags":{"latest":"0.23.0"},"versions":{"0.3.0":{"name":"realtime-avatar","version":"0.3.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.3.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"f3fbb35dcd493479c7ab7b9bdebb82f1d17c3296","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.3.0.tgz","fileCount":27,"integrity":"sha512-8utX/HmopC+48mUhSQWgHKrxSthFwplqLg5nseO6eDG/BcZZSJmo5M+IOBXnjqkOGBLcpoQxx6Y2gg49w0qVAg==","signatures":[{"sig":"MEUCIQDtGwWW7hpZkpqGSrgrtcjb7uBUqgTeSsxnnuI6CXqm2AIgFxFx3QLDClZug/bbExYP5C8wWeKdZG5v9Hrd4vFjRUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495654},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"2138036064d986d743cf6d182ffcf1a33cf24b10","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.3.0_1787826874101_0.7160874665700216","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"realtime-avatar","version":"0.4.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.4.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"775d3ad6a9802009b667030ee948f20ba31d8cd2","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.4.0.tgz","fileCount":27,"integrity":"sha512-NUNvsFNzPj4967t6ekUh7fqpg72/wyUHtJWBafJx6rwmGlpIMCebnmdBUzBkifBzfbN5tcZ0YKAFiZCEJ8hkEA==","signatures":[{"sig":"MEYCIQC+MVMZKlb6cI0cE1f+kc+jAM/9DdbmHB7I37HDMG0jCgIhAIVcSFf5tJOQtsr9w2ZkXsmQU93SA2bbCLHXqFE41W+i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490304},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"442a402213d4d5e500ca3ad2a177a62766fa4472","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.4.0_1787832771681_0.4392146116591922","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"realtime-avatar","version":"0.4.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.4.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"f17c7b0e4537cc454e4d136443fd8fd8352b0cb9","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.4.1.tgz","fileCount":27,"integrity":"sha512-yggMVQQ7z1RuG1rxy8kNdPlSKtepz4YA4N7t1O6BMBnyrhnPyLfZAi31Z3aJQa1A/joBVdioK/pUbY1bBkKA6Q==","signatures":[{"sig":"MEUCIQDvD+AQ6J/pDoLizJgXJwDSNeW77eEqTTrRju7bl1bFmwIgAv+WmHg1AAUNBnwWdjGfMTuFKmPUQZsgtT4+JP/rCvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490614},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"cb6f719a5fb92d23ab48c89d03efd9f450a24a66","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.4.1_1787846159137_0.41964623666443823","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"realtime-avatar","version":"0.5.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.5.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"0c24e6bd04fae1cd4c6ad13b80ed1738691bf6af","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.5.0.tgz","fileCount":27,"integrity":"sha512-nLCj6aGJl3EDDdgsLWzGSYiwdeX0Cad55RZJAP9QfqXAf4xDruiiRN44hw9yzIHFdnaExSuCkTezCLZ5hEzUKg==","signatures":[{"sig":"MEYCIQCMOks2GH+6X/TPgTCq7Cl97l3VDWkXpScR0ATuVW2G0gIhALuu7HZcHhfT1vJHytHKKnsvSBoMCR4RSgOdr9ZF/e/y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531841},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"ceda5370fe81da377b7106aab41cf4288e641d7f","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.5.0_1787902963702_0.9021397441610421","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"realtime-avatar","version":"0.5.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.5.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"8a08ffa8aed6a4d04a1e45dfaeca59b1f0180c79","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.5.1.tgz","fileCount":27,"integrity":"sha512-aObWO0MC1D54WTVUnVZCEv4x6FokmYNX63cpHgaQsvOROYXyhColsSF5f52e9Dp8hYmmmvVWPx8O0RRX/fWcBg==","signatures":[{"sig":"MEYCIQDqoHqS5O6ypCmLisi/Y6+yW4oIIi8K8qTazElcQwelYQIhANAA+wdn+HkFGEIzn/qCGLvNA1uKB5xypEiYgKRDRhHi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":600544},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"872f594f9ea307689ca199e0ca9397664e22e561","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.5.1_1787944376113_0.7814607001570564","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"realtime-avatar","version":"0.5.2","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.5.2","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"30fc421ac699b7e24a1dfd3258e351f7e49c0950","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.5.2.tgz","fileCount":27,"integrity":"sha512-5Iudi9t3H9BWn9yfKIcMWXWwsWZ6LhPSHoAWawKDHUH+E3NXKaaNHSAY9qjr0j628eaJk4DKIT4IcsdKQgUt4g==","signatures":[{"sig":"MEYCIQDvJdTKhjQ/09BbvQTnaeZXxDknkPOZj6uMr/SKUvMYCAIhAOGCz7E+3vVEFwjHw3ZNudWQQy8nD+rj4j6uEZgCyUnQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":602790},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"b4565979611f3cfc26184bfc3f7d1cd8edd64554","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.5.2_1787945072957_0.6122015258478253","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"realtime-avatar","version":"0.5.3","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.5.3","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"aa34a916863ea7f3fb6e2510334be6f02ae766b8","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.5.3.tgz","fileCount":27,"integrity":"sha512-zP62QntU/jD1KDDFxBSJSZE0ENYMYElGxpOlG9Qtaai0yg1OBSj7Q2eUetFq0o4Q1hQoTiWdFRkNPzjAO65wxA==","signatures":[{"sig":"MEUCIFPHtB/Z7ejpU93H0velgAa9BTE82F2NMt5V426kQHQFAiEAyMELQIkquLfLpuiMyx+RmUBpZSPECeu6JRj8Opj5iFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603879},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"dfea111f270fda051a15350cc49c80fe4d181f40","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.5.3_1787968712784_0.3471062552693287","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"realtime-avatar","version":"0.5.4","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.5.4","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"2b744316880ec356b347dff6c4ea76631818dbe4","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.5.4.tgz","fileCount":29,"integrity":"sha512-smDslcimcBKv3os2+lX2z6Bwpc1/SlRukg4xUJfbMk4fBi56qxYXBg7dITADe28GCu6Pr/ccIONK8dhczIrH9A==","signatures":[{"sig":"MEQCIGQNRHeSIGSOmq63x1UdqHMeOZMpg6iW0WBm3pg7Q+oDAiAjtbxSlX8kWfV9Cfkl5lRdzlEnIXri31JEq2YRXwpLMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440830},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"1d4588f74ad0e2c545202a997db6f1969e87d16e","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.5.4_1787969862107_0.551583977849434","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"realtime-avatar","version":"0.6.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.6.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"5d4efab66b642e00ce60753549e49d46f141bf42","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.6.0.tgz","fileCount":29,"integrity":"sha512-eatuwQl3Ln3a4Q0Mu6Nb77HoIR/ZA5TqvmDtWKIg9V3JsR7m0wuz/R4nvYJH0dQJrXtahZiLsmVbkxpyeo8xnQ==","signatures":[{"sig":"MEUCIQCj1D+OtjqOuqXdF3w4P3YlUFz05Y1+VukGPdfgOXqjswIgWMSqONCVvCvP1PclGUPq1zLeMbsWh1mTpxw1rP8v4Xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":441018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"e1fe26789960cb1f3b51be7c7f57e2cea5c70e06","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.6.0_1787994474679_0.9487041843938091","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"realtime-avatar","version":"0.6.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.6.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"896613546d80e3be1e34896ad776f6d6f8bf938e","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.6.1.tgz","fileCount":29,"integrity":"sha512-7RsZhiAx5F8mljK9mmjG4Zj9SQMsrxBZnAuFKX3G0EBEc/WGdeCBWLXoyt1Z03hdjIzpzMSit0fmXsJ/BrkHlw==","signatures":[{"sig":"MEQCIHIUnm8BsN0yLhn/GhC6INDkoVNp7AqkYN0C0KYmrDt7AiAwAF7djFexDAnsZLv9gOekp/R3XahCInxsJtcsdYA0Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446750},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"fc7d2e731ac1c44aed74791f795f06ec670ed009","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.6.1_1788359737504_0.363351584978282","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"realtime-avatar","version":"0.7.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.7.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"8b5ba54b9c1f83fb5fdd94cddf86b6c5e64abc99","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.7.0.tgz","fileCount":29,"integrity":"sha512-GkDBL9kqYcedMPyWr8e8giRHbrUvZeecGNb13SIZYQ4ErEjtEV89sZbBPVDIGyCgHs/xjrzh6lpH1EXvmZMkNg==","signatures":[{"sig":"MEUCIQDwqZh6pkOhOe2CEf7vT4kyd2Aat1d1LA+54ogpYz1iRAIgbRpXxtq4XaGzTxEbVjM4ADCdhaURoFKGelEjKxNYeK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449771},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"44ad61187b04f822f20ab46009c14cd65d31dfe2","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.7.0_1788510492417_0.015623225784069383","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"realtime-avatar","version":"0.7.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.7.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"5c86c67e4843c3dd660e09768abc09466fddcb2f","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.7.1.tgz","fileCount":29,"integrity":"sha512-IGqhnNxIfUy5PvdBpB6xbZTH36CkVl7axtgilOZJcuIRbGGseM2JD2xXTC6hEvrV8AMY1PpqmgSprai/lvVc+A==","signatures":[{"sig":"MEYCIQD+2ooxo7ELcs+AocVzEkRXsN0/9YTow9wYRhVdtGLWcwIhALUWbFD+Z/KO+AoeZ9nkv7UVtVFFlYstwjKao1VZdlZd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449775},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"a6468ccdd0abd74cf9b67f260fb03fa7b285bc7f","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.7.1_1788513516141_0.7085309654587457","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"realtime-avatar","version":"0.7.2","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.7.2","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"a0b7853d4eeec81c82489a2b12e87792fe192e49","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.7.2.tgz","fileCount":29,"integrity":"sha512-pxF/SThZOxUAeMDITSkUoxNNFz9RsCMSASGH2YW3ZERj8pETT0sXyPTM2KYw2mUb6kfIlPmUbeYZ/6yCYh+8FQ==","signatures":[{"sig":"MEQCIGcRBtwo+s+8rNSG15qFJJSIv24m+DUlsnBlixx/hxIJAiA6ZHdq31nxdvho59H0LdZtnaoTFstz3ySZS8Bvu4mH2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449893},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"325d35e210f3549646e512493e9e8ec4a4245ba6","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.7.2_1788521000902_0.9162171664491159","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"realtime-avatar","version":"0.7.3","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.7.3","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"3ea0c68366fc0fa4005c9e89b9add75295d3663a","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.7.3.tgz","fileCount":29,"integrity":"sha512-QSAYt4fDSvXIhzBpcBu8H8ID//PNfRjMWu+U34Qv+zX4IhlkQMhWiq87jnPt4vO2rlr5uIlX0F3c0ANnyVagLw==","signatures":[{"sig":"MEUCIQCydjfck+yBgj7qj6XqY+Kw30VGS7z67Y98ksPmScjN8QIgWkuBifgL539wA6oZNUVYYvDjz1C+V129KebWKHKJSBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":460913},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"94ee00977d753f082d2923a9a2a672a2472799fb","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.7.3_1788523620931_0.036962039408739766","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"realtime-avatar","version":"0.8.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.8.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"57e5599109e927ee5d7d3568a209436f3842027f","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.8.0.tgz","fileCount":30,"integrity":"sha512-NMM/HkriYsLtbntbSv5Xc9VFSamUOHYpM9gf5qdqI0gjf41ngfw14ELyStX/QY4Kvx4YUEkfcZKQbaafPSx0Kw==","signatures":[{"sig":"MEQCIG7sA+JGSzBZMA5sm90gGgG0SGIBzUqHE4VwuWsvhm4XAiBL8OCHDg5gZaQjKhgBdmBgWT7HMl8CrPImGgt31fQZdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471570},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"117a6f6f0498354c46cc32b5db418c562e861344","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.8.0_1788598255185_0.6497956557022866","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"realtime-avatar","version":"0.9.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.9.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"a902eae8ac33304038ce147bc86e89bcca2ae13a","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.9.0.tgz","fileCount":30,"integrity":"sha512-UZSTz8ggfwcwB7TWYDEvKFRHsxBQfpZNbdJSKTsNd8r0ZTJjDizVIB6D/6/Qbq7PuifkrkyKWOA/oHvTIheigg==","signatures":[{"sig":"MEUCIDC2BqIxQ2dqyzDdi8oE+auUlneIQZw4lBuWq6su3q5qAiEAwUxAoTDJ0EQ73aWjWkKlapi9K3QvSYX0o3Wccbthl+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471570},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"7bd53b818e81320f875b9303b6df8152825e41e2","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.9.0_1788606624121_0.1941703672358941","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"realtime-avatar","version":"0.9.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.9.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"a33d9e57bae140260fc082bd4a937ef7ae3d478d","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.9.1.tgz","fileCount":30,"integrity":"sha512-+5V9x70aMt0uCRmayj/8uN0zvEpaH1wxgFBsHWxm1yhbae+ZjyuWp9gb404TmGAel4Biy/WvLJmWTjGFtRDZjA==","signatures":[{"sig":"MEUCIFhKcGwDGzAp2zLF3Lxv51RC769KP4I7XK/WZKZAgM2/AiEAt0fA+2XvdUKBSd/6kkb6vCnZF4WK9dsKXBVO4t+07do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":472815},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"40b0b02850ff2a12ca349d40d11b34986aa51b6e","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.9.1_1788761117181_0.4036551254299403","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"realtime-avatar","version":"0.10.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.10.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"c3fdbd18e425c95edf5a271298202df1ee85a43f","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.10.0.tgz","fileCount":30,"integrity":"sha512-fG4gHl4OvUkJ/uVYNEte0nPAvK4cZImxHz0aMsqdtxfWxDOUhj2X+XVqsZ4d/MGXxcbSw/jwLaM5HQbqcJV//A==","signatures":[{"sig":"MEYCIQCmkTPhNLLySJ+F4lZkkuQ6WuTFIKNgO6e/3/xDUMfJ/wIhAJR1gIRrn88veU2Kah/B3m7w2gj0Qng0981lazpJJ/Ou","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"5e9ddb50ac4f14349d13e3da4c2d2274d91fa81a","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.10.0_1788915387332_0.35719206599951314","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"realtime-avatar","version":"0.11.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"35906583899de50e3ad3804434db07c6910015de","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.0.tgz","fileCount":30,"integrity":"sha512-eHhDQ9BViNnh3YcmcRCvM4TI/tdLwBUl3muQHCscG6bgdP9ZI4c90rN79CIPI6HTlHA/FpKJGgOowhqHTMTtJQ==","signatures":[{"sig":"MEUCIE1Rh9EoKqeYKwiYad74JEs8nafUKOVEG0EUXf4nqTVGAiEAry8Xrl0WX8ihMFPGY/HqOeSU1wPMACMvGgiiBdPUkKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":487406},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"90c00aea5d49b221b0816abb19782d7db662b61a","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.0_1788937841333_0.28999532647886683","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"realtime-avatar","version":"0.11.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"b805d386df4db21d476a35ad96ca8cb58cc154b3","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.1.tgz","fileCount":30,"integrity":"sha512-67ENObznkuMAYVYmDbQIwb8sT+QKEx02X3m7L5CoMtKmaRB8gbN9NriMEJOYquE+u/A/53ko0d2jPljosiWRjA==","signatures":[{"sig":"MEUCIBKV+m4Sn8DHeq0sBt5EO/+vKduM+S4m/ZD9bPFeXLWGAiEAkvYw+VF/usRz4Q/qae9QsjrJg0gR7md9uEpnZLFbc2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490957},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"2e0b323bd3ed87cef2167b2102754ff5c599f8d5","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.1_1788941960497_0.3022407637616322","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"realtime-avatar","version":"0.11.2","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.2","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"2ffc77f0e546f1c2cf65ce56554db59676bdc2a9","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.2.tgz","fileCount":30,"integrity":"sha512-XojH4dDMf0ZkInuTmsi8nGOa1jU7oZdKhMDoOEZeX7KjlTbcCb2fTapsZRp3bXhDru5xVZckFjHSf8qYIAn1ag==","signatures":[{"sig":"MEUCIERj/dPoIum9GxtQSNQJFQBtg//1g/xGe6J1x227fHRkAiEAtf4EvBIXC6Tp9g2x75rfV/6AGOngAhm/3VKNU5wffA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":491220},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"8d5b311060ebfdb2f2b3897c2769aadd478ea850","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.2_1789112896004_0.45033343941816306","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"realtime-avatar","version":"0.11.3","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.3","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"964338fd12ce369d2fdf573f3f03ef8b85a3cbe7","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.3.tgz","fileCount":30,"integrity":"sha512-8RTcaoKD9YQJmMbO3bkuMQ+aDceFarfc07y0WZHJ84RDNFaDN9B0krx7TK3WOP7YEd1IFm+PQrpEdv9R4EugUA==","signatures":[{"sig":"MEUCIE9JIcyOM5pnmbiQ6xb/6FcOSLqaVQGYHnVB+2S99SRnAiEA/gZn1ahRbI964dLW0upUVCtnPvmhPyFdx4sWcSgqKws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":493136},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"c28de3f524d7849bc8dbf4cd16ffcf8eb3f8deea","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.3_1789122847588_0.6591650003764904","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"realtime-avatar","version":"0.11.4","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.4","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"5d3af58f053ec1e6544342b4ce0a030e9e6890fe","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.4.tgz","fileCount":30,"integrity":"sha512-A1VuqoCxPyPZNpSihbQJ0XDRMKZqbdudfw4CQ+/ICp8FGUjaiwL3nWgo2I4CimYhE8s0FjW1AVgSaNsJC0dbJQ==","signatures":[{"sig":"MEUCIQDF3w5oDB2hULva7WOwVb2qYONZ02dEo5YanquryotdOAIgNZqDEuXDBNsWfHgS7Ikp115QPQFF6Mlc8ApJdwf8MBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":493404},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"c90055b0aada67a0835e06b6fde622b86bfcf079","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.4_1789128445040_0.6681608348743369","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"realtime-avatar","version":"0.11.5","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.11.5","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"817f628f8e6a532e35f96a6034fbe78d4d88cd59","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.11.5.tgz","fileCount":30,"integrity":"sha512-xY6teEyS5V/X1+VkYdOen0clPqKmtk9Gz/W22KkcA/zbfTofSqrT93RX5jVcM+av8xcqbnQyvMiwWuqYB5SCKg==","signatures":[{"sig":"MEUCIC5MMfPgI4yMg8R0APyvXsgr2yU7ZVi6E5VasHDQL8IxAiEA1WRpDBY04ASVjGcmuZsj+LQay8CY8jSV5DdRA0T+8Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496266},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"2a878bad7435f2bb5a9508c54accf96ca2fc304f","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.11.5_1789129609494_0.09397978313627231","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"realtime-avatar","version":"0.12.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.12.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"ebe75752082252fc68a233bdecbdb1e9e25b497b","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.12.0.tgz","fileCount":30,"integrity":"sha512-y+B4PFVWAl0pK4DsxckNM1EAFYE6IeKYhH4e39JLG3n/lm99RoRteFz6N7pJrK+pjHYty5vfHlZNDdjgXszcxQ==","signatures":[{"sig":"MEYCIQCcoyCHf/zsBoDhM5CBadPRotmVbdla+sICVlrz/qJdigIhANUW2VW8ii/iciSv+8MD/PwX5BPp5/Az5K1w0lz+aqZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500937},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"ed0f13f1261b83243dec4a4915f508c75f17b356","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.12.0_1789315216280_0.5489694870447364","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"realtime-avatar","version":"0.13.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.13.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"0b8d4c2a279c5392e9ca65ed9381dca8e9a0135f","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.13.0.tgz","fileCount":30,"integrity":"sha512-upIPhepAj8sUpym5nM6HS3x4bNVcY6Q0SU6x38a52pZzMmO5ngqfXD7EP9NDela0nZgPx5h0T76MkwpytXyUtg==","signatures":[{"sig":"MEUCIQDu6WPwhiTGIFyAuYFK+j5ravoT7IRQJCKjy3gvCtzWmwIgcGJFAumHe5NGd3hTpl9hvbdV3yMlUIThovLLj2a7ROw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"c3626f18612674644d976b62e76ab279422f55e9","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.13.0_1789394948204_0.8478126014125384","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"realtime-avatar","version":"0.14.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.14.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"a3397dd66ad525df12ecc8db1e599e95bdca301d","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.14.0.tgz","fileCount":30,"integrity":"sha512-3JgkbOyceqSF8FPE/vEszlnRtSjpwAdgQDTd++TPAiQp577+q2PKhJy4s8npyyuXW7UOw/I7QdGJu47sR2IcZA==","signatures":[{"sig":"MEQCIHShRg4FCL+jIPBCL3DFEogPlXeVJuSWI+2eAlwyaHN/AiAPABYmmhhBsp1RDlEkVeaEv8CdYO4WU5Bo5gcj4NsQQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDphMGTyG/DqZgUmqRcOuJ+jahD+HDnRgIxOMI1hEvMTgIhAK+seNbTKCTbv1LHyXNWD/19TP3aX2KMfP77QM4Yow3g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514592},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"63a8437bd36c48df43667a3d12b46eb54ed83ae5","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.14.0_1789408242004_0.8239761622612483","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"realtime-avatar","version":"0.15.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.15.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"81a8679d787ef908c484cd25a159c676a95717b5","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.15.0.tgz","fileCount":30,"integrity":"sha512-X9qFXOfTUWr0Up4PgqRP0Ukh+FgXLhCe3qG0k51lwmGxNFxoSs1OP5xe0S8V88XRtyZ53AMH02VJp9B00ruCAw==","signatures":[{"sig":"MEYCIQDfVe0t2lEAhKqFaAe/VgY7AUmW8Og4/SfvBaGJN4apFgIhALHi89MQxIfOo38IVdRwPoCS1o76i/lxcw8GrT0htrgc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFe0A2jW1da2WowL7aEgUlIUIm7LvgO0ogcB2QeQDzFSAiA56i3wEupd9UpPfQtokqpdudhzDn3PnxFxhJTqtNMtLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"c5f53aa0105d6b874b70176fccee2e47a0a400cc","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.15.0_1789411685882_0.6563182596756016","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"realtime-avatar","version":"0.16.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.16.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"8e0b775d36667ecbf27ca484b2c0373b22061dcb","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.16.0.tgz","fileCount":32,"integrity":"sha512-r1+g+HzUpEM4slqDe98GR3MK/R8+oEI4nawbo2KiOgZ9NKV3coMBcsnQLeYCVoVe6PrSjJ2t5F6yoEELzZNHLw==","signatures":[{"sig":"MEUCIQCeEHOPZeeqK6nXlVIsyENXtErnmqCS4nEHfP5fXMtFUQIgXDSuwj8e/UO5AYE3ovEXwHw4x7VCm1hUVlMrBl1wx1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDD7dPHymwVMUVGMcidJRFXO92N1HgAx5SR8R8N1qTbNwIhANo4rKsJd5cn3y32pv+BgDrei0K8je3ZFM1FOCQtfjSI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568399},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"}},"gitHead":"3261a109e97b82ecb796a9ecba2403272886b201","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.16.0_1789425472038_0.2380933716999496","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"realtime-avatar","version":"0.17.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.17.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"fa415e339cd8996dcfd81812ec5c24f3792a19b1","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.17.0.tgz","fileCount":36,"integrity":"sha512-k4zoBsRcN85H7ei46+m7tHCYdGhUWyJi9F2E5ZeYauoh7QvotPdC2yU3plSvJ5TSAIaqRhyP/jOfYfw4gmlrPQ==","signatures":[{"sig":"MEYCIQDlACdiBWCk5W7SbVQeYccQFxCr0mCf5GWK9VBV5JJoygIhALBBXDPugcFPHjzHUoavpr90YAxCtGLKfJ4sEnCvYdYi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF/mVnFnze0Rf8bvTXLAren6Nx3B8fLKmd+bDH8LmZ6XAiEAroFCYkPpeE2Se1+jMwzF7HD4Qbk/+jp+fAdZBG70u6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591362},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"10.9.8","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.17.0_1789443152578_0.36238165956945867","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"realtime-avatar","version":"0.17.1","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.17.1","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"df2d3edb2da2b47c56126baaa20ec29d026d5493","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.17.1.tgz","fileCount":36,"integrity":"sha512-zKf9szMP0VdvnYpjYH9r3Hfp5jNJpwAljTtlpFUTWsh+ESUh0sTHxyfa4PY65c2OltJRPxrT1tMN0FuHsf9gLw==","signatures":[{"sig":"MEUCIQCTiXEGKMbfqIREhGzi9W4wDTNPDv93yq+/JkFTEJ1ogwIgXQlS4XcVCctN+a4PMAcUQ7nNgGFXsC7THz7GujYUHfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDS+ZYDEHdKa8ZuSSQiRZE9gIE0S+ZT7AdoQ+qSNwc6UAiEAy+8eT/ne9bXEXM3EY5Of/JWTJofHlGfUxe1lKFJJeYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":591564},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"48aab5c2ada7728a485d2e75bb2513796a0e2774","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.17.1_1789475767666_0.11022304396570282","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"realtime-avatar","version":"0.18.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.18.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"fcb6b052ef3875edeed14304edb673686939af7b","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.18.0.tgz","fileCount":36,"integrity":"sha512-lvUVF/G0AJyGSBXn7pOoAlJd1oI3JCMctgwdS4heee1VNKaJzETzTHDGct5CqA2Pa46Sw9a2z/3XvGMD3S5GsQ==","signatures":[{"sig":"MEYCIQC3gxkwUvDMqDHWeYWaij1n4O5lsRpz5CCdwEVBkbQq1AIhAPmdeuFjc2el2SMT7pRECMnM9szspiRSfT1DJG+qhfmT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGeKLaMGEOeIY7GNTGJk6YLdnPL/mIBBYvVf3bazZUIFAiAVZmLU12sig5Y8GngXF3UUXnCIdE3rJ3mwGtDK5cL9FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603695},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"e52f4c5a7d8fbeb68acfd2f8a71e7f3dc441507f","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.18.0_1789701476523_0.5391447509239544","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"realtime-avatar","version":"0.19.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.19.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"354721dde3c3b07f327858bae59ad152681fb538","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.19.0.tgz","fileCount":36,"integrity":"sha512-mR3O6P3W6xeFgMwiFny5Y0eQE765c2mkfEtGy9EDSD+zQI7Gw2poh5sFl4vIZTLHum/U1aNx7fQjWh9ja2BxaQ==","signatures":[{"sig":"MEYCIQDvtsNdUHs/pyeVixsVWc7xYKc2oTurx1aPBoEVHYKCNQIhAKYDSe88bHpQQ+ewG7Clyb6alOGDRhcEbwrQ+e2fHcI3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCFtQw7hoDffm1XF6lE3oOYkE+DtQVK/spWeZ928vzYigIhALeDbxNCi1mfZ1tMyKFUmP/Lf6EoNrH/2lXs8g1NiVdE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613168},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"fa7e4923d43915e386348b0340a6b5b6f9fa4e20","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.19.0_1789714430766_0.21821210199292929","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"realtime-avatar","version":"0.20.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.20.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"2c45fc96d0dd46d2ee09639635e92ad9bf4b8b1b","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.20.0.tgz","fileCount":36,"integrity":"sha512-WnqwUdmEx74sBM/fiVqYu1lf5QHUoHeEigagPos7vQN5IeTnD0WFA9LXJPXe9YFT0AeW/7o+NTBcUQIVWFrhxA==","signatures":[{"sig":"MEQCIAau9Ttpv1iYlShk/MC3+FUGifDyagbYmbQpMnvkyI9WAiA0V4OrJpKrslA3ivHpeumZVfODE3pQtOvO1u6tJylZyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC0ZW1KUnfhYcX2PH/2c09p3oMVQURuISdSHIANGbe7oQIgCcHrZAO9LT8XN+zapRd5GgfLtaR46DdE2ReehL5KntA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613164},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"7b2acf961c24f7bd099505ec86ad13ec017a1f94","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"zod":"^4.4.3","react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.20.0_1789717573570_0.28272254806607466","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"realtime-avatar","version":"0.21.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.21.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"cc38bffe1b11b4a639cdbc1d08c1235f2fe5368c","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.21.0.tgz","fileCount":36,"integrity":"sha512-EHC/8AFY4QrfBYfR/zJx2PMr5WqRNK6oUOfdEJBcyevAi9JD9JqOacwLFHuty4CqR6MBhBgqcuumfBQQbqQ38g==","signatures":[{"sig":"MEUCIQC6uSAruTcTtQ6OSpN37tJWqrXRKZUsbMHy40CUqX5mtQIgAMUrqMV83Sf0fE39SxBSrHfEln2Io19Mb5OvDBgnBrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDbiceSH09yrxTb5rkGoFYIiFlSKl/GEbFosnZLA47KMQIgUN0GVN+lJqu97TosE1k9liwRMhKu4Se00eydvh+Nua4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616956},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"57355fc48f4f59096cbfc1d2c4074677e2424bea","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"zod":"^4.4.3","react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.21.0_1789892833424_0.07104181392348807","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"realtime-avatar","version":"0.22.0","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"author":{"name":"The Influence Company"},"license":"MIT","_id":"realtime-avatar@0.22.0","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"homepage":"https://realtimeavatar.ai/docs","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"dba80012a47bc433db8f8a9c708d5127b99b6080","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.22.0.tgz","fileCount":36,"integrity":"sha512-57Mc35Qfho2YiYQtnOXiJvWLm1q47hAa+ZitNqWsLg0vHxzOhtfmySgnonF26M4p24u9fNqEEIsD+9lpr/Rm4A==","signatures":[{"sig":"MEUCID8wEYGL0Aa/G3W25Qf34Mjy/Wdj9nwCPOGHZW9OU/iLAiEAwqgBAOHGen+8UugIAOEGkFxv+BeoXLlTfItBNIE007Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDgpD4KkjdCIsVNLS1c5eeiw6YAw4KILTHddNPo9MoIvwIhANaYVaVNDelyj5g6jN8SddMwhfBk4Hlnmaol1WZrD8Ys","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":619597},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"804c3c3d853863e311ed1ffca6ffe7c565608dfd","scripts":{"build":"tsup"},"_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"zod":"^4.4.3","react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/realtime-avatar_0.22.0_1789999017163_0.10310954629297076","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"_id":"realtime-avatar@0.23.0","bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"dist":{"shasum":"9ef095399a26f9b2b54f25e744a44da9ce4ee637","tarball":"https://registry.npmjs.org/realtime-avatar/-/realtime-avatar-0.23.0.tgz","fileCount":37,"integrity":"sha512-PKUseZw/ffIn+mPPhLX7vzXnSpGaanNYXX5S1at/K4yBwK6hPpAPeJiP+fPZcX3Pfysx6Vzms7tYGvnaNj9ONQ==","signatures":[{"sig":"MEQCICfJmPiIwJMdq/8ua51Ohg+3eg8kYpRE9oRyLysdPE62AiBOP9hrVYJh2VleG54epd6oO6BK+WOmHSpaj5TTd0ATdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0Bg9CM6nVVScY/IGWNLKLA4jynuDT113CtWLWkQQCqAIgR+tTAls9PnCy1cBSLtmgOTWWj2WtsAAcGZEhAJgjKKU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/realtime-avatar@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":667257},"main":"./dist/index.js","name":"realtime-avatar","type":"module","types":"./dist/index.d.ts","author":{"name":"The Influence Company"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/index.js","workerd":"./dist/index.js","react-native":"./dist/server-only-guard.js"},"./hono":{"types":"./dist/hono.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/hono.js","workerd":"./dist/hono.js","react-native":"./dist/server-only-guard.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./tools":{"types":"./dist/tools.d.ts","default":"./dist/tools.js"},"./nextjs":{"types":"./dist/nextjs.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/nextjs.js","workerd":"./dist/nextjs.js","react-native":"./dist/server-only-guard.js"},"./server":{"types":"./dist/server.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/server.js","workerd":"./dist/server.js","react-native":"./dist/server-only-guard.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./express":{"types":"./dist/express.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/express.js","workerd":"./dist/express.js","react-native":"./dist/server-only-guard.js"},"./recording":{"types":"./dist/recording.d.ts","default":"./dist/recording.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"},"./tanstack-start":{"types":"./dist/tanstack-start.d.ts","browser":"./dist/server-only-guard.js","default":"./dist/tanstack-start.js","workerd":"./dist/tanstack-start.js","react-native":"./dist/server-only-guard.js"},"./connection-history":{"types":"./dist/connection-history.d.ts","default":"./dist/connection-history.js"}},"gitHead":"60ea1ccfc8e454326b3ad4f84a72ec82e8acc6de","license":"MIT","scripts":{"build":"tsup"},"version":"0.23.0","_npmUser":{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},"homepage":"https://realtimeavatar.ai/docs","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"_npmVersion":"11.19.1","description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","directories":{},"maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"sideEffects":["./dist/server-only-guard.js"],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","tsup":"^8.5.0","react":"19.2.7","react-dom":"19.2.7","typescript":"^5.9.2","@types/react":"19.2.7","react-native":"0.81.5","@livekit/react-native":"^2.11.1","@livekit/components-react":"2.9.21"},"peerDependencies":{"zod":"^4.4.3","react":">=18","react-dom":">=18","react-native":">=0.78","livekit-client":"^2.9.0","@livekit/react-native":"^2.11.0","@livekit/components-react":"^2.9.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"react-native":{"optional":true},"livekit-client":{"optional":true},"@livekit/react-native":{"optional":true},"@livekit/components-react":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/realtime-avatar_0.23.0_1790085018248_0.8745382208660042"}}},"time":{"created":"2026-08-27T10:34:33.926Z","modified":"2026-09-22T13:50:18.743Z","0.1.0":"2026-06-13T02:45:05.983Z","0.2.0":"2026-06-14T07:07:42.323Z","0.2.1":"2026-08-26T04:50:18.830Z","0.3.0":"2026-08-27T10:34:34.278Z","0.4.0":"2026-08-27T12:12:51.855Z","0.4.1":"2026-08-27T15:55:59.285Z","0.5.0":"2026-08-28T07:42:43.856Z","0.5.1":"2026-08-28T19:12:56.306Z","0.5.2":"2026-08-28T19:24:33.128Z","0.5.3":"2026-08-29T01:58:32.946Z","0.5.4":"2026-08-29T02:17:42.282Z","0.6.0":"2026-08-29T09:07:54.834Z","0.6.1":"2026-09-02T14:35:37.659Z","0.7.0":"2026-09-04T08:28:12.725Z","0.7.1":"2026-09-04T09:18:36.287Z","0.7.2":"2026-09-04T11:23:21.059Z","0.7.3":"2026-09-04T12:07:01.255Z","0.8.0":"2026-09-05T08:50:55.313Z","0.9.0":"2026-09-05T11:10:24.290Z","0.9.1":"2026-09-07T06:05:17.339Z","0.10.0":"2026-09-09T00:56:27.493Z","0.11.0":"2026-09-09T07:10:41.502Z","0.11.1":"2026-09-09T08:19:20.646Z","0.11.2":"2026-09-11T07:48:16.161Z","0.11.3":"2026-09-11T10:34:07.728Z","0.11.4":"2026-09-11T12:07:25.175Z","0.11.5":"2026-09-11T12:26:49.698Z","0.12.0":"2026-09-13T16:00:16.428Z","0.13.0":"2026-09-14T14:09:08.372Z","0.14.0":"2026-09-14T17:50:42.117Z","0.15.0":"2026-09-14T18:48:05.977Z","0.16.0":"2026-09-14T22:37:52.146Z","0.17.0":"2026-09-15T03:32:32.692Z","0.17.1":"2026-09-15T12:36:07.760Z","0.18.0":"2026-09-18T03:17:56.609Z","0.19.0":"2026-09-18T06:53:50.866Z","0.20.0":"2026-09-18T07:46:13.644Z","0.21.0":"2026-09-20T08:27:13.607Z","0.22.0":"2026-09-21T13:56:57.261Z","0.23.0":"2026-09-22T13:50:18.334Z"},"bugs":{"url":"https://github.com/theinfluencecompany/realtime-avatar-sdk/issues"},"author":{"name":"The Influence Company"},"license":"MIT","homepage":"https://realtimeavatar.ai/docs","keywords":["ai","avatar","realtime","voice","video","agent","full-duplex","livekit","sdk","api-client","react","react-native"],"repository":{"url":"git+https://github.com/theinfluencecompany/realtime-avatar-sdk.git","type":"git","directory":"libs/sdk-server"},"description":"Realtime Avatar SDK. `realtime-avatar` and the route adapters hold your API key and are server-only; `realtime-avatar/react`, `/browser` and `/tools` never can — importing a server entry into a browser build throws at bundle time.","maintainers":[{"name":"tonyabradabra","email":"tongxupeng.cpu@gmail.com"},{"name":"gmdnn","email":"zjudn2013@gmail.com"}],"readme":"# realtime-avatar\n\nA live character your users can talk to — voice, or voice and video. She listens while she\nspeaks, so you can interrupt her mid-sentence and she stops, the way a person stops.\n\n```bash\nnpm install --save-exact realtime-avatar@0.17.0\n```\n\n```ts\nimport { RealtimeAvatar, isQueued } from \"realtime-avatar\";\n\nconst rta = new RealtimeAvatar({ apiKey: process.env.REALTIME_AVATAR_API_KEY! });\n\n// On your server. The client picks WHO to call; you decide everything about the call.\nconst call = await rta.startCall({\n  avatarId: \"ava_…\",\n  instructions: \"You are Rin. Short, warm, specific sentences.\",\n  maxSeconds: 600,\n});\n\nif (isQueued(call)) return { queued: true, position: call.position };\nreturn call.raw;   // relay to the browser byte-for-byte\n```\n\nThat is the whole server half. The client joins with the payload and renders her.\n\n## Optional call recordings\n\nYour server decides whether to record after your application obtains consent:\n\n```ts\nconst call = await rta.startCall({ avatarId, recording: \"audio_video\" });\nif (!isQueued(call) && call.recording) {\n  await saveRecordingId(call.sessionId, call.recording.recordingId);\n}\n\n// Later, in your authenticated admin backend:\nconst recording = await rta.getRecording(recordingId);\nif (recording.status === \"ready\") {\n  const { url, expiresAt } = await rta.getRecordingAccess(recordingId);\n  // Return this short-lived access to the authorized viewer.\n}\n```\n\nOmitted or `\"off\"` disables recording. `\"audio\"` records published user and avatar audio;\n`\"video\"` records published video without audio; `\"audio_video\"` keeps both on one media timeline.\nRecording does not enable the microphone, camera, or screen sharing. Only tracks that participants\nauthorize and publish can be recorded. Camera controls remain a future SDK feature.\n\nRecordings may finish processing after a call ends. Use `listRecordings({ sessionId })` to find\nthem, or refresh `getRecording(recordingId)` while processing. These methods and\n`getRecordingAccess` require a server key with `recordings:read`.\n\nSave `recordingId`, not a playback URL. Files are retained until `retainedUntil` (30 days by\ndefault); each URL expires at `expiresAt` (up to one hour, capped by retention). Obtain fresh\naccess before replaying or seeking after expiry. An expired URL does not delete the file.\nTreat the URL as private: anyone who has it can play that file until it expires.\n\n## Optional connection history\n\nSet `connectionHistory: true` in the server's `startCall` policy when the caller needs a\ntenant-scoped LiveKit quality timeline. The SDK enables its collector only when RTA grants the\nsingle-session capability. It receives the bridge's existing LiveKit connection snapshots,\ndeduplicates changes, batches at most 32 observations, and stops at 240; it does not poll WebRTC\nstatistics or own reconnect logic. Upload failures are bounded and never interrupt a call.\n\n```ts\nconst call = await rta.startCall({ avatarId, connectionHistory: true });\n// Relay call.raw unchanged. The browser SDK uploads capability-gated observations automatically.\nconst history = await rta.getConnectionHistory(call.sessionId);\n```\n\nHistory is an observation of native connection state and publisher quality. It is not a recording,\npacket-loss report, or proof that a device rendered or played a track. The read requires\n`usage:read`; store the session ID and fetch history from your authorized backend.\n\nTranscript delivery remains the signed `transcript` webhook configured on `startCall`. Join the\ntranscript and recordings by `sessionId`; keep your own script revision with that call. Transcript\ntimestamps describe conversation turns and do not by themselves establish frame-accurate media\nalignment for lip-sync analysis.\n\nClient-safe Zod schemas and derived types are available from `realtime-avatar/recording`.\nThey are the same executable contract used by the service, verified against the published digest.\n\n```mermaid\n---\ntitle: Recording ownership and private playback\n---\nflowchart LR\n  App[Application server: consent and recording policy] --> RTA[RTA: call and recording lifecycle]\n  RTA --> Media[Media provider: record published tracks]\n  Media --> Storage[Private media storage]\n  RTA --> Metadata[Recording ID and session ID]\n  Admin[Authorized admin backend] --> RTA\n  RTA --> Access[Temporary playback URL]\n  Access --> Player[Video or audio player]\n  Storage --> Player\n```\n\nNew here? The [quickstart](https://realtimeavatar.ai/docs/quickstart) goes from an API key to a\nworking call, and a [sandbox key](https://realtimeavatar.ai/signup) is free with no card. Mount\nthe server half on your framework:\n[Next.js](https://realtimeavatar.ai/docs/nextjs) ·\n[Express](https://realtimeavatar.ai/docs/express) ·\n[Hono, Workers, Bun, Deno](https://realtimeavatar.ai/docs/hono) ·\n[TanStack Start](https://realtimeavatar.ai/docs/tanstack-start), and render it with\n[React or React Native](https://realtimeavatar.ai/docs/react).\n\nUsing a coding agent? Point it at [`AGENTS.md`](../../AGENTS.md) and give it the\n[MCP server](https://realtimeavatar.ai/docs/mcp) so it can read your real avatar ids instead of\ninventing them.\n\n---\n\n## What you get\n\n| | |\n| --- | --- |\n| **Voice or video** | The same call, the same code. `mode: \"voice\"` is audio-only and cheaper. |\n| **Full-duplex** | Interrupt her and she stops. A cough does not derail her. A pause is not the end of your turn. |\n| **Your character** | Your footage, your voice, your persona — not a stock presenter. |\n| **Your tools** | You run them; you feed the result back into a turn. Nothing calls your API on your behalf. |\n| **Priced to leave on** | Under $5/hour of live conversation, billed by the second. |\n\n---\n\n## The shape of an integration\n\n```\nyour client  ──▶  your backend  ──▶  Realtime Avatar\n                  (holds the key,      (capacity, listening,\n                   decides the call)    thinking, speaking, rendering)\n     ◀────────── live audio + video, and she is listening ──────────\n```\n\nTwo facts follow from that picture and drive everything else:\n\n1. **The key is server-only.** A browser holding it can start unlimited calls on your\n   account. The constructor throws in a browser runtime so that fails loudly, not silently.\n2. **The connection payload is opaque.** Relay `call.raw` untouched — the browser client\n   validates it strictly.\n\n---\n\n## Input source on room messages\n\nOn React and React Native, `session.sendTurn(text)` automatically observes text.\nFor already recognized speech, bind\n`session.createTranscriptSender({ inputSource: \"client_stt\" })` once per session.\nThe adapter defaults to `client_stt`; it captures its own default, and accepts a\nper-send `{ inputSource: \"text\" }` override. `sendTurn` accepts the same optional\ndeclaration. Only `text` and `client_stt` are valid client declarations. No speech\nrecognition engine is included. `instructions` still work on either sender.\n\n`retryTurn()` preserves the resolved source and declaration scope after a timeout,\nwith a new `turn_id` and `retry_of_turn_id` pointing to the previous attempt.\nRoom consumers receive the attributes through the existing `lk.chat` text stream.\n`useChat().chatMessages` exposes them as `message.attributes`; an imperative receiver\ncan read `reader.info.attributes` in `registerTextStreamHandler(\"lk.chat\", handler)`.\nThe observation is `rta.observed_input_source`; the optional declaration and scope\nare `rta.declared_input_source` and `rta.input_source_declaration_scope`. Missing\nlegacy attributes remain unknown. Use one handler owner per topic; a `useChat`\nconsumer should not register a duplicate raw handler on the same room.\n\nThis path needs no inference or platform changes. The consumer must already be\nconnected to the room, and text-stream messages are not durable webhook deliveries.\nThe legacy `lk-chat-topic` compatibility path omits attributes. Automatic RTA server\nSTT attribution and final transcript webhook provenance are separate work. Existing\nwebhook types and behavior are unchanged.\n\n## API\n\nEverything is on one class. The full types are in\n[`libs/http-client/src/types.ts`](../http-client/src/types.ts) — one file, no import chasing.\nAlmost every shape in it is **derived** from the published OpenAPI contract rather than declared\nbeside it, so a field that changes upstream fails the typecheck here. The exceptions are named at\nthe top of that file with the reason for each: two are gaps in the contract itself (it declares no\nquery parameters for `GET /v1/usage/sessions`, and the transcript webhook body is not in it at\nall), and the `video` policy types are deliberately not one-to-one with the wire.\n\n```ts\n// calls\nrta.startCall({ avatarId, mode?, instructions?, context?, maxSeconds?, video?, recording?, connectionHistory?, transcript?, metadata? })\nrta.endCall(sessionId, { reason? })     // free an abandoned call's slot; idempotent, never throws\n\n// optional recordings; server only, requires recordings:read\nrta.listRecordings({ sessionId, limit?, cursor? })\nrta.getRecording(recordingId)\nrta.getRecordingAccess(recordingId)\nrta.getConnectionHistory(sessionId)    // bounded LiveKit observations; requires usage:read\n\n// avatars\nrta.createAvatarFromImage({ displayName, imageUrl, motionPrompt?, voice? })  // the only lane\nrta.createAvatarFromVideo({ displayName, videoUrl, voice? })                 // DEPRECATED — closed, 422\nrta.listAvatars()\nrta.getAvatar(avatarId)\nrta.updateAvatar(avatarId, patch)       // re-point displayName / defaultVoiceId\nrta.swapSource(avatarId, { sourceAssetId, anchorTimeMs? })  // re-shoot her: new loop, library re-renders\nrta.retimeAnchor(avatarId, anchorTimeMs)                    // same loop, different rest frame\nrta.deleteAvatar(avatarId)\n\n// clip library — declared as JSON, never as URLs\nrta.setClipLibrary(avatarId, { expectedRevision, clips, idle?, on?, actions? })  // full source record + behavior; revision required\nrta.setLoop(avatarId, { motionPrompt })     // re-direct the RESTING LOOP; clips untouched\nrta.waitForLoop(avatarId)               // block until it settles; THROWS if it failed\nrta.waitForClips(avatarId)              // block until nothing is still rendering\nrta.listClips(avatarId)                 // rows + revision, anchor, eligibility\n\n// assets\nrta.createRemoteAsset({ kind, remoteUrl })\nrta.uploadAsset(file, { kind })\n\n// billing\nrta.creditBalance()                                 // balance + reserved\nrta.listSessions({ from, to, endUserId })           // per-session: when, how long, what it cost\nrta.iterateSessions({ from, to })                   // the same, paging handled\n\n// webhooks\nverifyTranscript(rawBytes, headers, secret)\n```\n\n---\n\n## Subpaths\n\n**One install.** tsup treeshakes per entry, so a server-only app importing `realtime-avatar/server`\ngets 18.8 KB with no React and no LiveKit in it, even though they sit in the same tarball.\n\nServer — these hold your API key:\n\n| Import | What it is |\n| --- | --- |\n| `realtime-avatar` | `RealtimeAvatar`, `isQueued`, `verifyTranscript`, the two error classes |\n| `realtime-avatar/server` | The same client with no route adapters — 18.8 KB |\n| `realtime-avatar/nextjs` | `createRealtimeAvatarRoute` — App Router `{ GET, POST }` |\n| `realtime-avatar/hono` | `realtimeAvatarHono` — Hono, Workers, Bun, Deno |\n| `realtime-avatar/express` | `realtimeAvatarExpress` |\n| `realtime-avatar/tanstack-start` | TanStack Start server route |\n\nBrowser — these never can:\n\n| Import | What it is |\n| --- | --- |\n| `realtime-avatar/react` | `AvatarCall`, `useAvatarCall`, `useRealtimeSession`, `useSessionLifecycle` |\n| `realtime-avatar/react-native` | The same surface for Expo / React Native |\n| `realtime-avatar/browser` | `enableMicrophone`, `attachRemoteAudio`, `prepareAvatarRoom` — no React |\n| `realtime-avatar/tools` | `attachAvatarTools` — the browser tool plane |\n| `realtime-avatar/recording` | Client-safe Zod recording schemas and derived types |\n\nEvery adapter takes the same two hooks: `authorize` gates the request, `session` decides the\ncall. Policy — `instructions`, `maxSeconds`, `voice`, `video` — is decided in `session`, on\nyour server. A route that spreads the request body into `startCall` hands your caller your\nsystem prompt and your bill.\n\n### Optional connection details\n\n`AvatarCall` provides call status, actions and end reasons for your default UI. To show\nconnection diagnostics, opt in with `onConnectionDetailsChange`. It supplies data for\nyour own UI; enabling it adds no built-in network notice or controls.\n\n```tsx\nimport { useState } from \"react\";\nimport { AvatarCall, type AvatarCallProps, type AvatarConnectionDetails } from \"realtime-avatar/react\";\n\nfunction CallWithDetails(props: Pick<AvatarCallProps, \"client\" | \"avatarId\">) {\n  const [details, setDetails] = useState<AvatarConnectionDetails | null>(null);\n\n  return (\n    <>\n      <AvatarCall {...props} onConnectionDetailsChange={setDetails} />\n      {details && <p>Connection: {details.connectionState}. Local quality: {details.localQuality}.</p>}\n    </>\n  );\n}\n```\n\nOnce bound to a call, the callback receives an initial snapshot, then changed facts only. It receives `null`\nwhen its room or session binding is retired, before a replacement binding's snapshot.\nClearing the session grant keeps details reset until a new grant arrives.\nKeep this state scoped to one call and clear it on `null`, as the example does. This is\na current snapshot, not a lossless event history. Replacing the handler does not restart\nthe call, and errors in your handler do not interrupt it. Omitting the callback adds no\nreporting listeners; the callback adds no timers, stats polling or uploads.\n\nEach field preserves LiveKit's native type and meaning:\n\n| Field | Source |\n| --- | --- |\n| `connectionState` | The bound room's `state`. |\n| `localQuality` | The local participant's `connectionQuality`. |\n| `audio.publisherQuality` | The selected audio publisher's `connectionQuality`. |\n| `video.publisherQuality` | The selected video publisher's `connectionQuality`. |\n| `audio.streamState`, `video.streamState` | The corresponding remote track's `streamState`, or `null` before the track exists. |\n\nAudio and video publishers are selected independently and can differ. Neither field\nsubstitutes the control agent or an arbitrary remote participant. `audio` or `video` is\n`null` when no corresponding track reference is selected; LiveKit's `Unknown` quality\nmeans a publisher exists but its quality is unknown. An active or subscribed track does\nnot prove that video has rendered or audio is audible. Continue using call status for\nthe call lifecycle.\n\nNative and custom integrations pass the same optional callback to their existing\n`SessionLifecycleRoomBridge` inside `RealtimeAvatarLiveKitRoom`. Both\n`realtime-avatar/react` and `realtime-avatar/react-native` export `AvatarConnectionDetails`.\nFor deeper receiver measurements, use LiveKit's public `RemoteVideoTrack.getReceiverStats()`\nand `RemoteAudioTrack.getReceiverStats()` methods and their native return types.\n\nRetain the app's session-to-room association (`room_name`, timestamps and participant\nidentity), adding the server-observed room SID when exact room-lifetime lookup needs it.\nLiveKit owns participant connection history; a participant SID identifies one incarnation.\nUse these references to look up details in LiveKit's own diagnostics. The existing quality governor\nand opt-in adaptive playout are product policies over LiveKit facts; setting\n`adaptiveQuality={false}` releases the manual quality ceiling while LiveKit's bandwidth\nadaptation continues. Adaptive playout reads only public LiveKit track reports.\n\n### Importing a server entry into a browser build throws\n\nNot a lint rule and not a naming convention — the six server subpaths carry `browser` and\n`react-native` export conditions pointing at a module whose only statement is a `throw`, so the\nkey-holding code never enters a client module graph. Measured: a browser bundle that imports both\nhalves contains **0** occurrences of `Bearer` or `apiKey`.\n\nThis lived under a second npm name (`realtime-avatar-react`) until 2026-08-26, on the theory that a\ncondition \"chooses which file is bundled, never whether the package is\". That was tested and is\nfalse. Two things worth knowing if you copy the pattern: do **not** use `\"browser\": null` — Vite 8\nand rolldown ignore it and bundle the server file *with* the secret — and do not leave\n`\"sideEffects\": false` in place, which lets a bundler treeshake a throw-only module away and\nsilently disarms the whole guard.\n\n## The two subpaths that are not React\n\n`enableMicrophone` returns the cause as a value instead of throwing, because \"the mic won't\nstart\" is one sentence covering six causes with different fixes — and one of them, a macOS\nsystem denial, cannot be fixed from the address bar and needs the browser restarted.\n`attachRemoteAudio` attaches into the DOM *before* `connect`, which is what stops a track\narriving mid-connect from being lost on a fast connection.\n`prepareAvatarRoom(room)` — one call after `new Room()` — gives every track the room subscribes\nthe same 0.5s receiver cushion the React surface applies on its own: the avatar crosses the public\ninternet, a shallow buffer freezes on every lost packet, and a deeper one recovers it before\nplayout (measured at ~5% loss: ~11fps with multi-second freezes → a steady 25fps). It covers audio\nand video alike so the pair stays lip-locked, and `attachRemoteAudio` calls it for you, so a page\nthat follows the pattern above never has to know the knob exists. `applyPlayoutDelay(track)` is the\nper-track primitive underneath. Until these lived here the cushion was only reachable through\n`/react`, which is why every plain-DOM page — this repo's demos included — froze that way; and in\nReact it was applied only by `AvatarVideoSurface`, so `RealtimeAvatarLiveKitRoom` now applies it\nroom-wide to whatever you render inside it (`playoutDelaySeconds={false}` opts out).\n\n`attachAvatarTools` runs your functions in the page. Nothing is executed on the platform, and\na tool has **2.5 seconds** to answer before the call gives up on it and tells her it failed.\n\n## What `/react` exports, and what it deliberately does not\n\n31 names, down from 82 on 2026-08-26. Two groups came out and are not coming back:\n\n**LiveKit symbols.** `Room`, `RoomEvent`, `Track`, `useRoomContext` and 20 others were\nre-exported from here. `livekit-client` and `@livekit/components-react` are peer dependencies, so\nimport them from LiveKit directly and you get the version you installed — re-exporting put their\ntypes in this package's public surface, which meant a LiveKit major could break ours without a\nline of our code changing.\n\n**State-machine internals.** `acquireMicLease`, `stepQualityGovernor`, `retryStep`,\n`resolveWarnBeforeMs` and 27 more were the individual steps the hooks drive. None was callable in\na useful order from outside, and every one was a name we would have had to keep working forever.\n\nWhat stayed: the components and hooks, the `DEFAULT_*` constants (so you can read the timings\nrather than guess them), the two capacity mappers `capacityErrorFromBusy` / `capacityStateFromGrant`\nfor building your own queue UI, and the zod schemas `sessionBehaviorSchema` / `sessionClipSchema`.\n\n\n---\n\n## Docs and support\n\n- Full documentation: <https://realtimeavatar.ai/docs>\n- [Quickstart](https://realtimeavatar.ai/docs/quickstart) — key to a live call\n- [Authentication](https://realtimeavatar.ai/docs/authentication) — what belongs on your server, and why\n- [Calls](https://realtimeavatar.ai/docs/sessions) — what your server decides and what the client reports\n- [Creating an avatar](https://realtimeavatar.ai/docs/video) — one photo in, a moving character out\n- [Tool calling](https://realtimeavatar.ai/docs/tool-calling) — your handlers, your server, no hosted executor\n- [MCP server](https://realtimeavatar.ai/docs/mcp) — give a coding agent the account itself\n- [API reference](https://realtimeavatar.ai/docs/api-reference) · [OpenAPI 3.1](https://realtimeavatar.ai/openapi.json)\n- [Pricing](https://realtimeavatar.ai/pricing) — one meter, seconds on air\n- Issues and feature requests: this repo\n- The API is versioned at `/api/v1`; breaking changes get a new version, not a silent edit.\n\nMIT licensed.\n\n\n### Continuous participant recordings\n\nUse `recording: \"participants\"` on your server to retain the two participants\nseparately. A camera-enabled call has four logical media tracks in two MP4 files:\nuser camera/microphone and character video/voice. Each file is continuous through\ncamera mute, unpublish and republish; the user's microphone continues while their\ncamera is off. `camera: true` is still a separate publication permission, and\nrecording alone never opens a camera. Voice-only participants get audio-only MP4s.\n\nThe returned `call.recordings` contains both pending artifacts, while legacy\nmodes retain `call.recording`. Once finalized, use `listRecordings({ sessionId })`\nand `getRecordingAccess(recordingId)` to retrieve authorized, renewable URLs.\n`recording.participant.role` identifies the user or character; media timestamps\nalign the files without fixing their visual layout. Keep failed/missing files\nvisible instead of treating the surviving participant as a complete recording.\n\n```tsx\nimport { RecordingPlayer } from \"realtime-avatar/react\";\n\n// assets comes from your authenticated application endpoint.\n// Each item is { recording, url }; refresh expiring URLs through your server.\n<RecordingPlayer assets={assets} />\n```\n\nThe player provides one play/pause control and one seek bar for both files. It\nplays each file's audio once, preserves start offsets, waits for buffering and\nrefuses to guess synchronization when media timestamps are missing. Original\nfiles remain independently playable and editable. Participant departure ends\nthat file; a new call is a new session, not an automatic concatenation.\n","readmeFilename":"README.md"}