{"_id":"@ooneex/socket","_rev":"37-9b3bba144ab9e03f1b5217e2bdd2e97d","name":"@ooneex/socket","dist-tags":{"latest":"1.3.2"},"versions":{"0.0.1":{"name":"@ooneex/socket","version":"0.0.1","license":"MIT","_id":"@ooneex/socket@0.0.1","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"0d92a45bd0369e761754e106fef40ca533084207","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.0.1.tgz","fileCount":10,"integrity":"sha512-F5OT6cmsXinAm/1jTL4CsJl0+puEf3LPAKjtqmyU8BUzmN8r0Lfnfcgvhbjmz3b/f6lcMW6t44S841fuCtjItw==","signatures":[{"sig":"MEQCIA3l87WuLIvSMvT0Pq5SjPn8/wGiksYgW7Mm9KLIRXAuAiB3lDkXDGFh6Yj5AJAo/gs57XBOCp15qLipI/9GIexUsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17261},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0d92a45bd0369e761754e106fef40ca533084207","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","publish:dry":"bun publish --dry-run","publish:pack":"bun pm pack --destination ./dist","publish:prod":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-F5OT6cmsXinAm/1jTL4CsJl0+puEf3LPAKjtqmyU8BUzmN8r0Lfnfcgvhbjmz3b/f6lcMW6t44S841fuCtjItw==","_npmVersion":"10.8.3","description":"","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ooneex/app-env":"0.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@ooneex/url":"0.0.1","@ooneex/user":"0.0.1","@ooneex/cache":"0.0.1","@ooneex/types":"0.0.1","@ooneex/logger":"0.0.1","@ooneex/mailer":"0.0.1","@ooneex/storage":"0.0.1","@ooneex/database":"0.0.1","@ooneex/analytics":"0.0.1","@ooneex/permission":"0.0.1","@ooneex/http-header":"0.0.1","@ooneex/translation":"0.0.1","@ooneex/http-request":"0.0.1","@ooneex/http-response":"0.0.1","@ooneex/http-request-file":"0.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/socket_0.0.1_1765732137865_0.7738381733668214","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ooneex/socket","version":"0.3.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.3.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"243796e0be938e9790c85fc7b18e4cd0f1c5859a","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.3.0.tgz","fileCount":9,"integrity":"sha512-jSyxQKMlDpazFQ8HQn6LSl5fp2FrRUNW0Rc+puJ/2v2JVTeAc5KfDfEo/ZUC8nidz7bljsyhnBBs4mw6fLK/1g==","signatures":[{"sig":"MEUCIQDdfCSZRa0QOqRtEuVUjog28QKnzFEcEetpzPPHB6CUNQIgbqhESpmSNlWQb7nlpiEtmkETnlIsRU6392CPVd1UwpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25663},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"243796e0be938e9790c85fc7b18e4cd0f1c5859a","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","publish":"bun publish --access public || true"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-jSyxQKMlDpazFQ8HQn6LSl5fp2FrRUNW0Rc+puJ/2v2JVTeAc5KfDfEo/ZUC8nidz7bljsyhnBBs4mw6fLK/1g==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.0.1","@ooneex/translation":"0.0.1","@ooneex/http-request":"0.0.1","@ooneex/http-response":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.3.0_1768052140191_0.8113771414411697","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ooneex/socket","version":"0.4.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.4.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"f5e3a708582cceb28fbdb7d9a1ba68c0a80df4fc","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.4.0.tgz","fileCount":9,"integrity":"sha512-5PLl7LQaQTpN//cd7o7eNheI77tTBC9bcjNyZtbQv6mbt1fcbpUFzZYq/oHNElk+ToAHOVJpq7s3n61klKaK7A==","signatures":[{"sig":"MEYCIQCBaPYriXj+2IhbgUJxWCIUvQLRHfiQXm7/JjmgTe7TDAIhAK/QyW9VkEgcmmZXXRQRVXV6PtVVJKQ/3qrKwpQn8Uq5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25680},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"f5e3a708582cceb28fbdb7d9a1ba68c0a80df4fc","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-5PLl7LQaQTpN//cd7o7eNheI77tTBC9bcjNyZtbQv6mbt1fcbpUFzZYq/oHNElk+ToAHOVJpq7s3n61klKaK7A==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.0.1","@ooneex/translation":"0.0.1","@ooneex/http-request":"0.0.1","@ooneex/http-response":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.4.0_1768056348103_0.8999444784641926","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ooneex/socket","version":"0.5.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.5.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"2f0da281da519a4bbe74a782554ef22d99178d81","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.5.0.tgz","fileCount":9,"integrity":"sha512-vX52W7a8KOVLStPOACxbXRKMoDXDD1V3gMmAQxrinC1jTWInqaEut03B5D/sbHrOxdWFU7ei/tdTc2MkCjA8XA==","signatures":[{"sig":"MEUCIGlw2K5Uy1bP+cHtx2g4emiYoBGXqpHUFM9BYE7HuEfZAiEAkQlbw3NpX9Ppe9nD09C4d3afyeB8pm7JuUw7p9W7bGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25680},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"2f0da281da519a4bbe74a782554ef22d99178d81","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-vX52W7a8KOVLStPOACxbXRKMoDXDD1V3gMmAQxrinC1jTWInqaEut03B5D/sbHrOxdWFU7ei/tdTc2MkCjA8XA==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.0.1","@ooneex/translation":"0.0.1","@ooneex/http-request":"0.0.1","@ooneex/http-response":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.5.0_1768056777011_0.25421585723541096","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@ooneex/socket","version":"0.6.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.6.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"b888042283034dd9a575e1c7e48726cc4c88fdc1","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.6.0.tgz","fileCount":9,"integrity":"sha512-5Mba94/xi7bKFcDDNuKzsYgaszGZPPE5hOklIcAUdCFCf/Q1/y/DhMnqr80Mrd9mcmAP6cut+Lxx+MW8SBjf7A==","signatures":[{"sig":"MEUCIFl9aYzANfBtFHpD8xOLxEplVL09KIcahGxBh1pXMSjBAiEAvUrBlJSjnYdX0KEpwmbNL5XtSugsAJdcoJ7+YCM9B7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25680},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"b888042283034dd9a575e1c7e48726cc4c88fdc1","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-5Mba94/xi7bKFcDDNuKzsYgaszGZPPE5hOklIcAUdCFCf/Q1/y/DhMnqr80Mrd9mcmAP6cut+Lxx+MW8SBjf7A==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.0.1","@ooneex/translation":"0.0.1","@ooneex/http-request":"0.0.1","@ooneex/http-response":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.6.0_1768058351009_0.6758319128793655","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@ooneex/socket","version":"0.7.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.7.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"fee34ebd368725632e1ace836218e70a44d859df","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.7.0.tgz","fileCount":9,"integrity":"sha512-DbysW1mp+43mG/LAZxdBN7kKfxol5KwjqCQd5EBpG+DL3OHie0x+i41+DZo6vvn3qAPsf7IwCmxJgMBI2U6BCQ==","signatures":[{"sig":"MEYCIQCDltEvQt1D2v9Nt9bY49+m0jrGuLZuxNAo9oz7C5rqNAIhAO5e4Lpaof0fzChtW1W9h++7oTESYVCqQ0D2l7CCNfLL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25680},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"fee34ebd368725632e1ace836218e70a44d859df","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-DbysW1mp+43mG/LAZxdBN7kKfxol5KwjqCQd5EBpG+DL3OHie0x+i41+DZo6vvn3qAPsf7IwCmxJgMBI2U6BCQ==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.7.0","@ooneex/translation":"0.0.8","@ooneex/http-request":"0.7.0","@ooneex/http-response":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.7.0_1768060355243_0.39592701735143776","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@ooneex/socket","version":"0.8.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.8.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"0e6e51217cd8fc94399926e58c2873a3a2e70f60","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.8.0.tgz","fileCount":9,"integrity":"sha512-1FScdCzfcA/y3Euiv/avVt+WMEjiNv0wZWJ5PvRCPXqworxQs4RpPCQmMdpyQ94CEBkfLOH9/xxiQv/+CPiaIQ==","signatures":[{"sig":"MEUCIQCpRbEk5t1fCM3YHp2HKwCjmCfLx1irZ3OTCa0U8PEZRAIgR/1vKf5vO5sQDqL0DVb5HPhbZWo5gbX8rhOBalKHVhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25680},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0e6e51217cd8fc94399926e58c2873a3a2e70f60","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-1FScdCzfcA/y3Euiv/avVt+WMEjiNv0wZWJ5PvRCPXqworxQs4RpPCQmMdpyQ94CEBkfLOH9/xxiQv/+CPiaIQ==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.7.0","@ooneex/translation":"0.0.8","@ooneex/http-request":"0.7.0","@ooneex/http-response":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.8.0_1768063544900_0.6512592657284781","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@ooneex/socket","version":"0.9.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.9.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"f83c7ba2e59f941f9f757edd161c910d03c6ca69","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.9.0.tgz","fileCount":9,"integrity":"sha512-fAvTCs2b9lPL4J5Kkq8iOmlJTGWxpiZJQpyXcnPkW1/YEev5D4J1OvXtvPVvHLVIIRIlMuxqdVuzIAYmhYDxFw==","signatures":[{"sig":"MEYCIQDO+nlAt9A+XzeBgFKsjKJklsHm5zLdzEcfhTTX/dYdywIhAJvZdB+q/NTvLAWjCJ3qqLdbHuXmOldVaRuTIA17AMc+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25681},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"f83c7ba2e59f941f9f757edd161c910d03c6ca69","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-fAvTCs2b9lPL4J5Kkq8iOmlJTGWxpiZJQpyXcnPkW1/YEev5D4J1OvXtvPVvHLVIIRIlMuxqdVuzIAYmhYDxFw==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.9.0","@ooneex/translation":"0.0.10","@ooneex/http-request":"0.9.0","@ooneex/http-response":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.9.0_1768065172457_0.7417438729286685","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@ooneex/socket","version":"0.10.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.10.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"8cb41ae2413481985593af5714975d6f3e43b265","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.10.0.tgz","fileCount":9,"integrity":"sha512-zh2gpzp5eJuvlplnTLadAcWZBcHo4odvW4oCfcWK9YFuejiviWhmzydmy4cdTfgHffEvSFVBV0zD0pUX4NIh+g==","signatures":[{"sig":"MEUCIQCg6onmS5fXqpNkowdImZkCP/wJu8YgrA3ux6shfKxg+gIgFLVo2x5OC/2xDi0QicamGB3HvJjbaSiPDpacw3VjAAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25682},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"8cb41ae2413481985593af5714975d6f3e43b265","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-zh2gpzp5eJuvlplnTLadAcWZBcHo4odvW4oCfcWK9YFuejiviWhmzydmy4cdTfgHffEvSFVBV0zD0pUX4NIh+g==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.9.0","@ooneex/translation":"0.0.10","@ooneex/http-request":"0.9.0","@ooneex/http-response":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.10.0_1768067583520_0.26884595881238815","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@ooneex/socket","version":"0.11.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.11.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"6c1f0beb9f79477fe75674996486e21d5cce5194","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.11.0.tgz","fileCount":9,"integrity":"sha512-5KHcQGSTTEVMClRnabZBCgiL+r7kVsbmMiX69R9z0Cks+ItjTtbHd77fXB/kiXuDSdRWR+5/DQkF7nKO0nPvRw==","signatures":[{"sig":"MEUCIQDbS5rfQN4psOY1cQH49MVbZu/jLjBHsRPamHw4LXtFwAIgPP/m1Qe3s0D18Rq5zS4Nwns8+eCbdWlnVr3dnqmeQlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25685},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6c1f0beb9f79477fe75674996486e21d5cce5194","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-5KHcQGSTTEVMClRnabZBCgiL+r7kVsbmMiX69R9z0Cks+ItjTtbHd77fXB/kiXuDSdRWR+5/DQkF7nKO0nPvRw==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.10.0","@ooneex/translation":"0.0.11","@ooneex/http-request":"0.10.0","@ooneex/http-response":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.11.0_1768072781149_0.058509359625994684","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@ooneex/socket","version":"0.12.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.12.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"1d2d4da230f58726747ffb1d8f195c602a353c98","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.12.0.tgz","fileCount":9,"integrity":"sha512-OmZ/l/pVqBNoSOtujijbFkWXp1PsLBR29bZCdY5Sou52daN09AYc6xrL6t1SDa9CNx1CKFWlnHK0yJ0zDCow+w==","signatures":[{"sig":"MEUCIHz3Ow5pij/CDdQGH51MteTGYKQESO6whZ63JzU4jIF1AiEAp0jItu+uzT8E9IEfvxPeAuECV/OB08b8j3Fej81/7Hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27199},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"1d2d4da230f58726747ffb1d8f195c602a353c98","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-OmZ/l/pVqBNoSOtujijbFkWXp1PsLBR29bZCdY5Sou52daN09AYc6xrL6t1SDa9CNx1CKFWlnHK0yJ0zDCow+w==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.10.0","@ooneex/translation":"0.0.11","@ooneex/http-request":"0.10.0","@ooneex/http-response":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.12.0_1768207931713_0.982430530358652","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@ooneex/socket","version":"0.13.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.13.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"470ed14793701a2d9ca5b26e84b4b8f1d7dcc245","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.13.0.tgz","fileCount":9,"integrity":"sha512-h+RSRHS44zSPOGgqqXDm7uWYwdKVs66xfsems9Rg19XZ8csW3OhRsBMfC0+xqkVj8c+aaRuA1G/yQBnJuIeiiA==","signatures":[{"sig":"MEYCIQC/4BN9h/ebKWP1mkFmqPJ+SWuMP9f7V/WlNdkalMBd1QIhANQkqcio+IovlKL9BFEqQODMIwtweV5+TANy49P5KR2q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27232},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"470ed14793701a2d9ca5b26e84b4b8f1d7dcc245","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-h+RSRHS44zSPOGgqqXDm7uWYwdKVs66xfsems9Rg19XZ8csW3OhRsBMfC0+xqkVj8c+aaRuA1G/yQBnJuIeiiA==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/app-env":"0.0.13","@ooneex/controller":"0.12.0","@ooneex/translation":"0.0.13","@ooneex/http-request":"0.12.0","@ooneex/http-response":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.13.0_1768215995320_0.16213522836010408","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@ooneex/socket","version":"0.14.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.14.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"6d1d41e05498e4fdbcb5466d7712e72d37fc08d9","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.14.0.tgz","fileCount":9,"integrity":"sha512-pchRMe2rGNm5UThaoPzfqn8maCsk4GUFVbCu4d8TJUpbqd1+NAKTi9l32ZpFuqK0+/2l0VZ0QvsqAcX6AZi9hw==","signatures":[{"sig":"MEUCIDxLlUctoi9QpuiV+1fQkKVlpVss4C4WhevdgFbPnnO8AiEA6nHuHJfzq1uulpMSjTrS+NOt/OBOx9cif6qT46Yw8UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25718},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6d1d41e05498e4fdbcb5466d7712e72d37fc08d9","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-pchRMe2rGNm5UThaoPzfqn8maCsk4GUFVbCu4d8TJUpbqd1+NAKTi9l32ZpFuqK0+/2l0VZ0QvsqAcX6AZi9hw==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/app-env":"0.0.13","@ooneex/controller":"0.12.0","@ooneex/translation":"0.0.13","@ooneex/http-request":"0.12.0","@ooneex/http-response":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.14.0_1768234967804_0.5143462015411915","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@ooneex/socket","version":"0.15.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.15.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"8fbde57e97547352bc760e9ce46262445e874031","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.15.0.tgz","fileCount":9,"integrity":"sha512-7CZSBdhWVRExtfyx2amnhEVbagKRcl4pAOyE4Plp+QxCjqnxWZiNRh8/Zj166aV8tFRk+xGBMsHhHqK3V56sng==","signatures":[{"sig":"MEQCIC35MpgMZ6EYvxUCDLxZVB1zFkTpwEh8CnxHQ51criJiAiA5PqmH7J5BUfTxmnGUQ0CTyfZL6XlLwzgcvIDgFg1Kdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25718},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"8fbde57e97547352bc760e9ce46262445e874031","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-7CZSBdhWVRExtfyx2amnhEVbagKRcl4pAOyE4Plp+QxCjqnxWZiNRh8/Zj166aV8tFRk+xGBMsHhHqK3V56sng==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/app-env":"0.0.16","@ooneex/controller":"0.15.0","@ooneex/translation":"0.0.16","@ooneex/http-request":"0.15.0","@ooneex/http-response":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.15.0_1768321380192_0.21781486047706644","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@ooneex/socket","version":"0.16.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.16.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"b181170b078d7deb70c3d32031e022d718c936cb","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.16.0.tgz","fileCount":9,"integrity":"sha512-ceccjVlcc6k4udFeEduN2iQ192kBUMz5b92Nr2XB0AiHKacer/TDJBtBLvZU8mMtoqEhrYL3fjvuGa3IySIV6w==","signatures":[{"sig":"MEYCIQDKcTI1Q3ywwVbzXBHc7tqbYi1O6gw7LAvDTdbHjSfpFAIhAM5aAm1eazvdze7HKxAhhYTsUM9JPBd/Kl/Oyc0q68bB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25718},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"b181170b078d7deb70c3d32031e022d718c936cb","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-ceccjVlcc6k4udFeEduN2iQ192kBUMz5b92Nr2XB0AiHKacer/TDJBtBLvZU8mMtoqEhrYL3fjvuGa3IySIV6w==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/app-env":"0.0.16","@ooneex/controller":"0.15.0","@ooneex/translation":"0.0.16","@ooneex/http-request":"0.15.0","@ooneex/http-response":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.16.0_1768459845472_0.26803956631282033","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@ooneex/socket","version":"0.17.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@0.17.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"73e42f508ad2ca446534473b8e360e80fe6b8a84","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-0.17.0.tgz","fileCount":9,"integrity":"sha512-+2qiIuj9dPwjBA2E88iGOPqNqwTvQBwAWhw6yT2DBVIOAjVvrCqshHBu66N2FR/ePlGAeoMTgDR4IlBvsQ8JVQ==","signatures":[{"sig":"MEUCIQDIwTPF1taedzk/FVSjP3fTYTwa3+TcuyN18dZcKwDqCgIgekNwn2IN4dTNZGtDoPgV6Gw3seTLwvQGlAkBP0i4XVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25718},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"73e42f508ad2ca446534473b8e360e80fe6b8a84","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","test":"bun test tests","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-+2qiIuj9dPwjBA2E88iGOPqNqwTvQBwAWhw6yT2DBVIOAjVvrCqshHBu66N2FR/ePlGAeoMTgDR4IlBvsQ8JVQ==","_npmVersion":"10.8.3","description":"WebSocket server and client implementation for real-time bidirectional communication","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/app-env":"0.0.17","@ooneex/controller":"0.16.1","@ooneex/translation":"0.0.17","@ooneex/http-request":"0.16.0","@ooneex/http-response":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_0.17.0_1768914551289_0.26505768652093176","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ooneex/socket","version":"1.0.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.0.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"48019a96c4a1dcc2af84847d5f255a12ab502d1e","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.0.0.tgz","fileCount":6,"integrity":"sha512-pyb8E18t80PdtP/ZqQwHwgoAB2B5ylzwZdYzWbTnagFe19RsoN5cM0zsMZjpyT8pguSM9csyxrAFUIYINS68LA==","signatures":[{"sig":"MEUCIQD5X08RQnDkyBVFe7rkj36zfGa/F/g+bl1JkANYWyqxIgIgRricTxvhkUDfzODr/5pxg5FjS4+PqoDwuaBZI2Cne9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16908},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"48019a96c4a1dcc2af84847d5f255a12ab502d1e","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-pyb8E18t80PdtP/ZqQwHwgoAB2B5ylzwZdYzWbTnagFe19RsoN5cM0zsMZjpyT8pguSM9csyxrAFUIYINS68LA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"0.17.1","@ooneex/http-request":"0.17.0","@ooneex/http-response":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.0.0_1774596699129_0.18548616853357425","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ooneex/socket","version":"1.1.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.1.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"874b9fe563c63e3eecc618f4198908b5c27b088e","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.1.0.tgz","fileCount":6,"integrity":"sha512-kPW5hyDwfQxGbwjUSURydMpghLCuAAL38rLxJH2aMT/NbZaHzhA/yU/LIaECuyeAH95Tfscn1e1aLyQjt6XBgg==","signatures":[{"sig":"MEUCIGgIn+EARAe7wIAPsnkNIlyPXYWV+nqs015OIdZCDGhUAiEA47LtP3bJKR4yDSfLy816q758xmbGdZN5P07J/4Q9qX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16926},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"874b9fe563c63e3eecc618f4198908b5c27b088e","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-kPW5hyDwfQxGbwjUSURydMpghLCuAAL38rLxJH2aMT/NbZaHzhA/yU/LIaECuyeAH95Tfscn1e1aLyQjt6XBgg==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.1.0","@ooneex/http-request":"1.1.0","@ooneex/http-response":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.1.0_1774608291835_0.10512508015071598","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ooneex/socket","version":"1.1.1","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.1.1","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"3d24dd9714a97f140f4a3576263bffcb767da66b","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.1.1.tgz","fileCount":6,"integrity":"sha512-RrS7Uk6Buk857qrmvTDEneQAH09oH1c5cjvC476xfF9eHgxZUGmsR41cVYkOFQxXFpW3pf1baF8iNYwIWWWpWA==","signatures":[{"sig":"MEYCIQDZWDgj5MaRtr51ID61z9O0L5cG+CQD7sbURInLGwtgCgIhAKAi7riAiNU2qQIJK7aTbtPASyPP/QIAdjgdmqMntKv5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16926},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3d24dd9714a97f140f4a3576263bffcb767da66b","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-RrS7Uk6Buk857qrmvTDEneQAH09oH1c5cjvC476xfF9eHgxZUGmsR41cVYkOFQxXFpW3pf1baF8iNYwIWWWpWA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.1.1","@ooneex/http-request":"1.1.1","@ooneex/http-response":"1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.1.1_1774723813074_0.4177418577106693","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ooneex/socket","version":"1.2.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"a4632aad419388cf106c05d9c5cecd8d4d5a60cf","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.0.tgz","fileCount":6,"integrity":"sha512-SxT5idL/Bz68HhLYjEM8Oj9rtaab+eN7Bgr9RFPZL2eR2SLqus31USl9KHVZt28i4iYQHEwMX0Vlglx14XUYOg==","signatures":[{"sig":"MEYCIQCqim1qTSTjpgKSbt24S8l5QmRzk3udx55bVDiwqhrqagIhAKDPk471ZAhCamfdx7litKEBmT4BmlWZ6znsYi1qYE+J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16926},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a4632aad419388cf106c05d9c5cecd8d4d5a60cf","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-SxT5idL/Bz68HhLYjEM8Oj9rtaab+eN7Bgr9RFPZL2eR2SLqus31USl9KHVZt28i4iYQHEwMX0Vlglx14XUYOg==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.2.0","@ooneex/http-request":"1.2.0","@ooneex/http-response":"1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.0_1774727441203_0.6662254135599128","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@ooneex/socket","version":"1.2.1","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.1","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"352b1954b46e41838221fb8835a37578015c9b73","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.1.tgz","fileCount":6,"integrity":"sha512-XdVbtEK4ST796FVxkG1a2yDQfphBzy2B76AL/Iy/Az+o2e7lbsBJ4j+nm9bVKbXEzjvemXFee3O7LNmeE780jA==","signatures":[{"sig":"MEUCIQCzl/F7KhHsH7sFmx/CHaRvAhn4w6eQzWBjoL65XCLF8AIgD2K/g+nDesuuVppzm/YuNm2TmoMlmfSue0V2Tbv4/wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16926},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"352b1954b46e41838221fb8835a37578015c9b73","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-XdVbtEK4ST796FVxkG1a2yDQfphBzy2B76AL/Iy/Az+o2e7lbsBJ4j+nm9bVKbXEzjvemXFee3O7LNmeE780jA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.2.1","@ooneex/http-request":"1.2.1","@ooneex/http-response":"1.2.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.1_1774806214336_0.18272426587939306","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@ooneex/socket","version":"1.2.2","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.2","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"3c6492fe7dfb6fb92b054ce22e45ec81d1887b46","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.2.tgz","fileCount":6,"integrity":"sha512-jC4kH+O5mUMkZ1v9+RMPWcrqdzQKeVZ5AhGWWfCgkwtxVq8lMCcbVam3FJfPf2JYZ6Os9oX6Qn9TYy775HMx0Q==","signatures":[{"sig":"MEUCIQCpkzIxrSBMIAfm7oTsbwv5kMHPC5s15ePTlcGGVlFBnQIgYCprDzJnh/sJm4+r/w66QiXCV9kpyj4fcM37ovn9wiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16926},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3c6492fe7dfb6fb92b054ce22e45ec81d1887b46","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-jC4kH+O5mUMkZ1v9+RMPWcrqdzQKeVZ5AhGWWfCgkwtxVq8lMCcbVam3FJfPf2JYZ6Os9oX6Qn9TYy775HMx0Q==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.2.2","@ooneex/http-request":"1.2.2","@ooneex/http-response":"1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.2_1774813337454_0.44473241268467034","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@ooneex/socket","version":"1.2.3","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.3","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"bdc09f5bc6f51bf702fbd34a82716345a34b1561","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.3.tgz","fileCount":6,"integrity":"sha512-iltT3vl4Ic37QfNoHFdoYpmsApyaYhy6VywJcgzjhdd0hF64qz8vM+WDmxwR+eM8ES9E8+wJySi7jkBY84PXUg==","signatures":[{"sig":"MEUCIQDTQKCLt2BVmW2EptHulo9oIUXLa/MpAI/1yG2hymx0/wIgNuPQJEF5VeXOUxet/ncms/M6p+Yr0Jc1HW33h5xUbOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"bdc09f5bc6f51bf702fbd34a82716345a34b1561","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-iltT3vl4Ic37QfNoHFdoYpmsApyaYhy6VywJcgzjhdd0hF64qz8vM+WDmxwR+eM8ES9E8+wJySi7jkBY84PXUg==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.1","@ooneex/http-request":"1.2.3","@ooneex/http-response":"1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.3_1775049688042_0.5760388989620862","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@ooneex/socket","version":"1.2.4","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.4","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"35139093c8abe1bfe4dd1f5b6483ba82be48cb53","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.4.tgz","fileCount":6,"integrity":"sha512-9RZA7ASaZPVVqOajuAc8UcDpNzCqATctY7qXP886DWySRRcv8f+FFWyvSJFXNSd8MJwSExdu+YkSXSetnRfL1w==","signatures":[{"sig":"MEYCIQDVHlzwF1Wv/Mr6b7m89RKgUuW6kZ44jI144PAN4W9jNwIhAP5iw/uDeZZa4RVJBEdix7ZoqUKpVoT70EziOUTGyMHL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"35139093c8abe1bfe4dd1f5b6483ba82be48cb53","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-9RZA7ASaZPVVqOajuAc8UcDpNzCqATctY7qXP886DWySRRcv8f+FFWyvSJFXNSd8MJwSExdu+YkSXSetnRfL1w==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.2","@ooneex/http-request":"1.2.3","@ooneex/http-response":"1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.4_1775063405443_0.11676932396068262","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@ooneex/socket","version":"1.2.5","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.5","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"96aa8b8c4461af50eccb779eb906d5bed4d0ada8","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.5.tgz","fileCount":6,"integrity":"sha512-f004kUbs76mcZB++UDJGPxeI3rh7n0qZegYfpmz450ntIwL0+TWp0PNs7NlNIy9TUwJKLi0+srcWtJiAQldQAQ==","signatures":[{"sig":"MEUCIQDFKcoLcYxKdMZm5EO16uDedRaxMTGpyGlwaxFmU2bmLgIgbkW9QUxLwXw61XOIcznjP1pKP5Q3xu3tCLCio27+6pQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"96aa8b8c4461af50eccb779eb906d5bed4d0ada8","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-f004kUbs76mcZB++UDJGPxeI3rh7n0qZegYfpmz450ntIwL0+TWp0PNs7NlNIy9TUwJKLi0+srcWtJiAQldQAQ==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.3","@ooneex/http-request":"1.2.4","@ooneex/http-response":"1.3.0"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.5_1775540434830_0.5576415451328804","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@ooneex/socket","version":"1.2.6","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.6","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"1b7187538d3cf6be7d8e9c880ebcc90695479395","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.6.tgz","fileCount":6,"integrity":"sha512-B+16z2jKYbYe8rkYYS4mdU2Rhi8phZdlI5TPL+7dcf32Onv+f0Ih5ln2H6Q3JkEwNHmNcjqB3L4N2I1sjlpF8w==","signatures":[{"sig":"MEUCIQClVBurzpkGH+qf/aysKK0xSoGv7vA34qNv2HGTIRmQwAIgeu7WDoRiEPigRDP7P1PPzFZtHcKnSTaL9M0K4Y04oRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"1b7187538d3cf6be7d8e9c880ebcc90695479395","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-B+16z2jKYbYe8rkYYS4mdU2Rhi8phZdlI5TPL+7dcf32Onv+f0Ih5ln2H6Q3JkEwNHmNcjqB3L4N2I1sjlpF8w==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.4","@ooneex/http-request":"1.2.5","@ooneex/http-response":"1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.6_1775549362080_0.27944005761297563","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@ooneex/socket","version":"1.2.8","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.8","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"3d5a4b7442528667fa37816af93b983daa2e0df7","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.8.tgz","fileCount":6,"integrity":"sha512-9QmjpiFAYhT7x0/jnAIGict/++H27ZXnatT2tUYXX6diKT+tIs21uxfYsm1k0H3uwkFzhyw5UxLlK7xq4FM8Dw==","signatures":[{"sig":"MEYCIQDlAFewJwoaFes7ToThGi6aIgQ/IhNEuAPwSnR9N+nlwAIhAPAnki2XFP4Eqd+bSeHeJ8IBTwTFkEJ+P96OCUNOcz2e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3d5a4b7442528667fa37816af93b983daa2e0df7","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-9QmjpiFAYhT7x0/jnAIGict/++H27ZXnatT2tUYXX6diKT+tIs21uxfYsm1k0H3uwkFzhyw5UxLlK7xq4FM8Dw==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.7","@ooneex/http-request":"1.2.7","@ooneex/http-response":"1.3.3"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.8_1775628638622_0.8529245160205974","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"@ooneex/socket","version":"1.2.9","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.9","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"8f4e27e5bf00d508d488485ec009f4f950ce0e99","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.9.tgz","fileCount":6,"integrity":"sha512-Pklr8KKfxItKXtgRXMqpjrc/OyYvxMLTs7yWvbx0V1voDdFrcJ6Dq7aLcRHHMLkR0qrq4h3B6q8brLtZaVqBXA==","signatures":[{"sig":"MEUCIEzj0XdLs7BunY4wJCKznTaxEl2PJOOdzR0+O0fa1V+SAiEA/QC6+w2TXWbOa8ukya8V2Ic8/OFjMOME9bl7OFZkxsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16922},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"8f4e27e5bf00d508d488485ec009f4f950ce0e99","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-Pklr8KKfxItKXtgRXMqpjrc/OyYvxMLTs7yWvbx0V1voDdFrcJ6Dq7aLcRHHMLkR0qrq4h3B6q8brLtZaVqBXA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.9","@ooneex/http-request":"1.2.9","@ooneex/http-response":"1.3.5"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.9_1775629524498_0.4886250747078873","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"@ooneex/socket","version":"1.2.10","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.10","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"e16029285a79a16183af8bad4b63647cbf4c95e0","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.10.tgz","fileCount":6,"integrity":"sha512-rfPHVj7rkwlGQ0u3Y8tsf5SqK99HBQT2vy5MK5DUKRZqgBtMqi9irJQVTHJa1IwbipiudKEN8D2k+JmlT3y4/g==","signatures":[{"sig":"MEYCIQD/juXX/fyaIxVCjRE5lItnzuZEtkmN4tkw/I7OXXfzUQIhAPDpxfGVNchmZWZrRduQQwpynH1d2BBGvXms7KyZHIwz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16925},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"e16029285a79a16183af8bad4b63647cbf4c95e0","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-rfPHVj7rkwlGQ0u3Y8tsf5SqK99HBQT2vy5MK5DUKRZqgBtMqi9irJQVTHJa1IwbipiudKEN8D2k+JmlT3y4/g==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"1.3.10","@ooneex/http-request":"1.2.10","@ooneex/http-response":"1.3.6"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.10_1775630834903_0.33888845876635565","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"@ooneex/socket","version":"1.2.11","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.11","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"4981ae595b0b8d1c7a78bcf4745df9a23a5f65c7","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.11.tgz","fileCount":6,"integrity":"sha512-WF8v4m/HC+o69zYc1Quen1ksWP2i117rpBWJ1R9UqDSFnmWd6v3HvvivXNg3kTGyeCk2TNU9GXH+nvACQDzXtQ==","signatures":[{"sig":"MEYCIQDmMjhLTgQHNGNyVH7y55Y/sUXWWfIKM73GX7yubvwqHQIhAIREeDFhuTapU8mOUmeariNJ72bnDlNqd7SEMIOTIGzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16928},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"4981ae595b0b8d1c7a78bcf4745df9a23a5f65c7","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-WF8v4m/HC+o69zYc1Quen1ksWP2i117rpBWJ1R9UqDSFnmWd6v3HvvivXNg3kTGyeCk2TNU9GXH+nvACQDzXtQ==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.3.11","@ooneex/http-request":"^1.2.11","@ooneex/http-response":"^1.3.7"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.11_1775710129860_0.4784432171979034","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"@ooneex/socket","version":"1.2.12","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.12","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"3851f3a488ee48a282f5820b34a6d47976a8957b","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.12.tgz","fileCount":6,"integrity":"sha512-AWODc5aVoZZZcWRoWXyUeh0VG8uVvUIBQoWk436hfgCvvEhzSrNJnReJp5E1ERV472joojizKWISqT/rFB4hqA==","signatures":[{"sig":"MEUCIQCDtD5MKABejIYgjA2hdN40Jwxo44ccxStgChdAvZi88QIgWfpIS00wWO6MrScyqXZsqskcON7obK3B80DqZ3H7nM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16927},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3851f3a488ee48a282f5820b34a6d47976a8957b","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-AWODc5aVoZZZcWRoWXyUeh0VG8uVvUIBQoWk436hfgCvvEhzSrNJnReJp5E1ERV472joojizKWISqT/rFB4hqA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.1","@ooneex/http-request":"^1.2.12","@ooneex/http-response":"^1.3.9"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.12_1776006485300_0.46987410250288897","host":"s3://npm-registry-packages-npm-production"}},"1.2.13":{"name":"@ooneex/socket","version":"1.2.13","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.13","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"967dce4a4a7464426b6d088812dfe29244243eaf","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.13.tgz","fileCount":6,"integrity":"sha512-lpOFIN22SVJ1eZ06cY6vYQ6ZfUOOxh85JUQkSnChAFW9po/08ohwTq5L/kBbZKp5vRFFwmyxmKjR2TD/GH4DmA==","signatures":[{"sig":"MEQCIGzKDEXm18GvdHzfkFu7PrNgVBqAf6T3MTuBX6aW+8lZAiBSKvQ/mALW81l9tlpbEa3UKIzV8eJ6RO5Hbtvmy8KIdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16928},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"967dce4a4a7464426b6d088812dfe29244243eaf","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-lpOFIN22SVJ1eZ06cY6vYQ6ZfUOOxh85JUQkSnChAFW9po/08ohwTq5L/kBbZKp5vRFFwmyxmKjR2TD/GH4DmA==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.2","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.10"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.13_1776008194680_0.8023733827109938","host":"s3://npm-registry-packages-npm-production"}},"1.2.14":{"name":"@ooneex/socket","version":"1.2.14","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.14","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"0f27d47e205640f624a0df5c82a2019abb2a6da1","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.14.tgz","fileCount":6,"integrity":"sha512-3FxP/vUwDcehkwzAE6cNN5QyNEabkyc+wExEJHFWlA2G5OWn1dJZWQezuaHUqntNKRXFoKouG5eu1Qz4uVNXrQ==","signatures":[{"sig":"MEUCIB5j0y6q+mkp0BQiC2n/p23+ajkmxSA5D9N4mLJUkfFfAiEAvSbqhdXep20f2wd7jMGdhToh9NgG0HUEOimweOQ1eIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16928},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0f27d47e205640f624a0df5c82a2019abb2a6da1","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-3FxP/vUwDcehkwzAE6cNN5QyNEabkyc+wExEJHFWlA2G5OWn1dJZWQezuaHUqntNKRXFoKouG5eu1Qz4uVNXrQ==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.2","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.10"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.14_1777275497228_0.04492324218539445","host":"s3://npm-registry-packages-npm-production"}},"1.2.15":{"name":"@ooneex/socket","version":"1.2.15","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.2.15","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"c1db470dd2ba3373c5cfe3058739125a9fae0d94","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.2.15.tgz","fileCount":6,"integrity":"sha512-zDxLZTOiXi8Uip2aSg+jr/eM0l0yAqjDJMvDPY8v0pekMj2FlTBBgLyHlXlbP9962cQmnuQg1JxkjUm52v/RDw==","signatures":[{"sig":"MEQCIEKRj60bhXiqijt8CWDw5bAir/86EkHAjxZNYwN1cizoAiARt2ewbKoFSUa9bmYzpkn9JqVbw2TsMW4mz5cDF7pvqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16902},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"c1db470dd2ba3373c5cfe3058739125a9fae0d94","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-zDxLZTOiXi8Uip2aSg+jr/eM0l0yAqjDJMvDPY8v0pekMj2FlTBBgLyHlXlbP9962cQmnuQg1JxkjUm52v/RDw==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.2","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.11"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.2.15_1778847894195_0.571599474367964","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@ooneex/socket","version":"1.3.0","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.3.0","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"cb58fdd141578e561fc73a129ef1564452fd449e","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.3.0.tgz","fileCount":6,"integrity":"sha512-fwp+ra83fOdLgvncOL2/rwUeBpN0x8xDifwY1Jo7s2eaGwQ63AJ61Hsy2CiCsepOQHkmxQ1Z2fyNj002xABjwQ==","signatures":[{"sig":"MEUCIQD1CKbzOS/JpxqKmDsptuV1D3sZcNVXxeK33ieokpaxZwIgaitWFhqm9v8tKPAIxuq3kJQdwoz1UuOBq+HHhN/CZTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16978},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"cb58fdd141578e561fc73a129ef1564452fd449e","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-fwp+ra83fOdLgvncOL2/rwUeBpN0x8xDifwY1Jo7s2eaGwQ63AJ61Hsy2CiCsepOQHkmxQ1Z2fyNj002xABjwQ==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.2","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.11"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.3.0_1779112418412_0.626401398997954","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@ooneex/socket","version":"1.3.1","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"license":"MIT","_id":"@ooneex/socket@1.3.1","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"dist":{"shasum":"047ec2b6ef407bf9d8e0df8a1811eeb6bdc724c0","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.3.1.tgz","fileCount":6,"integrity":"sha512-gpKy8XaiYzr2fjaAxUn/o/ikRUyLfgdMDkMvE6FE1GDHfYtIe9QUyJCC+iJIx/D0Ftn09hKVy2L+vWKdi4bU/w==","signatures":[{"sig":"MEUCIQC6QaZ1cqwnPj3SsWCjKL1tuXLRfL33ZtDI1EZFJn1gdQIgb4LeoM+8aLgR+uOKIIQHQ49oTp0w6WAFfxw+d+WhELk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16980},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"047ec2b6ef407bf9d8e0df8a1811eeb6bdc724c0","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"scripts":{"lint":"tsgo --noEmit && bunx biome lint","build":"bunup","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"_integrity":"sha512-gpKy8XaiYzr2fjaAxUn/o/ikRUyLfgdMDkMvE6FE1GDHfYtIe9QUyJCC+iJIx/D0Ftn09hKVy2L+vWKdi4bU/w==","_npmVersion":"10.8.3","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@ooneex/controller":"^1.4.3","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.11"},"_npmOperationalInternal":{"tmp":"tmp/socket_1.3.1_1779556010083_0.8267518024274034","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@ooneex/socket","description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","version":"1.3.2","type":"module","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"license":"MIT","scripts":{"build":"bunup","lint":"tsgo --noEmit && bunx biome lint","npm:publish":"bun publish --tolerate-republish --force --production --access public"},"devDependencies":{"@ooneex/controller":"^1.4.5","@ooneex/http-request":"^1.2.13","@ooneex/http-response":"^1.3.11"},"keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"_id":"@ooneex/socket@1.3.2","_integrity":"sha512-pxdihSzBc0O+CaD9F7MFL/5Ah9BBvhbgK4YFVsnbwqOhHZwq/qOd0IdYD4ulWmEgtRCv0St3WKK+Ip/lBbjeRA==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"60c00a4cb9f06a03281055d2bf495bc8a6ae3b3b","dist":{"integrity":"sha512-pxdihSzBc0O+CaD9F7MFL/5Ah9BBvhbgK4YFVsnbwqOhHZwq/qOd0IdYD4ulWmEgtRCv0St3WKK+Ip/lBbjeRA==","shasum":"60c00a4cb9f06a03281055d2bf495bc8a6ae3b3b","tarball":"https://registry.npmjs.org/@ooneex/socket/-/socket-1.3.2.tgz","fileCount":6,"unpackedSize":16980,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHodO1oRct0/9l9xQUlcT8X+9AOguCoMaAZW60E7q7H/AiEAvLu2Q1fQu8TvvpqyMoxu/680zcbNKguZ0JdZYMw/wG4="}]},"_npmUser":{"name":"fkdiomande","email":"fkdiomande@icloud.com"},"directories":{},"maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/socket_1.3.2_1781286170169_0.47284255511733186"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-14T17:08:57.803Z","modified":"2026-06-12T17:42:50.590Z","0.0.1":"2025-12-14T17:08:58.076Z","0.3.0":"2026-01-10T13:35:40.343Z","0.4.0":"2026-01-10T14:45:48.254Z","0.5.0":"2026-01-10T14:52:57.158Z","0.6.0":"2026-01-10T15:19:11.155Z","0.7.0":"2026-01-10T15:52:35.391Z","0.8.0":"2026-01-10T16:45:45.050Z","0.9.0":"2026-01-10T17:12:52.596Z","0.10.0":"2026-01-10T17:53:03.665Z","0.11.0":"2026-01-10T19:19:41.309Z","0.12.0":"2026-01-12T08:52:11.846Z","0.13.0":"2026-01-12T11:06:35.455Z","0.14.0":"2026-01-12T16:22:47.939Z","0.15.0":"2026-01-13T16:23:00.335Z","0.16.0":"2026-01-15T06:50:45.602Z","0.17.0":"2026-01-20T13:09:11.431Z","1.0.0":"2026-03-27T07:31:39.280Z","1.1.0":"2026-03-27T10:44:51.983Z","1.1.1":"2026-03-28T18:50:13.213Z","1.2.0":"2026-03-28T19:50:41.344Z","1.2.1":"2026-03-29T17:43:34.484Z","1.2.2":"2026-03-29T19:42:17.601Z","1.2.3":"2026-04-01T13:21:28.189Z","1.2.4":"2026-04-01T17:10:05.625Z","1.2.5":"2026-04-07T05:40:34.968Z","1.2.6":"2026-04-07T08:09:22.238Z","1.2.8":"2026-04-08T06:10:38.772Z","1.2.9":"2026-04-08T06:25:24.633Z","1.2.10":"2026-04-08T06:47:15.041Z","1.2.11":"2026-04-09T04:48:50.023Z","1.2.12":"2026-04-12T15:08:05.449Z","1.2.13":"2026-04-12T15:36:34.831Z","1.2.14":"2026-04-27T07:38:17.395Z","1.2.15":"2026-05-15T12:24:54.333Z","1.3.0":"2026-05-18T13:53:38.574Z","1.3.1":"2026-05-23T17:06:50.248Z","1.3.2":"2026-06-12T17:42:50.342Z"},"license":"MIT","keywords":["bun","ooneex","realtime","socket","typescript","websocket","ws"],"description":"WebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications","maintainers":[{"name":"fkdiomande","email":"fkdiomande@icloud.com"}],"readme":"# @ooneex/socket\n\nWebSocket server implementation with room management, event broadcasting, client tracking, and middleware integration for real-time applications.\n\n![Bun](https://img.shields.io/badge/Bun-Compatible-orange?style=flat-square&logo=bun)\n![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue?style=flat-square&logo=typescript)\n![MIT License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)\n\n## Features\n\n✅ **IController Interface** - Standard interface for WebSocket controller implementations with typed context\n\n✅ **Channel Management** - Subscribe, unsubscribe, publish, and send messages through typed channel API\n\n✅ **Pub/Sub Support** - Built-in publish/subscribe pattern with `channel.publish()` and `channel.subscribe()`\n\n✅ **Type-Safe Context** - Generic `ContextType` extending the HTTP controller context with WebSocket channel operations\n\n✅ **Connection Lifecycle** - Close connections with status codes and reasons via `channel.close()`\n\n✅ **Framework Integration** - Extends `@ooneex/controller` context and works with `@ooneex/routing` socket decorators\n\n## Installation\n\n```bash\nbun add @ooneex/socket\n```\n\n## Usage\n\n### Basic WebSocket Controller\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\nimport type { IResponse } from '@ooneex/http-response';\n\n@Route.socket({\n  name: 'api.chat.connect',\n  path: '/ws/chat',\n  description: 'Connect to chat WebSocket'\n})\nclass ChatController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    // Subscribe to the channel\n    await context.channel.subscribe();\n    \n    return context.response.json({\n      connected: true,\n      message: 'Welcome to the chat!'\n    });\n  }\n}\n```\n\n### WebSocket with Room Support\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport { type } from '@ooneex/validation';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.rooms.join',\n  path: '/ws/rooms/:roomId',\n  description: 'Join a specific room',\n  params: {\n    roomId: type('string')\n  }\n})\nclass RoomController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { roomId } = context.params;\n    \n    // Subscribe to the room channel\n    await context.channel.subscribe();\n    \n    // Notify other users in the room\n    await context.channel.publish(\n      context.response.json({\n        event: 'user_joined',\n        roomId,\n        userId: context.user?.id\n      })\n    );\n    \n    return context.response.json({\n      joined: true,\n      roomId\n    });\n  }\n}\n```\n\n### Sending Messages\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.messages.send',\n  path: '/ws/messages',\n  description: 'Send a message'\n})\nclass MessageController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { message, recipientId } = context.payload;\n    \n    // Send response back to the sender\n    await context.channel.send(\n      context.response.json({\n        event: 'message_sent',\n        message,\n        timestamp: new Date().toISOString()\n      })\n    );\n    \n    return context.response.json({ success: true });\n  }\n}\n```\n\n### Broadcasting to Channel\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.notifications.broadcast',\n  path: '/ws/notifications',\n  description: 'Broadcast notifications'\n})\nclass NotificationController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { title, body } = context.payload;\n    \n    // Subscribe first\n    await context.channel.subscribe();\n    \n    // Publish to all subscribers\n    await context.channel.publish(\n      context.response.json({\n        event: 'notification',\n        title,\n        body,\n        timestamp: new Date().toISOString()\n      })\n    );\n    \n    return context.response.json({ broadcasted: true });\n  }\n}\n```\n\n### Managing Subscriptions\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.presence.toggle',\n  path: '/ws/presence',\n  description: 'Toggle presence subscription'\n})\nclass PresenceController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { channel } = context;\n    \n    // Check subscription status\n    if (channel.isSubscribed()) {\n      // Unsubscribe from channel\n      await channel.unsubscribe();\n      \n      return context.response.json({\n        subscribed: false,\n        message: 'Unsubscribed from presence updates'\n      });\n    }\n    \n    // Subscribe to channel\n    await channel.subscribe();\n    \n    return context.response.json({\n      subscribed: true,\n      message: 'Subscribed to presence updates'\n    });\n  }\n}\n```\n\n### Closing Connections\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.connection.close',\n  path: '/ws/disconnect',\n  description: 'Close WebSocket connection'\n})\nclass DisconnectController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { channel } = context;\n    \n    // Clean up subscription\n    if (channel.isSubscribed()) {\n      await channel.unsubscribe();\n    }\n    \n    // Close the connection with a code and reason\n    channel.close(1000, 'User disconnected');\n    \n    return context.response.json({ disconnected: true });\n  }\n}\n```\n\n## API Reference\n\n### Interfaces\n\n#### `IController<T>`\n\nInterface for WebSocket controllers.\n\n```typescript\ninterface IController<T extends ContextConfigType = ContextConfigType> {\n  index: (context: ContextType<T>) => Promise<IResponse<T[\"response\"]>> | IResponse<T[\"response\"]>;\n}\n```\n\n### Types\n\n#### `ContextType<T>`\n\nExtended context type for WebSocket controllers with channel management.\n\n```typescript\ntype ContextType<T extends ContextConfigType = ContextConfigType> = ControllerContextType<T> & {\n  channel: {\n    send: (response: IResponse<T[\"response\"]>) => Promise<void>;\n    close(code?: number, reason?: string): void;\n    subscribe: () => Promise<void>;\n    isSubscribed(): boolean;\n    unsubscribe: () => Promise<void>;\n    publish: (response: IResponse<T[\"response\"]>) => Promise<void>;\n  };\n};\n```\n\n**Channel Methods:**\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `send(response)` | `Promise<void>` | Send a message to the connected client |\n| `close(code?, reason?)` | `void` | Close the WebSocket connection |\n| `subscribe()` | `Promise<void>` | Subscribe to the channel |\n| `isSubscribed()` | `boolean` | Check if currently subscribed |\n| `unsubscribe()` | `Promise<void>` | Unsubscribe from the channel |\n| `publish(response)` | `Promise<void>` | Publish message to all channel subscribers |\n\n#### `ContextConfigType`\n\nConfiguration type for socket context.\n\n```typescript\ntype ContextConfigType = {\n  response: Record<string, unknown>;\n} & RequestConfigType;\n```\n\n#### `ControllerClassType`\n\nType for socket controller class constructors.\n\n```typescript\ntype ControllerClassType = new (...args: any[]) => IController;\n```\n\n## Client Usage\n\nImport the client for frontend applications:\n\n```typescript\nimport { /* client exports */ } from '@ooneex/socket/client';\n```\n\n### Basic Client Connection\n\n```typescript\n// Connect to WebSocket endpoint\nconst ws = new WebSocket('wss://api.example.com/ws/chat');\n\nws.onopen = () => {\n  console.log('Connected to WebSocket');\n  \n  // Send a message\n  ws.send(JSON.stringify({\n    action: 'subscribe',\n    channel: 'general'\n  }));\n};\n\nws.onmessage = (event) => {\n  const data = JSON.parse(event.data);\n  console.log('Received:', data);\n};\n\nws.onclose = (event) => {\n  console.log('Disconnected:', event.code, event.reason);\n};\n\nws.onerror = (error) => {\n  console.error('WebSocket error:', error);\n};\n```\n\n## Advanced Usage\n\n### Typed Socket Controller\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport { type } from '@ooneex/validation';\nimport type { IController, ContextType, ContextConfigType } from '@ooneex/socket';\n\ninterface ChatConfig extends ContextConfigType {\n  params: { roomId: string };\n  payload: { message: string; type: 'text' | 'image' };\n  queries: Record<string, never>;\n  response: {\n    event: string;\n    data: unknown;\n    timestamp: string;\n  };\n}\n\n@Route.socket({\n  name: 'api.chat.message',\n  path: '/ws/chat/:roomId',\n  description: 'Send chat message',\n  params: { roomId: type('string') },\n  payload: type({\n    message: 'string',\n    type: \"'text' | 'image'\"\n  })\n})\nclass ChatMessageController implements IController<ChatConfig> {\n  public async index(context: ContextType<ChatConfig>): Promise<IResponse<ChatConfig['response']>> {\n    const { roomId } = context.params;\n    const { message, type } = context.payload;\n    \n    // TypeScript knows the exact types\n    await context.channel.publish(\n      context.response.json({\n        event: 'new_message',\n        data: { roomId, message, type, userId: context.user?.id },\n        timestamp: new Date().toISOString()\n      })\n    );\n    \n    return context.response.json({\n      event: 'message_sent',\n      data: { messageId: crypto.randomUUID() },\n      timestamp: new Date().toISOString()\n    });\n  }\n}\n```\n\n### Real-Time Notifications\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.notifications.stream',\n  path: '/ws/notifications/:userId',\n  description: 'Stream user notifications'\n})\nclass NotificationStreamController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { userId } = context.params;\n    \n    // Only allow users to subscribe to their own notifications\n    if (context.user?.id !== userId) {\n      return context.response.exception('Unauthorized', { status: 403 });\n    }\n    \n    await context.channel.subscribe();\n    \n    // Send initial notification count\n    const unreadCount = await this.notificationService.getUnreadCount(userId);\n    \n    return context.response.json({\n      subscribed: true,\n      unreadCount\n    });\n  }\n}\n```\n\n### Live Collaboration\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.docs.collaborate',\n  path: '/ws/docs/:documentId',\n  description: 'Real-time document collaboration'\n})\nclass DocumentCollaborationController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    const { documentId } = context.params;\n    const { action, content, cursor } = context.payload;\n    \n    await context.channel.subscribe();\n    \n    switch (action) {\n      case 'edit':\n        await context.channel.publish(\n          context.response.json({\n            event: 'content_update',\n            documentId,\n            userId: context.user?.id,\n            content\n          })\n        );\n        break;\n        \n      case 'cursor':\n        await context.channel.publish(\n          context.response.json({\n            event: 'cursor_move',\n            documentId,\n            userId: context.user?.id,\n            cursor\n          })\n        );\n        break;\n    }\n    \n    return context.response.json({ success: true });\n  }\n}\n```\n\n### WebSocket with Authentication\n\n```typescript\nimport { Route } from '@ooneex/routing';\nimport { ERole } from '@ooneex/role';\nimport type { IController, ContextType } from '@ooneex/socket';\n\n@Route.socket({\n  name: 'api.admin.dashboard',\n  path: '/ws/admin/dashboard',\n  description: 'Admin real-time dashboard',\n  roles: ['ROLE_ADMIN', 'ROLE_SUPER_ADMIN']\n})\nclass AdminDashboardController implements IController {\n  public async index(context: ContextType): Promise<IResponse> {\n    // User is guaranteed to have ADMIN or SUPER_ADMIN role\n    await context.channel.subscribe();\n    \n    // Stream real-time metrics\n    return context.response.json({\n      connected: true,\n      role: context.user?.role,\n      subscribedAt: new Date().toISOString()\n    });\n  }\n}\n```\n\n## WebSocket Close Codes\n\nCommon WebSocket close codes you can use:\n\n| Code | Name | Description |\n|------|------|-------------|\n| `1000` | Normal Closure | Normal connection closure |\n| `1001` | Going Away | Endpoint is going away |\n| `1002` | Protocol Error | Protocol error |\n| `1003` | Unsupported Data | Received unsupported data type |\n| `1008` | Policy Violation | Message violates policy |\n| `1011` | Internal Error | Server encountered an error |\n\n```typescript\n// Close with specific code and reason\ncontext.channel.close(1000, 'Session ended');\ncontext.channel.close(1008, 'Message too large');\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n### Development Setup\n\n1. Clone the repository\n2. Install dependencies: `bun install`\n3. Run tests: `bun run test`\n4. Build the project: `bun run build`\n\n### Guidelines\n\n- Write tests for new features\n- Follow the existing code style\n- Update documentation for API changes\n- Ensure all tests pass before submitting PR\n\n---\n\nMade with ❤️ by the Ooneex team\n","readmeFilename":"README.md"}