{"_id":"@gethashd/bytecave-browser","_rev":"68-6b8b42997185b5b511802e50ff80f655","name":"@gethashd/bytecave-browser","dist-tags":{"latest":"1.0.64"},"versions":{"1.0.1":{"name":"@gethashd/bytecave-browser","version":"1.0.1","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.1","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"0bd1d464f33a6ceab4eeab122700093f97742030","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.1.tgz","fileCount":39,"integrity":"sha512-WcAJv3zvZxCjMXX+KNyJTYMb/y6+MCvae4Gycx8f3alv62OAikk6mao8R8wVWxV8MLtc+OBFPqsgzWuT0hrDxw==","signatures":[{"sig":"MEUCIGA7HIqk/HAoqLHuUShBUf2puIfaCnF/kN7tBqvBJw8jAiEAz07JPfn1WkJrZJI2PbZIjDht5N6EOQDLM9eIn3hv6v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773358},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.1_1769018306929_0.7759372760037413","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@gethashd/bytecave-browser","version":"1.0.2","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.2","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"a72e788cd4759cefed311f727317de7d716fc355","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.2.tgz","fileCount":39,"integrity":"sha512-ns+fRrGS8SKFTfat4KXP4qqgRFr63ie8E4pZRaQ/gb6/AxWCc4JE94vZxl9x2uGH0/aqCTO+5YIqZLXjqkaXjw==","signatures":[{"sig":"MEQCICHIcmQIf1dcNX31w6WMnKAHtyX+50Wv+zpokCcdqlPVAiA+ftDUfIIf/PlY06oh4vDYorG/om4bjbMI6ArNdu9BTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773358},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.2_1769080656904_0.7721819127061058","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@gethashd/bytecave-browser","version":"1.0.3","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.3","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"a9e27d96f662c54de308722c03f74ac598c4e46b","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.3.tgz","fileCount":39,"integrity":"sha512-ctSfcfPghAQ+XuP/XK8TJ31ebBwGq53nZFTgE+jNEBXV5rcyu6Ae58oQsgnsKQ9jZw+OcrMWa0S/xiMYCjH6+A==","signatures":[{"sig":"MEUCIQCLmp4YhmKdf/Vr/oVkMBcPgNcpxDq9OTaDEqkp58Hs8gIgX/vyEW9p3EU7KUwRchFg9kvkK2L5SuKMgwqN3VVHxgw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781594},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"d9efff26d548747a091eb7a31085ed2be80833e9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.3_1769084982993_0.5109452907163887","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@gethashd/bytecave-browser","version":"1.0.4","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.4","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"b94844a44e4a9969bf505cebad66ff7d20d26457","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.4.tgz","fileCount":39,"integrity":"sha512-pGm3RxhP7wuqiD4mCBdJSUXgBWFcuk7V3z9wzZ+2XrIbJXmiO0AzvY4fuiJDkfxmBbA2SABl2I5RFEueWEBtxw==","signatures":[{"sig":"MEYCIQDVMDBt/yPjoogO6O8t1mct1Q39x8gbuPY6dXcLF6rVegIhAIPXE9pSEWhZPBtomABTLPHHeaUOaB0be0pfmJjbCQAM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782393},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"becb4373dccb6f3953462b9e653231959147f7d3","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.4_1769085345171_0.789568719160306","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@gethashd/bytecave-browser","version":"1.0.5","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.5","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"d5ddb1756b382b1081214ea8b131d19cd5d42ce8","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.5.tgz","fileCount":39,"integrity":"sha512-oGjWtIt9LpkMIKaSltUOhy5iIdnWVEPHRSIX0MJ2on4q/swxiUBD+W0Os3O4edpWuVIv32ROR3KPzt7K8DPdMw==","signatures":[{"sig":"MEUCIFJVFaVQwUVN5L0uZRQZ9/cIIP3cBZJg9sABg5iaBD4tAiEAzeUMBsZZ1mYHOG4kaiusViHCrTvdp5bTUenOKdgmBuA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782707},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"becb4373dccb6f3953462b9e653231959147f7d3","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.5_1769085691182_0.10688531817573343","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@gethashd/bytecave-browser","version":"1.0.6","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.6","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"11eab41a0b0b204f327cfd6de785e9f13d8f2f26","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.6.tgz","fileCount":39,"integrity":"sha512-MsPAqPZAy+sS5rOIMwBdDIn+xu+D27U1gJiBqZpvNCKMvZofvkoCf5X82JlRdb32/34Ar4tiHbdt5Q/MteWdxA==","signatures":[{"sig":"MEUCIQDh7lKuncDgbVnyd5oR02MsPi9x6X4heOHEnuhNCKhZ1AIgC5hVnClUOabb12ooGNjHXJprAii4pcSzH3GpAz4qC18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783483},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ce5f4c96ff4399b5e9c70c8ec344f2a5a2b0a47c","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.6_1769087728639_0.00843290442755662","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@gethashd/bytecave-browser","version":"1.0.7","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.7","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"300791f417d22dc9bca020d6f837113056388bed","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.7.tgz","fileCount":39,"integrity":"sha512-fBBOc/bzWxM5gOeSNIeisHxLcLK1AtK413qGcnlTJmSYN5YIiqHxOL2JUVi0x5Rb8V0VLWQdAMcv4ECrIFryCw==","signatures":[{"sig":"MEUCIGUhYBE4n5YUMTfNAScdZkknNxE3gCe8T4QcbWUlm36iAiEArbG1DHACM9+8RbImQBPr6FtLJMpiF1Ns+NA3QrRACRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783786},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"9d24077f12f8f0bd196d75c471a4459ef01aa5d8","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.7_1769088176110_0.05048448218944612","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@gethashd/bytecave-browser","version":"1.0.8","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.8","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"01f43e0c1d2b6bca8c0b39582c75c4aa8cff487d","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.8.tgz","fileCount":39,"integrity":"sha512-1exwvfnePiFnHu4kUb0wdzzcoQ2ScQAYHQ009Bz8ajQK7hh64B7cmJfniEYRzqcPacw0eBLX0TNeYfeET66e3Q==","signatures":[{"sig":"MEUCIQCZYYTcUnIZJA8Lw5+kPsRBd0+zMTci8b/6UEryJNxAHAIgTrDRUXUP6HKDyKPVLs7ipc7igFou1mhWlAjOsMs7k0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":784363},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"9d24077f12f8f0bd196d75c471a4459ef01aa5d8","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.8_1769088289421_0.09499053368284294","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@gethashd/bytecave-browser","version":"1.0.9","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.9","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ff414cd0f1b9c5b5f2cadbb857a4b99552ecb02a","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.9.tgz","fileCount":39,"integrity":"sha512-IVvlpl3oOikDwOO8wbU5CgRiUIXr0Qt3mw1SYjal7bB1yZqli/pOyx3emty03eZGPIUt+BXkGsW+j/Xt8RkAyQ==","signatures":[{"sig":"MEUCIATcc4mj4mIyrENPhZK88OND7o/5L0J4hgQwD9nkVQtaAiEA0m9RClOomZpMn2+Q4zz/ZAwvE8WPROkS40/Ha78p3ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782260},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"f456736cf7982d0e4ff90d5613105d61be560386","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.9_1769088647388_0.04921662245720371","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@gethashd/bytecave-browser","version":"1.0.10","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.10","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"e6ed9f95dc5c9a5e8034194bcb21f4e9e3bf0cab","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.10.tgz","fileCount":39,"integrity":"sha512-kz8gQ2i5Qc4cp6UPc+tizSnqsJCN4HikZN3Md6imqGNBgASKILLXSYXURxV0gqavx+T9NK+14P+Z/kp9gqq4jA==","signatures":[{"sig":"MEYCIQDmCCXTcLhGQgrwoporDHxM0DmlR1xb6vQpA49zB/Cz6wIhAOoGVbO8oHyyMPQ3xFSPAyHAnUl12ynxgTzk779lwkQG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782523},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"c931d7bc406a14b8c13dc2733483ed4ee0a3a2ca","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.10_1769088856806_0.816384724670326","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@gethashd/bytecave-browser","version":"1.0.11","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.11","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"d590b8ba93885ebf325632988c5dbefa6e2ade0e","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.11.tgz","fileCount":39,"integrity":"sha512-QFMgpQs4n37Ct/7I4g3geOC9wD0tW3xzKkI5jsuQYniDgKz8hWo9Dlu1uaHmHt79hQAt9Llxv+4TdnNX0LkeGg==","signatures":[{"sig":"MEMCIG/nuiJ/Vp2meD2gsOQhSq/XceM+4Fu5fwcSXl5SOieeAh9fN9D1q5nEqVe62MlTG79eMIAke3K8szgddKwUL+hJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782529},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.11_1769089186512_0.6862432494037258","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@gethashd/bytecave-browser","version":"1.0.12","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.12","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ee29c06110a8069e5d9a2944b0bb99738fff58c0","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.12.tgz","fileCount":39,"integrity":"sha512-rKGDbG+tT78t4QszO7Um5JRi599Ra/0LoQHJE4185E4e0Tx5JAQCUFy0Jf6msVPTMxv1NfPRKKP2IZjdBQnLhQ==","signatures":[{"sig":"MEYCIQD2v1KEWIZ7Y1/BpmrBPJHyssXKzM3f7jda2JDC4l5b1gIhANpMpQEAM+fJWy8Pb8hs5CLmOglN7KBWdYJyB1biCBNO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":788284},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.12_1769091945377_0.2167300938477621","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@gethashd/bytecave-browser","version":"1.0.13","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.13","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ae54692eb771df651a836dc2d08c172245b2bd31","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.13.tgz","fileCount":39,"integrity":"sha512-6TyOyywBI8Yvs4c8pqUPqz8KkZ8oQnJs1SYU5zcwjTBJsFbWZZEn/P+0HGAp/zDHgUco6sE7Nq5k79O33+Vm8g==","signatures":[{"sig":"MEQCICdNmsKbGgIB8byOCHilF0AVlx8+95bpywTlpbs7mfaUAiARmdiNB2TV1lMYk4EsyL9AmczvdQWQexyDPvFNLnBOWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":790314},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.13_1769094003036_0.7187845825380703","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@gethashd/bytecave-browser","version":"1.0.15","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.15","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"2edfc220e1491feb47a2df312c290f66c750ccdd","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.15.tgz","fileCount":39,"integrity":"sha512-oJe8y1hxZMIoxqAXwlF+g4XzEqjbdzbRuRL1IMO0Ggz09RWtLd7pKOP3S4t61Z6ogs5EBQQb7NRytU8rcOl6QA==","signatures":[{"sig":"MEYCIQDQE35DPF5wnwPk4VaTWqoQSVTjLOK8TgyGi41k6HINdgIhAJkoXlVKuj96SYF4QAuThqqKuEuiPbSqDBrfaAnfgeWq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":796894},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.15_1769094498099_0.8120728368554688","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@gethashd/bytecave-browser","version":"1.0.16","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.16","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"dd4507547a169904fce89ed12a574241e19c64b8","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.16.tgz","fileCount":39,"integrity":"sha512-nSeIQOTcku3rsvyfrlzSfjnsCcMfDPagZXhYRCylxm+42MdBMBd2CJvt+lZk09RwDuML9S8rHlWvABvffHqwSQ==","signatures":[{"sig":"MEYCIQDB8+sD7AIj++w9FEfhJddpWCgBydwxq3rGMHCJjgrIYAIhAI6G87z61sbN4aOBGiAAYMKc5BMyY+68wsI872ZHUfhh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797461},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.16_1769096443289_0.8891071505893324","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@gethashd/bytecave-browser","version":"1.0.17","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.17","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"eb50c7ecc2e8230a1f35bf1c1db69a71da6b2574","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.17.tgz","fileCount":39,"integrity":"sha512-Wc+fydPSiEuLKYyQ0xjEPp8Wzy2pYlFNz8lWPkaab2RHsG0EV5M5WcdYBWESfzFJnVPEqdm+DdxKLGBehniXpA==","signatures":[{"sig":"MEUCIQD23XMBCZZq/G8nX0Wlbkqk0OqYJ0Jo4+pD/6e/8VINggIgEl5Os8yg0JaF6gDJ3s2RvxHTIM+kC/iX/U5FIJL9jdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":798356},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.17_1769096804374_0.2817619912891678","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@gethashd/bytecave-browser","version":"1.0.18","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.18","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"f2c39add8498e92c56071b3f235128f1e1cef948","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.18.tgz","fileCount":39,"integrity":"sha512-vLWY9APFWTCtk2jd+IMVZP6AswO+1mpxKWaKAK2OE8gZBqB+UpO3d9TksN/07/Vr3snl21bNlqmaCAoB+VpQ/w==","signatures":[{"sig":"MEQCIHjUsxWirLGshuCwv7HhN/lFYLYWwZucJPHYRa7KocnoAiA9u7WJ0QTkaidVnXCTY5b4KTX7DxKxPZuFj1PnN6vf0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":798085},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.18_1769098612417_0.4530579169554392","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@gethashd/bytecave-browser","version":"1.0.19","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.19","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"2609af803454f51f8735928810d59821f32b0fb9","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.19.tgz","fileCount":39,"integrity":"sha512-nBALWtiD+dt5ZpFiw1du3z8gZFhX+uv7flwsWxvN+srlKS41XDhJthoZ68exwFwJ2OYIVJCuXo5k1JoG4QMUuQ==","signatures":[{"sig":"MEUCIQDoKlsFVSjimeN+PrM2fR/Kfo2vOO2Y92hkePw1rJujnwIgMgfLZEO/LkkuRebFFll7EDqqKbRCvmbp/meCrumNQwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797556},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.19_1769098732125_0.7894151033756023","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@gethashd/bytecave-browser","version":"1.0.20","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.20","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"13aa07aa22bc3b1c24524c014c784031d4085416","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.20.tgz","fileCount":39,"integrity":"sha512-JRFu0/H44x9BgWq22F1PddapW1zVUVwy4I8SMBa+roqy8oQrZUKJc70e+X3fjS48NLhy1N+sd2s13lcS2PYFDg==","signatures":[{"sig":"MEUCIAcKie036q+pH53+fkHamnKB9TK3XUZRG7Ms0saCmaWCAiEA4VBtK2YYfib50MU6nKwr+aTUMZo6lhhora4HJtl9+40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":799518},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"e4ba8da1df87eca39ec9c011b18f8d9867fbc780","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.20_1769099718847_0.5357550341893373","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@gethashd/bytecave-browser","version":"1.0.21","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.21","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"b194c73d8215dd784f0191038ee8511ddc3e1e80","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.21.tgz","fileCount":39,"integrity":"sha512-+88Ycpzqo+lsAIXasg8hFt4FvI6qXcYSk53x8wRAjr7yRHu+/Sti3622g7K5GjM7SiMZ6p+l1QA6zkw7PlP19w==","signatures":[{"sig":"MEUCIEUbAf0IG6lfdc7DFTNPcptGpzTmbftux77I321wLv0hAiEA/0FmubfXTsbPhIoecyUlIN2tNztqFZNoxhlvS5Kh9S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791153},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.21_1769100586584_0.6471751173782119","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@gethashd/bytecave-browser","version":"1.0.22","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.22","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"84ea7d5c366aa4318b560c541b3292d4983049eb","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.22.tgz","fileCount":39,"integrity":"sha512-8L/8wLFu8gucfgKgACzombIwXt8/Imf53oLMftODM3Z06WTSFDZbzluo6aFEJ/boTl39toVLtYPppMNhWIGUnQ==","signatures":[{"sig":"MEYCIQCAtdHfd+NKCJ7Or7Oi797PTO34TSPdTkR0qi8kCRRJ3wIhAIoo4YruRgkJcog8xogIOmzKFuf7Am4Tr+R8gUeXN/Dg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":796908},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.22_1769100716762_0.6842296232919003","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@gethashd/bytecave-browser","version":"1.0.23","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.23","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"a2e9246bcc1f7405b072a857a9fa732532a57fce","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.23.tgz","fileCount":39,"integrity":"sha512-bLBmXQHW+Mr+R6O6HQbyUdUNw7W9U7Cb8Ot066m0rdHIv5nK+Bdu2x9Iz1oQAY/rIgDhMhFr52sNCuf5kYiNrA==","signatures":[{"sig":"MEYCIQCni04iRbS2EmVB/j22TpjXpcKA9Qu+vrGdHGRP3C4t6QIhAPYnSz73Tw5Mw00jTPPsoK/XZvSPKkKV8F4UPnaz2lC8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797691},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.23_1769100895366_0.01649503238298733","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@gethashd/bytecave-browser","version":"1.0.24","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.24","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"900a0eed505cf3fb30e9c1703691dfe832ae372a","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.24.tgz","fileCount":39,"integrity":"sha512-QFLMb7PYimNYT1XAXpOu/BtnGs3kLX0dGPSTJYUSm/uQSr90niFBiDgdS2zCzaFYOMITjeT/f+LSM9yOV/21Uw==","signatures":[{"sig":"MEYCIQDu9P0o+6MpKU2zVWOL10ZtTB0NxgFsZ+qumFnyb3OwpQIhANR7zhUg9xofzto117Fvaa6n9cR09FO1ccby2jABgHsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804755},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.24_1769101305240_0.307314511476809","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@gethashd/bytecave-browser","version":"1.0.25","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.25","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"4ead4688878f399faff7541063e48c41e3a4d42f","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.25.tgz","fileCount":39,"integrity":"sha512-LGfshKPKF7J+HdKcaiBMCDe9QDuCEaltryvEd1LSXf7jfgi3sW49UoKy8aaU6crxb1z3a/CGfvaZkn3vBUoQJQ==","signatures":[{"sig":"MEQCIFCryBHmN/nRjdUmJmLbLyUq144dXnSIUzmAqUNNldveAiAFlUcBZdfqTJb0NH9yqzPUbM2RP9/xgbQRPJ3icS7paw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":807411},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.25_1769101777972_0.711286751187596","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@gethashd/bytecave-browser","version":"1.0.26","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.26","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"98453cf29aef77a3c36c8d8e1118daed555fd1ff","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.26.tgz","fileCount":39,"integrity":"sha512-n6kGXnJupD1hBzDOiC5N0FoHXu8I1LUS2FfGQA11M8bs5qDyQzXgR2lnx9b2IZeeqXpZK/oCVw4g3EoTyqZB0Q==","signatures":[{"sig":"MEQCIB3nCzeCUiR90rejUWDolfnxA6S2Xi6i2Uw0QyhXJQ+YAiBHj23gDafTH5VD+gtLIlfJzF+qbnnGz1JRH3sgOhocNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809375},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.26_1769102107643_0.44941292202867644","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@gethashd/bytecave-browser","version":"1.0.27","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.27","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"99e97e781cbb4c0708c1ed145a17c9890866d2ff","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.27.tgz","fileCount":39,"integrity":"sha512-dSvJESS5gzQUCzOTYEIb0EM5jmLbj+iv/Ezg10pTc7PciLuUZ34396oU86tX/wBjh7SAj6SCIcETuDNFZTPx1A==","signatures":[{"sig":"MEUCIQCo4Jyy3JHRAyQAUf9QfzilTcr6XAGNJJtQOC0a+/clOwIgI70V20o3DVICgO1ZRCDXS+aPM3uu8izU/js3JqYHnEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808827},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.27_1769102220423_0.30710338236292234","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@gethashd/bytecave-browser","version":"1.0.28","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.28","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"b175d98908ed2bce7a5686c00a5e015f78cb484b","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.28.tgz","fileCount":39,"integrity":"sha512-AwFXr6yj1sv5vkZAVDdceJfxEkehbOsYU75qQhuj1OJTRI4WY23YgYF+NXuVzUO3zdeGKnc8judJCQvE668xGg==","signatures":[{"sig":"MEQCICOWPkYEeShEapO+P1O80MYs93MPYG1YU3Hn50Kndq6LAiBxH8L1+FzIFVBBB7ZybKGn6p3PH4hqcqbXhRWoj18+6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814443},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.28_1769102344365_0.8148520481847512","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@gethashd/bytecave-browser","version":"1.0.29","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.29","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ef1f3717968f0e163d6f03d2601849b8b3ecd005","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.29.tgz","fileCount":39,"integrity":"sha512-XprOtROl20aGCIwSKk0el6DqLMWKk2Ihs2/eZ1oAUYdj/1PdoG+TC+pnBIByktmXEg/ZsjKH1gP7Hip167iDaA==","signatures":[{"sig":"MEUCIQDt/yhQBWxaW6aBK/Cezs0I73UGM9EWr1F5pS9GOn3NGQIgP5OGmRn5NR0oHjCxF7zeMVnYxF52P3wfwoMbkwKLYps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814955},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.29_1769102568566_0.8044222460677124","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@gethashd/bytecave-browser","version":"1.0.30","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.30","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"801df514dec378f0026601bef059404c249b62dc","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.30.tgz","fileCount":39,"integrity":"sha512-HHilEd+rRFHi7KzbJxGao4n5vELtfMFFnzy1djgEcBmHCDR58zNpd1Ffk2Z6BsAoShuyVE00AMcwDeZEP7ZRVg==","signatures":[{"sig":"MEYCIQCw1FUBnNcuOyGIZmWyIDrZOmSG2zFy+7V6BswPNpBKSQIhANwjZui+U/o4SzIvXjUWBgC9aZQWGhnS+lmxvTfnKDQ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":813660},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"34586b3dfc1af21196ef3e6e95a1768b44652dd6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.30_1769102760447_0.8778797066148634","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@gethashd/bytecave-browser","version":"1.0.31","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.31","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"f260fec216976eeeb55c97a65d72aa14c02f0711","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.31.tgz","fileCount":41,"integrity":"sha512-sHG8VMCbBRfu7iw+w89Sy6nxrSVGUgvjNJRORuySeJhLRZWLFlAZ0n+bfUFXHXIJtaDlJCIwjZwGTsh0+NH9OA==","signatures":[{"sig":"MEUCIQCGtK8ZxCksAQdOqjpicQCJdbymkUDN+o1mBmmAqbyyEwIgMMiB74m/NBDhi+DLBQRNtMFOIn8gUNl3ignMf4ILrJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829644},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"7fa0f7314fa35648711fe5526c85c3565b77d4d2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.31_1769168167547_0.7761296305963452","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@gethashd/bytecave-browser","version":"1.0.32","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.32","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"7d1ebe57185996950a6289e3db48dc6fa8883b3e","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.32.tgz","fileCount":41,"integrity":"sha512-Dws5JkwYouQsbCP/ByBUGJt/NPhBoXvGgYH8U2qqdjnW7qkKHZZM10CF9olR4UxbTXtgFlIeYI+DfXm+Fwq5Bw==","signatures":[{"sig":"MEYCIQDK4wFHzA8NLE/7QShpyaVA08/4nT2J+O3fMd/THvsjfAIhAKef95RLDizUQ9pExeYY0ibIfCAEV7gpW103NkgdGkhS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828816},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"7fa0f7314fa35648711fe5526c85c3565b77d4d2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.32_1769168539175_0.3718654894193383","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@gethashd/bytecave-browser","version":"1.0.33","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.33","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ce40ed081cedb7bec092d9d0aab73ea4fc46836a","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.33.tgz","fileCount":41,"integrity":"sha512-81/9w8Eg2h+sNEntvKVOGA0mmdrLcanSgFImAy9aWfCjQrUYsZtYDw2PjRSd1PoNL9Zu/1Mj0WMAx7mrQvsoGw==","signatures":[{"sig":"MEUCICc39o14lyTBpKbqCR/BJLtsTANxYDIMNTixEHaz5LMAAiEA14aQXdZpZXcRyWHypcsjKNpz5826bEKvqS9wCsm23uI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829104},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"7fa0f7314fa35648711fe5526c85c3565b77d4d2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.33_1769170406531_0.9760669233306463","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@gethashd/bytecave-browser","version":"1.0.34","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.34","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"0ea73bb808d9c689bc27f88a6fa011362f818d21","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.34.tgz","fileCount":41,"integrity":"sha512-9JsaybZNCi6Tml3TO6EQbJNrmGostwxTumBSumSXbFZPGPSs/E1TnJYbpkZEWtggCWrJlRK4+kSFl10exdriow==","signatures":[{"sig":"MEUCICqJXeoayzhjr2IwxbYVLg+dJxyORmFqQVPxq4kzrOXpAiEA9yAmNzaOJZRLrDLbWaiK0gDTZjMsmYMjWN1lm9Td0/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829508},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"7fa0f7314fa35648711fe5526c85c3565b77d4d2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.34_1769171505524_0.0734221761124847","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@gethashd/bytecave-browser","version":"1.0.35","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.35","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"6f21d8dc1c90c97a9e187f8b73ef1a4fb81476ef","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.35.tgz","fileCount":41,"integrity":"sha512-VjKlcCYMKp2AoK08M5qATuGrSMB+eX6z6wEdnwB6ChzS7meiXmKkMInnE2SGfX/obo9NXeFlz5954OYL4+3yag==","signatures":[{"sig":"MEUCIDb3NU8yFirH7ERaoRG9u/uhyH9l9mRT3bX4UnGASu0iAiEA8WZ7JN8sUlsFxC74JkCnp8Myo+snmuba+REkWkNtpT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":830132},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"7fa0f7314fa35648711fe5526c85c3565b77d4d2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.35_1769171993370_0.6145873330605061","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@gethashd/bytecave-browser","version":"1.0.36","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.36","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"1eb3e46ec85ed235660c5cb06dc942d894ec680f","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.36.tgz","fileCount":41,"integrity":"sha512-BpoyOfSnCkEM9gbNzQ4MDMM3vNGmjukNFJHOE+5TEI31aZrlC+9J+UfIqkIsT38FyoQQosNayLUgygkc/dP12g==","signatures":[{"sig":"MEQCIDqssrVeCBWwKdeiwkXcM2YlIDK58dpkgYX6eIzn4D8WAiAtlYloD5cN0/eKs9d6WnqixHsD4esDxQ+oamNuZ0Dujg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":830539},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"b05843e5b3e7d6afb1ae6af9c4d98f0df14a8fc2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.36_1769178393728_0.8011300185626469","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@gethashd/bytecave-browser","version":"1.0.37","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.37","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"afc39eed0622ad833c79bda8cfc633c1207c8449","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.37.tgz","fileCount":41,"integrity":"sha512-s+R7LRpdgpxk1t2Y+YI3TGHnF+mFzgVbkx23UEzT7/nVkGjVjHI9YNRq1Wt2mp8B+NrjpySFkA9Ae4ebbkMpQA==","signatures":[{"sig":"MEYCIQCyveVW1Qw6An2fy6EP4qN1fSW5DBCSlFXlH8sKZSYFYwIhAJDLmh/Knx6Al2vvx0XNEI5j3mEBRgsVa/A7kd7CF2We","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":831368},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"b05843e5b3e7d6afb1ae6af9c4d98f0df14a8fc2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.37_1769440787859_0.5819014067300103","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@gethashd/bytecave-browser","version":"1.0.38","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.38","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"9bc8bbfb49c5a50cbbf96c70ba0e47a17d648d5d","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.38.tgz","fileCount":41,"integrity":"sha512-pYecLClmKS1BRDDHgjgDZKs2cToDER+trx23q49ueNofpbe0SrTj9esvo1bxCIH3TQ67KiQHVHp6xf/5qPlqvQ==","signatures":[{"sig":"MEQCIBigtBA3OOKn5vQBDPqB877Tfxm7xaKmctmeNvCHslXXAiB7of8KM6KfBRo6gx29K2XssZJezBoWuv8sLyLLqiiDEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":831631},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"b05843e5b3e7d6afb1ae6af9c4d98f0df14a8fc2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.38_1769441105526_0.7738608705972538","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@gethashd/bytecave-browser","version":"1.0.39","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.39","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"77d3b93ebcee03d04454adfed440eb9b1d861937","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.39.tgz","fileCount":41,"integrity":"sha512-5VxBvLGKPxmTjV3HO9v5V5Yoyc+AJq+Y0wgIVOymeELd4lvQHGc0BA469OPwN7k1n1AahIuRWaB3vLizpeQXRQ==","signatures":[{"sig":"MEUCIQD7h43sxwluhM4Xd7T/J0CminSlVzdM5NqEP8tAEUoxpgIgTmmCAHIjCO6lGX5tQrO1kAAC8KkGVRbxD+WCIhjxFko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832226},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.39_1769445135195_0.07750760800242285","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@gethashd/bytecave-browser","version":"1.0.40","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.40","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"9907dfc983652ebd9c72c0725c8b8ca229029985","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.40.tgz","fileCount":41,"integrity":"sha512-qbyVFnGvYjU9+RWOT0J7PnhroWR1lkIejA02gzjTg5yjoeR+QDZ2qFCJkXdvRgxv6k9kzj9FFrBLd+cae+AeTw==","signatures":[{"sig":"MEQCIEjqB7ewTVZrOUb8f+VGX9rDfFtkdXqUfD4eqMVQO6AzAiACrOafDejie7LoCRHhVi/J2BAwnE6L7tBiimzxlu0Tng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825602},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.40_1769445590842_0.5999972908166842","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@gethashd/bytecave-browser","version":"1.0.41","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.41","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"c32a50aa8d8e6703c1d19766846401818ddd49a4","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.41.tgz","fileCount":41,"integrity":"sha512-ycf93vKgXF/9EEB8GgEWK10N8dQoNTGNbadrPfb9pfeCNY1dG+V2NmWoLFUT/Bl4UOV+MwDK/6ClPRmLVCSomg==","signatures":[{"sig":"MEUCIQDANJWf4np/54avKAb1hTtFzlod2JLAiGZ3MLicbfq62AIgd4I+YrguwlIy1wx7xbWiDULeKPnLyL1pMPn0QPvNYt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828783},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.41_1769446024344_0.043717767360806015","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"@gethashd/bytecave-browser","version":"1.0.42","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.42","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"742126a43a38d9ba5b841e05c94f3114417fbe30","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.42.tgz","fileCount":41,"integrity":"sha512-yjNEV0hxf2XqrUYmcpQxCm69vx4cODKSyX0iyNqONJUOTZz9ZmMk947oDZXy1dy83df9CnZJRmCb1H7PtShvvw==","signatures":[{"sig":"MEUCIDBvuK62HZVj6PBO8G4wNFuDT5aVMuwqtji9qIJapKZ2AiEAkde6N56RGfRSj/36VJNjbmFHe9/yWSLEKT+WGQui1mY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828794},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.42_1769448018406_0.6156130605714094","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"@gethashd/bytecave-browser","version":"1.0.43","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.43","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"0a614b4c3babafaabbb0fa15bf7b814c22833961","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.43.tgz","fileCount":41,"integrity":"sha512-1llxyCb8jon0PlSRMyApNlt5tV71yc/4Co0i0DtuUn8usJjEe1Eqgae/9RUu7zdkb+1SDBinMW4W028OlWBt9g==","signatures":[{"sig":"MEUCIE6glGHRQhGOrtA0Kuw6QrdmpPVLE98rCKcbYtl3ZAFAAiEAjtyoRTp/p7qLTxEh9i0bqy8U4fOTinO/yAaVMg/4WHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829499},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.43_1769453247438_0.7555811126639225","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@gethashd/bytecave-browser","version":"1.0.44","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.44","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"c74ee27b47bc9cef2d1dc2189719601a6e402820","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.44.tgz","fileCount":41,"integrity":"sha512-Zlo7YghSQ12YzDzNVrgVI8dqTfH2JFqCktiiq+CB/DE/8ypT6eQQF+AF3avQvdXzuXzWT/LyMT0ht8aGf/y+Gg==","signatures":[{"sig":"MEQCIFTv2Znx3WwSET7BrtnZhI5pyycFhHyvGZU0RTj59M1LAiANpjIjiWtZ+F1/VfVaYUwVXx8NIPi71dARPn3tcV6lYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":831727},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.44_1769508044039_0.27359414259731385","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"@gethashd/bytecave-browser","version":"1.0.45","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.45","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"a27956cb2d431f4ffb22b21abfacd344b4ce0114","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.45.tgz","fileCount":41,"integrity":"sha512-Gr/ifRVQkmZB2zA2bHcsUomvuB7aG77m0C8E5/iRBm0JjawdVyyuAusmNa1v2bjmJBCn5Q9bgB/qzkk/GXn8JA==","signatures":[{"sig":"MEUCIFKCPEnv+DgLhG+20dTmSQDbzZaNFGiHe9T/DdxjhRqSAiEA3F8qWKsJQBCTohIHYn9XaGsDwgI3/GXyCzwAHBqnItk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832532},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.45_1769529668969_0.29357746713137134","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"@gethashd/bytecave-browser","version":"1.0.46","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.46","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"d772192678d478d214dcbf2a08f2bda6a26376ed","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.46.tgz","fileCount":41,"integrity":"sha512-2cx4vZOxDUzAdEAsAnPATq3kLK6KzVZbKCqA2NoutjCBs8G+0KThhnBfkQCN5ZgQlCuc5AjGGeFADbOc0b5EJw==","signatures":[{"sig":"MEYCIQCvau1/DUhQWuc5wqs4+RE3uxr5Vx0VC2ASfybGLjhQGwIhANYTcca+Lvt0sl6k+fCN0cK5qPdp27NkoW12bNVDZVBR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832190},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.46_1769529770747_0.981299734858649","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"name":"@gethashd/bytecave-browser","version":"1.0.47","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.47","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"49d9d32a68449009d8578a930ee7d385b39a0b1f","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.47.tgz","fileCount":41,"integrity":"sha512-at5fRtb8vzk3k5lwiw5FAnPpjPk8kYm05nP8mpUm9RJJjNKwjr6OZzXD8jF77hJEGfxSvSXuB48X4N8MfPtbCA==","signatures":[{"sig":"MEQCIH1dACR1eVOvMODVgJqrWuI06xSkYF7OAr7xGFZlxqAGAiAHwCA1v9Qc4JcKLfap7dUeKfejIWtyD7ZYM/+76qg6iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832237},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"db985e6fcd3590a301b1d2d64cbe6bc6506969fc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.47_1769612555441_0.4419452728968374","host":"s3://npm-registry-packages-npm-production"}},"1.0.48":{"name":"@gethashd/bytecave-browser","version":"1.0.48","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.48","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"7ba3845656f684a6f87eabca38bbc16d74414601","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.48.tgz","fileCount":43,"integrity":"sha512-PgR12HuPxoc7v+NS0ujJHFBfnjGyl6T5u7WBg0G8sfZV02aDxhZxjGPzgXSeYat6P/lqJKH+kyc+/7QUoVam0g==","signatures":[{"sig":"MEQCIEXyHIi+QtLKb7Qff2WoTCvTxYKEetxFb2RLNuFrfIzRAiADDv8t/uLJahlYcJGjv64VaYBBwGGmu/1Gh19wyNtWvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":850864},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.48_1769613407955_0.8187284104676149","host":"s3://npm-registry-packages-npm-production"}},"1.0.49":{"name":"@gethashd/bytecave-browser","version":"1.0.49","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.49","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"d34d63cb33fe5e20be5a43b52fbd5573c5dee6af","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.49.tgz","fileCount":43,"integrity":"sha512-BvdIrR9yNt95fVynvO6NKP7kg2ancLteRceejw2uBWH/3SYHlAsDDAUIDUZzx8J4rjM5iLbjSN9MUnOJ0GBsBw==","signatures":[{"sig":"MEYCIQCeKD7ZiY5yKc4tJhGvucjD175hueTOIWfluFh1B3ON4AIhAJjLRE/XdRaUSBh4bD1PRR7mhSwoJkAy2fCS/hg5ed+U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":856492},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.49_1769613842656_0.31862883810930853","host":"s3://npm-registry-packages-npm-production"}},"1.0.50":{"name":"@gethashd/bytecave-browser","version":"1.0.50","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.50","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"c7be73f22dc58ae301c661dea7bad77911d0c4b3","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.50.tgz","fileCount":43,"integrity":"sha512-iIt61GhrBcHsE1SZ8l7QIO8X2EDA9zC5P1SEqU2M21pQGbPTOICgcwQZkQxtR7PSo+c/u7f11JoQ3WUc9a6djQ==","signatures":[{"sig":"MEUCIQCte5iB1cUVCXi2BN99MUTn4G814qVZtEWkO+aTpVTt8wIgOTw31CnDmjLKCjikayD0noSVHd7o9SQN8lP4sNRcStI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":864646},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.50_1769614869897_0.5347383856312953","host":"s3://npm-registry-packages-npm-production"}},"1.0.51":{"name":"@gethashd/bytecave-browser","version":"1.0.51","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.51","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"406583dcc7e084f2ccee0f53f9d465cb2264919c","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.51.tgz","fileCount":43,"integrity":"sha512-gjUmeo8DeNV1Wc1R4Tw3rVE1n6CrGte3/OmF5jz24/xatNkA0l7JgkNtW0gaXLuMJ9M3GCSjVTrVtosaF9+7QQ==","signatures":[{"sig":"MEYCIQCZSVkdjJshCtWwcpjp8TZQOoLbIBvMPJvf6DEdXAYdGwIhAKtKHGFWQYf5EbE8IMvtVvqbA5c6a5wyaBc36/J34N8A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":862767},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.51_1769615108984_0.09878210485456118","host":"s3://npm-registry-packages-npm-production"}},"1.0.52":{"name":"@gethashd/bytecave-browser","version":"1.0.52","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.52","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"e5995ef659523414859eccb6b36417992c0367f7","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.52.tgz","fileCount":43,"integrity":"sha512-yTxWbi8NvGFMt99iqKuVLJ9pJHr+IfEcbkUUjatCtojgzx1IjkmJTAV7ez1DYslNzFJCiRLLUcw64RwxivrEgg==","signatures":[{"sig":"MEUCIE+P+FpCDN9aHjgLwnwe7Of1VY9GOTpQ/mmIchvsR/e7AiEAharu3MWSpBJjRooPyyzHuweUUGwd8TjbOlbOIE8kFTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":868412},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.52_1769615428593_0.33379879719015215","host":"s3://npm-registry-packages-npm-production"}},"1.0.53":{"name":"@gethashd/bytecave-browser","version":"1.0.53","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.53","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"407e6e1bd9519356669cd12c18b6433780a9d799","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.53.tgz","fileCount":43,"integrity":"sha512-xCkFi8wls2GcRkOA5vCZAoWxma2r3ClK2myBr8k8wIesj+LoZawxAoYQSvhfFUY9ceUWbj1P4iFJ7RKYswRpsQ==","signatures":[{"sig":"MEUCIHE0SrW9Yb4fj7BGfUn1RXK47TLzbf5euAZzWjvAuY4nAiEA0+AUdim5o3QlFVXcMr6SH26cl2b3NpMAfNH0N97GX9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":874515},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.53_1769615584663_0.16303360265964417","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"@gethashd/bytecave-browser","version":"1.0.54","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.54","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"fc6f0a973e96864742e3c78dbcf58f3a9d594168","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.54.tgz","fileCount":43,"integrity":"sha512-UfkDU3tmX1OmHavzsqms2ubQbALf+hhvrmcWJcLZUR76tl7wfVUfpmkcecXqVUOoNiYUZfzi/09jINW5b923yg==","signatures":[{"sig":"MEYCIQD3oH4ZGHG+jdNxBXa4NA4v/ZMOIogkkppcEy8mxa6t6AIhAOEx2Pq0i5RbXtmpIzPrUbx+fOxcTXWFCjpqGNKH4hjO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":877204},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.54_1769615746472_0.6550651848899607","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"@gethashd/bytecave-browser","version":"1.0.55","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.55","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"8e79c53782b047bf2593451424c720db68a5ffbf","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.55.tgz","fileCount":43,"integrity":"sha512-zG6HyZ6DrxWj7Jb3JFdXS0rb9pqbNJsXQucPowppg8pmyFdZaGuwjX7BhSFAjKjk5gLaKQShGIVg9DGHzYYzSQ==","signatures":[{"sig":"MEUCIQCzIK0svJkvlqQDv9l1ceqjkeVrQWtyciQ886QiGF4fggIgTpmxNBqE1Rwg+F74oTJrVfo0LRFVixD/PkF+CscRFSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":877556},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.55_1769615863210_0.14392002008604043","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"@gethashd/bytecave-browser","version":"1.0.56","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.56","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"bf598ac5cabffff2fd2a56510ec5b9e1cd57476c","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.56.tgz","fileCount":43,"integrity":"sha512-G1kyE7odHQJSjufdcyNzJfnq8lJHHwh+JeB2RSUbmR4MmPIZ8KfVzmPnRRCKJ/sbBRL0GFmpcY1EdEN2ed8h+Q==","signatures":[{"sig":"MEQCIHNe2kZzRUc269WXIpVlrO+vsdYnCfsra9X31QAp5EnpAiBOsoXmqnSk9leRTDJaG/GHAFbHFwm5tr6ICKYcE0rPYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":877588},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.56_1769617200417_0.9708100258565413","host":"s3://npm-registry-packages-npm-production"}},"1.0.57":{"name":"@gethashd/bytecave-browser","version":"1.0.57","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.57","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"ee3c0054e7282a79ad4af0e51bb4998eb3299526","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.57.tgz","fileCount":43,"integrity":"sha512-9tpBkd/08ejerQE2HnyupE4exYqE34tOc9lBd1qpglOySdPPWCDMPH/mc4Wqp4jj95XxNb+lWRqNNsfcf3czXg==","signatures":[{"sig":"MEUCIQDRoGMzKoeF2k67QsIQwYSIKv23LdJKH7tb4OA6F6jcuQIgZp7jW4M37MFEtGJ/sk/pfrnLBPR1Lpe5W4sM5iXnB2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":876138},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.57_1769679659271_0.9657468076160935","host":"s3://npm-registry-packages-npm-production"}},"1.0.58":{"name":"@gethashd/bytecave-browser","version":"1.0.58","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.58","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"4674655ec0a209e0daed0e37cc2bf275fb78d718","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.58.tgz","fileCount":43,"integrity":"sha512-NBlljMlOpk1+iOiYyd3roDXF/GG8wGgByMbzDts4PHfPDiPy68vLxCkKM3cGI0BBFmqKr89nU+m0TAdf8MBYdg==","signatures":[{"sig":"MEUCIBnmCnI8JETkfkvGSwzLI3Gha79kyx/UxhAQZXtGI4BDAiEA6/MZCAlsKjtxzbf5lQfpr9f5kXqZUWlDAaIykOZ+5hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":876405},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.58_1769679786245_0.7220795718697208","host":"s3://npm-registry-packages-npm-production"}},"1.0.59":{"name":"@gethashd/bytecave-browser","version":"1.0.59","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.59","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"8d887eca296592677d8421f8081d4da343674e2e","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.59.tgz","fileCount":41,"integrity":"sha512-7Me4/bCG/iL106/PeRwiBV+/S6sgcxMb77FGxMrw6vMup16KeeM09Y/1ciHzQNOYXVcEvhkK0j5z55RU+26TVQ==","signatures":[{"sig":"MEQCIEAfjhGyYuP+ix+dvUMEMsBKet6XukW0pQx0HUx00Lc+AiAizAo3e5CvPOgJfmVGrsve5yz7r+CboMpQKl0T8r/LHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832276},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"ebad84984cc33b2fe94915f78b190286c5347654","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.59_1769682403354_0.914934287632063","host":"s3://npm-registry-packages-npm-production"}},"1.0.60":{"name":"@gethashd/bytecave-browser","version":"1.0.60","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.60","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"58559275763fe1e18afc9e6ef8526b9ed46d05b1","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.60.tgz","fileCount":41,"integrity":"sha512-n5ddVdcTPkPffmDF2V6BdxBtZzEcmCCEMueNTatolXkFk7kQ0J+qZIhcEBWWXkQ5HCXkAtuWix60XrnPOqYByA==","signatures":[{"sig":"MEQCIDCBAJXUB3W7sZ1txEPeiL2M3roKvyrAnD3kXy7g2wQ5AiBb9upqFUuzCW/hbqamVvQLFyE8USezgYgJopBiH94Uag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827699},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"88bcca5cb176ec72c56b7b60a34d541ae362978e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.60_1769694942193_0.655682510610001","host":"s3://npm-registry-packages-npm-production"}},"1.0.61":{"name":"@gethashd/bytecave-browser","version":"1.0.61","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.61","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"3de7787371316406d00d06aacd5e72e4df42d1b8","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.61.tgz","fileCount":41,"integrity":"sha512-+L91ijaIiTZrHdIPDex1uqJaqKrxRrBr12td1sjbBaunEm6z6VmHkw4hoq9K5mfFX5AU6Z6xQJVaR5UJTAP9cA==","signatures":[{"sig":"MEUCIQD6IZz1QcXraqiLusc5sLRIBjI9gnisujgD8ZnBjQz4qQIgHKldXH16UR2HhQ+oMYyHbzdLK7iD9/K2ou+QgVEI1BQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828294},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"88bcca5cb176ec72c56b7b60a34d541ae362978e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.61_1769697559671_0.44769434291344745","host":"s3://npm-registry-packages-npm-production"}},"1.0.63":{"name":"@gethashd/bytecave-browser","version":"1.0.63","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","_id":"@gethashd/bytecave-browser@1.0.63","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"dist":{"shasum":"8213ef54f88d63957f8ee6637b98e525643c5235","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.63.tgz","fileCount":41,"integrity":"sha512-4Be8PWEG6lieDbSm3GLI98gFzJHFISdvtT6A72bDBWX/VZrvQCs8CREJWqf42Iv+YrCjzuJW0G6gBsL6WSq09w==","signatures":[{"sig":"MEYCIQCkvNhAKD/EwrRirKrlZv0T8Bh7jeg2ptxt8TwJz7b81AIhAKCxZKlszREywbm42/PXEwzVHugHIg40PdhwBafXnQ4h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832311},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"88bcca5cb176ec72c56b7b60a34d541ae362978e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build"},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"_npmVersion":"10.9.3","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0","@libp2p/dcutr":"^3.0.10","@libp2p/webrtc":"^6.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.2.3","libp2p":"^3.1.2","vitest":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/react":"^19.2.7","@libp2p/webrtc":"^6.0.10","@libp2p/identify":"^4.0.9","@libp2p/bootstrap":"^12.0.10","@libp2p/websockets":"^10.1.2","@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@multiformats/multiaddr":"^13.0.1","@libp2p/circuit-relay-v2":"^4.1.2"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bytecave-browser_1.0.63_1769697967184_0.8590507526113484","host":"s3://npm-registry-packages-npm-production"}},"1.0.64":{"name":"@gethashd/bytecave-browser","version":"1.0.64","description":"ByteCave browser client for WebRTC P2P connections to storage nodes","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"scripts":{"build":"tsup && tsc --emitDeclarationOnly --declaration --declarationMap false --outDir dist","prepare":"yarn build","dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest"},"keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"author":{"name":"HASHD Team"},"license":"MIT","dependencies":{"@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@libp2p/bootstrap":"^12.0.10","@libp2p/circuit-relay-v2":"^4.1.2","@libp2p/dcutr":"^3.0.10","@libp2p/floodsub":"^11.0.10","@libp2p/identify":"^4.0.9","@libp2p/webrtc":"^6.0.10","@libp2p/websockets":"^10.1.2","@libp2p/webtransport":"^6.0.12","@multiformats/multiaddr":"^13.0.1","ethers":"^6.0.0","libp2p":"^3.1.2","uint8arrays":"^5.0.0"},"peerDependencies":{"react":"^18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"devDependencies":{"@chainsafe/libp2p-noise":"^17.0.0","@chainsafe/libp2p-yamux":"^8.0.1","@libp2p/bootstrap":"^12.0.10","@libp2p/circuit-relay-v2":"^4.1.2","@libp2p/identify":"^4.0.9","@libp2p/webrtc":"^6.0.10","@libp2p/websockets":"^10.1.2","@multiformats/multiaddr":"^13.0.1","@types/node":"^20.10.0","@types/react":"^19.2.7","libp2p":"^3.1.2","react":"^19.2.3","tsup":"^8.0.0","typescript":"^5.3.3","vitest":"^1.0.0"},"_id":"@gethashd/bytecave-browser@1.0.64","gitHead":"88bcca5cb176ec72c56b7b60a34d541ae362978e","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-OTcDhCmf8o5W8dM7BtS+fKeeoGpFVm/IwhuftHVR5jBbMK5LcTE+5j7pJpiXIuEG42JP7kGnVe6v8KqibfTKaw==","shasum":"450bb31acfc412da1f602ca5caa99ae44105b334","tarball":"https://registry.npmjs.org/@gethashd/bytecave-browser/-/bytecave-browser-1.0.64.tgz","fileCount":41,"unpackedSize":833213,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDpvwXDZT6mXEVPW4blGVkkskq0/eEy8K85r6LChBDzLAiBmV2fxxCqK5i6q0CmVEh+Mh7pvLKElEY0doZicPHV03w=="}]},"_npmUser":{"name":"alexxshadow","email":"alexx@3oh.io"},"directories":{},"maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bytecave-browser_1.0.64_1769699998948_0.43296260430083766"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-21T17:58:26.827Z","modified":"2026-01-29T15:19:59.257Z","1.0.0":"2026-01-21T17:33:18.076Z","1.0.1":"2026-01-21T17:58:27.111Z","1.0.2":"2026-01-22T11:17:37.118Z","1.0.3":"2026-01-22T12:29:43.178Z","1.0.4":"2026-01-22T12:35:45.380Z","1.0.5":"2026-01-22T12:41:31.348Z","1.0.6":"2026-01-22T13:15:28.890Z","1.0.7":"2026-01-22T13:22:56.309Z","1.0.8":"2026-01-22T13:24:49.621Z","1.0.9":"2026-01-22T13:30:47.566Z","1.0.10":"2026-01-22T13:34:17.030Z","1.0.11":"2026-01-22T13:39:46.721Z","1.0.12":"2026-01-22T14:25:45.594Z","1.0.13":"2026-01-22T15:00:03.203Z","1.0.15":"2026-01-22T15:08:18.335Z","1.0.16":"2026-01-22T15:40:43.468Z","1.0.17":"2026-01-22T15:46:44.590Z","1.0.18":"2026-01-22T16:16:52.584Z","1.0.19":"2026-01-22T16:18:52.382Z","1.0.20":"2026-01-22T16:35:19.002Z","1.0.21":"2026-01-22T16:49:46.778Z","1.0.22":"2026-01-22T16:51:56.963Z","1.0.23":"2026-01-22T16:54:55.526Z","1.0.24":"2026-01-22T17:01:45.418Z","1.0.25":"2026-01-22T17:09:38.195Z","1.0.26":"2026-01-22T17:15:07.866Z","1.0.27":"2026-01-22T17:17:00.616Z","1.0.28":"2026-01-22T17:19:04.581Z","1.0.29":"2026-01-22T17:22:48.746Z","1.0.30":"2026-01-22T17:26:00.674Z","1.0.31":"2026-01-23T11:36:07.731Z","1.0.32":"2026-01-23T11:42:19.314Z","1.0.33":"2026-01-23T12:13:26.754Z","1.0.34":"2026-01-23T12:31:45.690Z","1.0.35":"2026-01-23T12:39:53.579Z","1.0.36":"2026-01-23T14:26:33.959Z","1.0.37":"2026-01-26T15:19:48.110Z","1.0.38":"2026-01-26T15:25:05.733Z","1.0.39":"2026-01-26T16:32:15.353Z","1.0.40":"2026-01-26T16:39:51.073Z","1.0.41":"2026-01-26T16:47:04.556Z","1.0.42":"2026-01-26T17:20:18.660Z","1.0.43":"2026-01-26T18:47:27.634Z","1.0.44":"2026-01-27T10:00:44.237Z","1.0.45":"2026-01-27T16:01:09.175Z","1.0.46":"2026-01-27T16:02:50.941Z","1.0.47":"2026-01-28T15:02:35.633Z","1.0.48":"2026-01-28T15:16:48.149Z","1.0.49":"2026-01-28T15:24:02.892Z","1.0.50":"2026-01-28T15:41:10.075Z","1.0.51":"2026-01-28T15:45:09.213Z","1.0.52":"2026-01-28T15:50:28.795Z","1.0.53":"2026-01-28T15:53:04.898Z","1.0.54":"2026-01-28T15:55:46.653Z","1.0.55":"2026-01-28T15:57:43.355Z","1.0.56":"2026-01-28T16:20:00.667Z","1.0.57":"2026-01-29T09:40:59.442Z","1.0.58":"2026-01-29T09:43:06.411Z","0.0.60":"2026-01-29T10:21:39.376Z","0.0.59":"2026-01-29T10:23:08.154Z","1.0.59":"2026-01-29T10:26:43.534Z","1.0.60":"2026-01-29T13:55:42.374Z","1.0.61":"2026-01-29T14:39:19.895Z","1.0.63":"2026-01-29T14:46:07.431Z","1.0.64":"2026-01-29T15:19:59.146Z"},"author":{"name":"HASHD Team"},"license":"MIT","keywords":["bytecave","webrtc","p2p","libp2p","browser","storage"],"description":"ByteCave browser client for WebRTC P2P connections to storage nodes","maintainers":[{"name":"alexxshadow","email":"alexx@3oh.io"}],"readme":"# ByteCave Browser Client\n\nBrowser-compatible P2P client library for connecting to the ByteCave decentralized storage network via WebRTC and WebSockets.\n\n## Features\n\n- **Fast Node Discovery** - Discover storage nodes in 1-2 seconds via relay peer directory protocol\n- **WebRTC P2P Connections** - Direct browser-to-node connections using WebRTC transport (via libp2p)\n- **Circuit Relay Fallback** - Relay-based P2P connections for NAT traversal when direct WebRTC fails\n- **Pure P2P Architecture** - All communication via libp2p protocols (no HTTP endpoints required)\n- **FloodSub Announcements** - Peer discovery and announcements via pubsub\n- **Contract Integration** - Optional on-chain node registry verification\n- **HashD Protocol** - Custom `hashd://` URL scheme with caching and helpers\n- **React Hooks & Components** - Ready-to-use React integration\n- **TypeScript** - Full type safety\n\n## Installation\n\n```bash\nnpm install @gethashd/bytecave-browser\n# or\nyarn add @gethashd/bytecave-browser\n```\n\n## Quick Start\n\n```typescript\nimport { ByteCaveClient } from '@gethashd/bytecave-browser';\n\n// Initialize client\nconst client = new ByteCaveClient({\n  appId: 'my-app', // Required: Application identifier\n  relayPeers: [\n    '/dns4/relay.example.com/tcp/4002/ws/p2p/12D3KooW...'\n  ],\n  vaultNodeRegistryAddress: '0x...', // VaultNodeRegistry contract\n  contentRegistryAddress: '0x...', // ContentRegistry contract\n  rpcUrl: 'https://...', // Ethereum RPC URL\n  maxPeers: 10,\n  connectionTimeout: 30000\n});\n\n// Start P2P client\nawait client.start();\n\n// Store data\nconst result = await client.store(\n  new TextEncoder().encode('Hello ByteCave!'),\n  'text/plain'\n);\nconsole.log('Stored with CID:', result.cid);\n\n// Retrieve data\nconst retrieved = await client.retrieve(result.cid);\nconsole.log('Retrieved:', new TextDecoder().decode(retrieved.data));\n\n// Stop client\nawait client.stop();\n```\n\n## Configuration\n\n### ByteCaveConfig\n\n```typescript\ninterface ByteCaveConfig {\n  appId: string;                       // Required: Application identifier for storage authorization\n  relayPeers?: string[];               // Relay node multiaddrs for P2P connections\n  directNodeAddrs?: string[];          // Direct node multiaddrs (WebRTC without relay)\n  vaultNodeRegistryAddress?: string;   // Optional: VaultNodeRegistry contract for node verification\n  contentRegistryAddress?: string;     // Optional: ContentRegistry contract\n  rpcUrl?: string;                     // Optional: Ethereum RPC (required if using contracts)\n  maxPeers?: number;                   // Maximum peer connections (default: 10)\n  connectionTimeout?: number;          // Connection timeout in ms (default: 30000)\n}\n```\n\n### Relay Peer Configuration\n\n**Required**: At least one relay peer multiaddr for P2P discovery.\n\n```typescript\nrelayPeers: [\n  // WebSocket multiaddr (required for browsers)\n  '/dns4/relay.example.com/tcp/4002/ws/p2p/12D3KooW...',\n  // Multiple relays for redundancy (recommended)\n  '/dns4/relay2.example.com/tcp/4002/ws/p2p/12D3KooW...'\n]\n```\n\n**Getting Relay Multiaddrs:**\n\nFrom relay HTTP info endpoint:\n```bash\ncurl http://relay.example.com:9090/info\n```\n\nOr from relay node logs:\n```bash\ndocker-compose logs relay1 | grep \"Listening on\"\n```\n\n**Important**: Use the WebSocket address (contains `/ws/`) for browser clients.\n\n## API Reference\n\n### ByteCaveClient\n\n#### Constructor\n\n```typescript\nnew ByteCaveClient(config: ByteCaveConfig)\n```\n\n#### Methods\n\n**`start(): Promise<void>`**\n\nStart the P2P client and connect to relay nodes.\n\n```typescript\nawait client.start();\n```\n\n**`stop(): Promise<void>`**\n\nStop the P2P client and disconnect from all peers.\n\n```typescript\nawait client.stop();\n```\n\n**`store(data: Uint8Array, mimeType?: string, signer?: any): Promise<StoreResult>`**\n\nStore data on the network.\n\n```typescript\nconst result = await client.store(data, 'text/plain', signer);\n// Returns: { success: true, cid: '...', peerId: '...' }\n```\n\n**Note:** `mimeType` is optional and defaults to `'application/octet-stream'`. Use standard MIME types like `'text/plain'`, `'image/jpeg'`, `'application/json'`, etc.\n\n**`retrieve(cid: string): Promise<RetrieveResult>`**\n\nRetrieve data from the network.\n\n```typescript\nconst result = await client.retrieve('bafybei...');\n// Returns: { success: true, data: Uint8Array, peerId: '...' }\n```\n\n**`getPeers(): PeerInfo[]`**\n\nGet list of connected peers.\n\n```typescript\nconst peers = client.getPeers();\n// Returns: [{ peerId: '...', publicKey: '...', connected: true, ... }]\n```\n\n**`getConnectionState(): ConnectionState`**\n\nGet current connection state.\n\n```typescript\nconst state = client.getConnectionState();\n// Returns: 'disconnected' | 'connecting' | 'connected' | 'error'\n```\n\n#### Events\n\n**`on(event: string, callback: Function): void`**\n\nListen for events.\n\n```typescript\nclient.on('connectionStateChange', (state) => {\n  console.log('Connection state:', state);\n});\n\nclient.on('peerConnect', (peer) => {\n  console.log('Peer connected:', peer.peerId);\n});\n\nclient.on('peerDisconnect', (peerId) => {\n  console.log('Peer disconnected:', peerId);\n});\n\nclient.on('peerAnnounce', (peer) => {\n  console.log('Peer announced:', peer.peerId);\n});\n```\n\n**`off(event: string, callback: Function): void`**\n\nRemove event listener.\n\n```typescript\nclient.off('peerConnect', callback);\n```\n\n## HashD Protocol (`hashd://`)\n\nCustom URL scheme for loading content from ByteCave network. **Note:** `hashd://` URLs are not automatically resolved by browsers - you must use the provided utilities to parse and fetch content.\n\n### URL Format\n\n```\nhashd://{cid}\nhashd://{cid}?type=image/png\nhashd://{cid}?type=image/png&decrypt=true\n```\n\n### Core Functions\n\n```typescript\nimport { \n  parseHashdUrl, \n  createHashdUrl, \n  fetchHashdContent,\n  prefetchHashdContent,\n  clearHashdCache,\n  getHashdCacheStats,\n  revokeHashdUrl\n} from '@gethashd/bytecave-browser';\n\n// Parse hashd:// URL into components\nconst parsed = parseHashdUrl('hashd://bafybei...?type=image/png');\n// { protocol: 'hashd:', cid: 'bafybei...', mimeType: 'image/png', raw: '...' }\n\n// Create hashd:// URL from CID\nconst url = createHashdUrl('bafybei...', { mimeType: 'image/png' });\n// 'hashd://bafybei...?type=image/png'\n\n// Fetch content and get blob URL (with automatic caching)\nconst result = await fetchHashdContent(url, client);\n// { data: Uint8Array, blobUrl: 'blob:...', mimeType: 'image/png', cached: false }\n\n// Prefetch and cache content\nawait prefetchHashdContent('hashd://bafybei...', client);\n\n// Cache management\nconst stats = getHashdCacheStats(); // { size: 5 }\nclearHashdCache(); // Clear all cached blob URLs\nrevokeHashdUrl('bafybei...'); // Revoke specific blob URL\n```\n\n### How It Works\n\n1. **Parse** - `parseHashdUrl()` extracts CID and metadata from URL\n2. **Fetch** - `fetchHashdContent()` retrieves data via P2P from ByteCave network\n3. **Cache** - Blob URLs are automatically cached (1 hour TTL)\n4. **Reuse** - Subsequent requests for same CID return cached blob URL\n\n### React Hooks\n\nFor React apps, use hooks instead of manual fetching:\n\n```typescript\nimport { useHashdUrl } from '@gethashd/bytecave-browser';\n\nfunction ImageDisplay({ cid }) {\n  const { blobUrl, loading, error } = useHashdUrl(`hashd://${cid}`);\n  \n  if (loading) return <Spinner />;\n  if (error) return <Error message={error} />;\n  return <img src={blobUrl} alt=\"Image\" />;\n}\n```\n\n## React Integration\n\n### Provider Setup (Recommended)\n\nThe easiest way to use ByteCave in React is with the `ByteCaveProvider`:\n\n```typescript\nimport { ByteCaveProvider } from '@gethashd/bytecave-browser';\n\nfunction App() {\n  return (\n    <ByteCaveProvider\n      vaultNodeRegistryAddress={process.env.REACT_APP_VAULT_REGISTRY}\n      rpcUrl={process.env.REACT_APP_RPC_URL}\n      relayPeers={process.env.REACT_APP_RELAY_PEERS?.split(',')}\n    >\n      <YourApp />\n    </ByteCaveProvider>\n  );\n}\n```\n\nThen use hooks anywhere in your app:\n\n```typescript\nimport { useByteCaveContext, useHashdUrl } from '@gethashd/bytecave-browser';\n\nfunction ImageGallery() {\n  const { store, retrieve, isConnected } = useByteCaveContext();\n  \n  // Display image from hashd:// URL\n  const { blobUrl, loading, error } = useHashdUrl('hashd://abc123...');\n  \n  if (loading) return <div>Loading...</div>;\n  if (error) return <div>Error: {error}</div>;\n  \n  return <img src={blobUrl} alt=\"Stored image\" />;\n}\n\nfunction Uploader() {\n  const { store, isConnected } = useByteCaveContext();\n  \n  const handleUpload = async (file: File) => {\n    const data = new Uint8Array(await file.arrayBuffer());\n    const result = await store(data, file.type);\n    console.log('Uploaded with CID:', result.cid);\n  };\n  \n  return (\n    <input \n      type=\"file\" \n      onChange={(e) => handleUpload(e.target.files[0])}\n      disabled={!isConnected}\n    />\n  );\n}\n```\n\n### Available Hooks\n\n**`useByteCaveContext()`** - Access ByteCave client from context\n\nMust be used within `ByteCaveProvider`. Returns:\n```typescript\n{\n  connectionState: 'disconnected' | 'connecting' | 'connected' | 'error',\n  peers: PeerInfo[],\n  isConnected: boolean,\n  connect: () => Promise<void>,\n  disconnect: () => Promise<void>,\n  store: (data: Uint8Array, contentType?: string, signer?: any) => Promise<StoreResult>,\n  retrieve: (cid: string) => Promise<RetrieveResult>,\n  getNodeHealth: (peerId: string) => Promise<NodeHealth | null>,\n  error: string | null\n}\n```\n\n**`useHashdUrl(url)`** - Convert hashd:// URL to blob URL\n\n```typescript\nfunction ImageDisplay({ cid }) {\n  const { blobUrl, loading, error } = useHashdUrl(`hashd://${cid}`);\n  \n  if (loading) return <Spinner />;\n  if (error) return <Error message={error} />;\n  \n  return <img src={blobUrl} alt=\"Image\" />;\n}\n```\n\n**`useHashdImage(url, options)`** - Image-specific loader\n\n```typescript\nfunction ProfilePicture({ cid }) {\n  const { src, loading, error } = useHashdImage(`hashd://${cid}`, { \n    client,\n    placeholder: '/default-avatar.png' \n  });\n\n  if (loading) return <Spinner />;\n  if (error) return <ErrorIcon />;\n  \n  return <img src={src} alt=\"Profile\" className=\"w-32 h-32 rounded-full\" />;\n}\n```\n\n**`useHashdContent(url, options)`** - Generic content loader\n\n```typescript\nfunction ContentViewer({ url }) {\n  const { blobUrl, loading, error, mimeType } = useHashdContent(url, { client });\n  \n  if (loading) return <Spinner />;\n  if (error) return <Error message={error.message} />;\n  \n  if (mimeType?.startsWith('image/')) {\n    return <img src={blobUrl} />;\n  } else if (mimeType?.startsWith('video/')) {\n    return <video src={blobUrl} controls />;\n  }\n  \n  return <a href={blobUrl} download>Download</a>;\n}\n```\n\n**`useHashdMedia(url, options)`** - Video/audio loader\n\nReturns: `{ src, blobUrl, loading, error, cached, refetch }`\n\n**`useHashdBatch(urls, options)`** - Batch load multiple URLs\n\n```typescript\nfunction Gallery({ cids }) {\n  const urls = cids.map(cid => `hashd://${cid}`);\n  const { results, loading, errors } = useHashdBatch(urls, { client });\n  \n  if (loading) return <Spinner />;\n  \n  return (\n    <div className=\"grid grid-cols-3 gap-4\">\n      {Array.from(results.entries()).map(([url, result]) => (\n        <img key={url} src={result.blobUrl} alt=\"\" />\n      ))}\n    </div>\n  );\n}\n```\n\n### Components\n\nDrop-in replacements for standard HTML elements:\n\n```typescript\nimport { HashdImage, HashdVideo, HashdAudio } from '@gethashd/bytecave-browser/react';\n\n// Image\n<HashdImage \n  src=\"hashd://abc123...\" \n  client={byteCaveClient}\n  alt=\"Profile picture\"\n  className=\"w-32 h-32 rounded-full\"\n  placeholder=\"/loading.png\"\n  loadingComponent={<Spinner />}\n  errorComponent={<ErrorIcon />}\n/>\n\n// Video\n<HashdVideo \n  src=\"hashd://def456...\" \n  client={byteCaveClient}\n  controls\n  className=\"w-full\"\n/>\n\n// Audio\n<HashdAudio \n  src=\"hashd://ghi789...\" \n  client={byteCaveClient}\n  controls\n/>\n\n// Render prop pattern\n<HashdContent url=\"hashd://abc123...\" client={client}>\n  {({ blobUrl, loading, error }) => {\n    if (loading) return <Spinner />;\n    if (error) return <Error />;\n    return <img src={blobUrl} />;\n  }}\n</HashdContent>\n```\n\n\n### Complete Example with Provider\n\n```typescript\nimport { ByteCaveProvider, useByteCaveContext, useHashdUrl } from '@gethashd/bytecave-browser';\n\n// Wrap your app with the provider\nfunction App() {\n  return (\n    <ByteCaveProvider\n      vaultNodeRegistryAddress={process.env.REACT_APP_VAULT_REGISTRY}\n      rpcUrl={process.env.REACT_APP_RPC_URL}\n      relayPeers={process.env.REACT_APP_RELAY_PEERS?.split(',')}\n    >\n      <Gallery />\n    </ByteCaveProvider>\n  );\n}\n\n// Use hooks in any component\nfunction Gallery() {\n  const { isConnected, store } = useByteCaveContext();\n  const { blobUrl, loading, error } = useHashdUrl(\n    'hashd://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi'\n  );\n\n  const handleUpload = async (file: File) => {\n    const data = new Uint8Array(await file.arrayBuffer());\n    const result = await store(data, file.type);\n    console.log('Uploaded:', result.cid);\n  };\n\n  if (!isConnected) return <div>Connecting to ByteCave...</div>;\n\n  return (\n    <div>\n      <h1>ByteCave Gallery</h1>\n      \n      {/* Display image */}\n      {loading && <div>Loading image...</div>}\n      {error && <div>Error: {error}</div>}\n      {blobUrl && <img src={blobUrl} alt=\"Decentralized\" className=\"max-w-md\" />}\n      \n      {/* Upload new image */}\n      <input type=\"file\" onChange={(e) => handleUpload(e.target.files[0])} />\n    </div>\n  );\n}\n```\n\n### Complete Example without Provider\n\nIf you prefer manual client management:\n\n```typescript\nimport { ByteCaveClient } from '@gethashd/bytecave-browser';\nimport { HashdImage } from '@gethashd/bytecave-browser';\nimport { useState, useEffect } from 'react';\n\nfunction App() {\n  const [client, setClient] = useState(null);\n\n  useEffect(() => {\n    const bytecave = new ByteCaveClient({\n      relayPeers: process.env.REACT_APP_RELAY_PEERS?.split(','),\n      vaultNodeRegistryAddress: process.env.REACT_APP_VAULT_REGISTRY,\n      rpcUrl: process.env.REACT_APP_RPC_URL\n    });\n    \n    bytecave.start().then(() => setClient(bytecave));\n    \n    return () => bytecave.stop();\n  }, []);\n\n  if (!client) return <div>Connecting to ByteCave...</div>;\n\n  return (\n    <div>\n      <h1>ByteCave Gallery</h1>\n      <HashdImage \n        src=\"hashd://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi\"\n        client={client}\n        alt=\"Decentralized image\"\n        className=\"max-w-md\"\n      />\n    </div>\n  );\n}\n```\n\n## Environment Variables\n\nFor React apps, configure relay peers via environment:\n\n```bash\n# .env\nREACT_APP_RELAY_PEERS=/dns4/relay.example.com/tcp/4002/ws/p2p/12D3KooW...\n```\n\nThen in your app:\n\n```typescript\nconst relayPeers = process.env.REACT_APP_RELAY_PEERS?.split(',') || [];\n\nconst client = new ByteCaveClient({\n  contractAddress: process.env.REACT_APP_VAULT_REGISTRY,\n  rpcUrl: process.env.REACT_APP_RPC_URL,\n  relayPeers\n});\n```\n\n## How It Works\n\n### Fast Discovery via Peer Directory\n\nOn startup, the browser queries the relay's peer directory protocol for instant node discovery:\n\n1. **Connect to Relay** - Browser connects to relay via WebSocket\n2. **Query Peer Directory** - Browser dials `/bytecave/relay/peers/1.0.0` protocol\n3. **Receive Peer List** - Relay responds with list of storage nodes and circuit relay addresses\n4. **Dial Nodes** - Browser dials each node through the relay\n5. **Fetch Health Data** - Immediate health check via P2P protocol\n\n**Discovery time: 1-2 seconds** (down from 2+ minutes with gossip-only)\n\n### Pure P2P Discovery\n\n1. **Connect to Relay** - Browser connects to relay via WebSocket\n2. **Announce Presence** - Node announces on FloodSub `bytecave-announce` topic\n3. **Discover Peers** - DHT and pubsub discover other nodes through relay\n4. **Establish Connection** - Direct WebRTC or relayed connection\n5. **Store/Retrieve** - P2P protocols for data operations\n\n### Pure P2P Architecture\n\n- ✅ No HTTP health endpoint calls\n- ✅ No HTTP multiaddr fetching\n- ✅ Pure libp2p protocols (Peer Directory, FloodSub, DHT)\n- ✅ Works entirely over P2P network\n- ✅ Browser connects directly to storage nodes via WebRTC or relay\n\n## Protocols\n\n- **Peer Directory** (`/bytecave/relay/peers/1.0.0`) - Fast node discovery\n- **Health Protocol** (`/bytecave/health/1.0.0`) - Node health checks\n- **WebSocket** - Browser to relay connection\n- **WebRTC** - Direct browser-to-node connections\n- **Circuit Relay v2** - NAT traversal\n- **FloodSub** - Peer announcements\n- **DHT** (via relay) - Distributed peer routing\n\n## Browser Compatibility\n\n- Chrome/Edge 89+\n- Firefox 87+\n- Safari 15.4+\n- Opera 75+\n\nRequires WebRTC and WebSocket support.\n\n## Troubleshooting\n\n### No Peers Discovered\n\n**Check relay configuration:**\n```typescript\nconsole.log('Relay peers:', config.relayPeers);\n```\n\n**Verify relay is running:**\n```bash\ncurl http://relay.example.com:4002\n```\n\n**Check browser console:**\n```\n[ByteCave] Using relay peers: [...]\n[ByteCave] ✓ Connected to relay: ...\n```\n\n### Connection Failed\n\n1. Verify relay multiaddr format includes `/ws/`\n2. Check firewall allows WebSocket connections\n3. Ensure relay peer ID matches running relay\n4. Try connecting to relay directly in browser DevTools\n\n### CORS Issues\n\nWebSocket connections don't have CORS restrictions. If you see CORS errors, you may be using HTTP instead of WS.\n\n## Development\n\n```bash\n# Install dependencies\nyarn install\n\n# Build\nyarn build\n\n# Run tests\nyarn test\n\n# Watch mode\nyarn dev\n```\n\n## TypeScript Support\n\nFull TypeScript definitions included:\n\n```typescript\nimport type { \n  ByteCaveConfig,\n  PeerInfo,\n  StoreResult,\n  RetrieveResult,\n  ConnectionState,\n  HashdUrl,\n  FetchOptions,\n  FetchResult\n} from '@gethashd/bytecave-browser';\n```\n\n## License\n\nMIT\n\n## Related Packages\n\n- **bytecave-core** - Storage node implementation\n- **bytecave-relay** - Relay node for NAT traversal\n- **bytecave-desktop** - Desktop application\n\n## Support\n\nFor issues and questions, please open an issue on GitHub.\n","readmeFilename":"README.md"}