{"_id":"@asls/wsc-client","_rev":"14-2d82a2cfd248747da1ecbc22378ff4f3","name":"@asls/wsc-client","dist-tags":{"latest":"2.2.0"},"versions":{"1.0.0":{"name":"@asls/wsc-client","version":"1.0.0","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@1.0.0","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"23f2c849a5c32d9b39659812c9862ad37d6ff662","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-1.0.0.tgz","fileCount":2,"integrity":"sha512-wT0BJVpNILS6mOeZTeUmfuTp0WF/0jmHwmZ3bMiYXHUk/HHCs4sO9mCiUwBop9iL6IhrjFOyfEWGBJOI/AX34Q==","signatures":[{"sig":"MEQCIE8S825ocqOD1nUd9QjuFcnKycRxR+9rWZUiVt/NCgwRAiAKMOGu/Chcz9FOwXVSDdgk1Lfzi3+pW/ixU+C+NrTdcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11222},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"4436d88f5d92e7e8f46f2f94835e6456ba7412f0","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.8.2","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_1.0.0_1776522851833_0.22987661440710383","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@asls/wsc-client","version":"2.0.4","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.0.4","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"1a317a76a78743371b032ef389e0b1e55cd05cd0","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.0.4.tgz","fileCount":2,"integrity":"sha512-vfoK+wFN1q66+W16MD6qz8GnKng1ualSCi57oW/fr+o88PbjYAbnhyuGA0XCHP3uOw85MhCIPhDv72sTjlEwZA==","signatures":[{"sig":"MEYCIQDKnGbNYk78zJyfJR7YgCFqitYQQKf0noyIwHvpPBnfxgIhAKtjHhIvoxcGQWb8kRyE8lmqcKVRrZWpr3Q5jjzeHncV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11221},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"8a82fc4db41b88d4042f337339536c62a66420ef","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.0.4_1776523239343_0.3439474998658243","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@asls/wsc-client","version":"2.0.5","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.0.5","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"3c5aa64aaa96418352f378ac5480967dbeba4dad","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.0.5.tgz","fileCount":3,"integrity":"sha512-FfkQ0d7OqLYSmrxvHjq1GpJGMPBHpL5ikWUvypC3FWXElbHp8O40/JxxcOjXLScC6UfwoUM/tdQvFsCinKFnZQ==","signatures":[{"sig":"MEQCIQCijq4MYCczjAp8hlQC4//UG9ibszghz7YP60lWqfMLSAIfWsOaMDOlAPoklQ+IPv255KX2u5XnWcpmgYhS8LJ5Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17089},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"457ecc61fa385e50eec90060f7852829a892c21f","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.0.5_1776618415807_0.4516837496070414","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@asls/wsc-client","version":"2.1.0","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.1.0","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"a79826a5bc72b14573a1571577548af80a68b4c1","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.1.0.tgz","fileCount":3,"integrity":"sha512-HHkdAcXx6pnCnSmZr1WJQuUFxHOTrGn0GtT0lqSbCSTNie3b0O/CyS6KbvOvZHfXtsKGYGn3bOhxJJeiWE9BRQ==","signatures":[{"sig":"MEUCIQDaj9IKr7i1aPtNYsNAlcPXH7r/ikIEec4RMG3rXua3cAIgAVvIsuU4qxb0vxUMo/JhifS204Cq9cfRNyVd+iEv1Ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17089},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"7da1249c67bd8ffb6cb3f1c6f9281c9925d14499","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.1.0_1776621142497_0.5502214856390826","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@asls/wsc-client","version":"2.1.1","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.1.1","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"590bf393daab63cd30ae101ba98ee1121754e69a","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.1.1.tgz","fileCount":3,"integrity":"sha512-TC/FBGYe3r4Y2rMgB+hjVBk9DxvKBIAYWTl8aNom/cul9ecpsAWQuhrfa3tl5pYXOFzcwTmVbQRhXW7OGb34qw==","signatures":[{"sig":"MEQCIFWpkDXBTksz2fMz/8D951nF3O79Ao5UW2QdJYy1P7bNAiB5CJUMQhcoBim+F9DKnb140tK9XztiTzrvf85Qf7eG3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17089},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"20e76a431ac96a920d43c932f47a43ceb59cd544","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.1.1_1776701740693_0.8039156302300725","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@asls/wsc-client","version":"2.1.2","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.1.2","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"307fa57d6a2593f5f08baf4a15f2a58d3bde6461","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.1.2.tgz","fileCount":3,"integrity":"sha512-Io7/iYjkkxLhImSZWUbfluCvcoYw4k2Hi7+d7hA4sNSdbz41epBp7q5cdmN1TrAimD6tjomT9JG2uG7DIxiIXA==","signatures":[{"sig":"MEYCIQDr/IlqTy2tj6HR67uk9yX5hpbCR2h12x7QufQM5jHVMwIhAPV8NmCka9zIT1q22NgIulq4s7/XpILtTG8YwF21We7X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17089},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"eb466ff2966567e38c28c74e06c9d7b974f2449e","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.1.2_1776701917828_0.7362073618029654","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@asls/wsc-client","version":"2.1.3","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.1.3","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","windows"],"dist":{"shasum":"5c31ce6fbe78fcfbb20667f7931ad79b98c9f504","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.1.3.tgz","fileCount":3,"integrity":"sha512-dQq79df/0q2OX6fZml6jdw9+aKYdKzBZt8LI0bRYKHx7YL8ZZ6ypmW0QhIM7rphLsQO0ZtTDtZcbKGGg+jZsHA==","signatures":[{"sig":"MEUCIGKTzIzr5aTDzTsFQ6xjREQr2QNyZUmr6y0jc6gHvI1eAiEAka38XZWdxSDg7qygffNU4O4FEuJShNEY5l2mh18lJJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17040},"main":"src/main.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/main.js"},"gitHead":"162a8a064cf39fef972632baa1c2a5118657581e","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.1.3_1776704686609_0.7006597665462626","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.1":{"name":"@asls/wsc-client","version":"2.2.0-rc.1","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.1","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"50635f140f06323882926cb47b0a9a4668ec4102","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.1.tgz","fileCount":3,"integrity":"sha512-semWThNpvCGXicGNoPJLpXys+TYaCoD1csPnjtXEj4DiI+CQR5TzqWfSHs9xnI/FMIHQ6W5bjtGjaQRcfKZZaw==","signatures":[{"sig":"MEUCIQDkZX1YiWVUd5w4J23WnYmqtc0dLVWF1DBgSE5zcuz1NQIgCPrNfvQAvx1LYFTwjRn/ORuCgAI6xRfUcMSEE9ZGUt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"a7c9500a771f323f0058c14cd4376317fba078b3","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.1_1776729685568_0.0063566712363747335","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.2":{"name":"@asls/wsc-client","version":"2.2.0-rc.2","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.2","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"05528c7e240e1597b3281cd3e49d8a3301590386","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.2.tgz","fileCount":3,"integrity":"sha512-JIHiwn/ztPomzkJ4IZrACkn0E6bHwQTgVQS+Jnr0cXDqzpPaOlBQUj8p/+EKSo1+2mhc6Q9vR4oBsQsEy+tJrg==","signatures":[{"sig":"MEUCICgkXNzaame319Rk+QhLwiowXoCYwLXCOolZUDlpY7cgAiEAhaOuOeszRV5fB631OFBLqHNc0YOl0dwKR2iBKgYqU5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"74671efea666b4bc0ee3c535b591538f6f7e1bcd","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.2_1776730385171_0.817874591226899","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.3":{"name":"@asls/wsc-client","version":"2.2.0-rc.3","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.3","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"e3b078432cca8084301d80743b3336f2400911fe","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.3.tgz","fileCount":3,"integrity":"sha512-5Tgdd90rFmAYvv+JHSA7PGMl0crh5IeTuvmO9Cctc1Dt9coxnBTRiAN4T1b070P5r4T02mGUdjlbI59XSyVvdg==","signatures":[{"sig":"MEQCIDQbkI4nKOXhCaV1h/E74YxoN/qoU/hD1b7uTov5JR8PAiBjB2Uj6WB58S9EaaxwoUCtp8iMDPDNUZ4KfEcN8OyF8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"4e77ae07e829260f0a92761760a2e8ec6932c6e0","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.3_1777572540860_0.09851114327100818","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.4":{"name":"@asls/wsc-client","version":"2.2.0-rc.4","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.4","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"33b2b0202e8df98b462b6d48354bcfc1bca6a580","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.4.tgz","fileCount":3,"integrity":"sha512-EtFR/QwZCCKIepQLoOlAYqpTeyM+5NVyBvipFtMFQO+f++JDcF5v7Ao+qalwPOB3lwxx4t18D3Hf/qJzvZwdVQ==","signatures":[{"sig":"MEQCIB3cXd4HaP0xZIz75zRVJYVtX5KaYWdcJeyDwG5Rrs3JAiAjz+fjdHb7yZzPw7al0yhzdUFoRCeQGKGCwvoJi6mwSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"28b25746fa03455b043dbabad78de3324468692d","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.4_1777572821034_0.010602276098908847","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.5":{"name":"@asls/wsc-client","version":"2.2.0-rc.5","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.5","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"bf51ce10509a359afa3e43577df938a6e7889e9b","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.5.tgz","fileCount":3,"integrity":"sha512-xBQCJSDGj2fXUwtIM9dAGYX8wOjjSpBj0nIc2qMifUBl+fmX4pE2YAf0VGfdVQ4YxgjvR+3lyCy6YYYmYsq/6Q==","signatures":[{"sig":"MEQCIB52RhqATlU/wDl0V4a7bmibklN13X4Az3slEv94T4wLAiB7ArVqrWVzsR3uXC2yLMEf9NLg715Dgq/44JSky6lwkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"8a2938ef3b5838130612afe1065c854e1ab9d163","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.5_1777573211557_0.6790267346169783","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-rc.6":{"name":"@asls/wsc-client","version":"2.2.0-rc.6","author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","_id":"@asls/wsc-client@2.2.0-rc.6","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"os":["darwin","linux","win32"],"dist":{"shasum":"4b017b22daf76f1c13d54d0d4f52c1afed5f21e0","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0-rc.6.tgz","fileCount":3,"integrity":"sha512-EJKsSeTnNJbR+k9DDuQUpx92Lnht9NN/+UCVEuVcN2IhJLCyFl/9AIiTdz3Q+Rw7ldPMGZpe23ZB/n52QHKdgw==","signatures":[{"sig":"MEQCIH60Z1zM7QSC0y9hfKmpWgeZDUL1bMeLwAPKqX+b25CtAiBWuWxZslvtwqW7xw5qlUK29yl8weuk/VVNFWTbEB7crw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17041},"main":"src/main.js","type":"module","engines":{"node":"18"},"exports":{".":"./src/main.js"},"gitHead":"0c18f3b3370e278ae0a3a5f94fc42f0f300ca43b","private":false,"scripts":{"dev":"vite ./example","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"_npmVersion":"10.9.8","description":"ASLS's WSC (Web Show Control) client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@asls/wsc-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1"},"_npmOperationalInternal":{"tmp":"tmp/wsc-client_2.2.0-rc.6_1777573819421_0.3697734560472501","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"version":"2.2.0","name":"@asls/wsc-client","type":"module","private":false,"publishConfig":{"access":"public"},"description":"ASLS's WSC (Web Show Control) client","engines":{"node":"18"},"os":["darwin","linux","win32"],"main":"src/main.js","exports":{".":"./src/main.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","dev":"vite ./example"},"author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","dependencies":{"@asls/wsc-sdk":"*"},"devDependencies":{"vite":"^7.3.1"},"_id":"@asls/wsc-client@2.2.0","gitHead":"8582b86d390dc2c88bb5c892355dc09e510a68fb","_nodeVersion":"20.20.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-3rkq4nGyB6j6M5K31xb/+3avZl457tS+fPgwj4nPpvUHoomoOUlYMCqjSmewUM6AWgpJ3Ic2bve25ghMcLl1Ug==","shasum":"4f7c9d1f44aa294c1f8c3fc41931db5aea4df385","tarball":"https://registry.npmjs.org/@asls/wsc-client/-/wsc-client-2.2.0.tgz","fileCount":3,"unpackedSize":17036,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEqq8826vfyYwYBjXiRpXmjFZ1lvzsTgTZB/BGQzrvaNAiBSsQvH4GUZ+JFGbtxHCFPcMoTd6OhY1S4Ai46lFOj06A=="}]},"_npmUser":{"name":"timekadel","email":"josearribasse@gmail.com"},"directories":{},"maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wsc-client_2.2.0_1777586414949_0.40671415564506974"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T14:34:11.721Z","modified":"2026-04-30T22:00:15.233Z","1.0.0":"2026-04-18T14:34:11.958Z","2.0.4":"2026-04-18T14:40:39.488Z","2.0.5":"2026-04-19T17:06:55.946Z","2.1.0":"2026-04-19T17:52:22.635Z","2.1.1":"2026-04-20T16:15:40.885Z","2.1.2":"2026-04-20T16:18:37.956Z","2.1.3":"2026-04-20T17:04:46.781Z","2.2.0-rc.1":"2026-04-21T00:01:25.739Z","2.2.0-rc.2":"2026-04-21T00:13:05.305Z","2.2.0-rc.3":"2026-04-30T18:09:01.040Z","2.2.0-rc.4":"2026-04-30T18:13:41.170Z","2.2.0-rc.5":"2026-04-30T18:20:11.700Z","2.2.0-rc.6":"2026-04-30T18:30:19.552Z","2.2.0":"2026-04-30T22:00:15.110Z"},"author":{"name":"Timé Kadel"},"license":"GPL-3.0-only","description":"ASLS's WSC (Web Show Control) client","maintainers":[{"name":"timekadel","email":"josearribasse@gmail.com"}],"readme":"# WSC (Web Show Control) Client\n\nA WebRTC-based client that connects to a [WSC-compatible gateway](https://github.com/ASLS-org/WSC/tree/main/implementations/js), and handles the creation, transmission, and parsing of WSC packets.\n\n>**About WSC:**<br>\n[WSC](https://github.com/ASLS-org/WSC) defines a unified wire format that transports DMX data, linear timecode, cue triggers, structured parameter updates, and arbitrary binary payloads. A gateway can then relay this data to downstream protocols such as Art-Net, sACN, OSC, MIDI, Modbus, and others.\n\n## Quick Start\n\nInstall the following dependencies in your project:\n```bash\nnpm install -S @asls/wsc-sdk\nnpm install -S @asls/wsc-client\n```\n\nImport the client and the SDK binding:\n\n```js\nimport { WscClient, WSC_REMOTE_STATE, KEEPALIVE_INTERVAL } from '@asls/wsc-client';\nimport { WscPacket, WscTransport, WscFlags, WscAddress } from '@asls/wsc-sdk';\n```\n\n### 1. Connect to a gateway\n\n```js\nconst client = new WscClient(\n  '192.168.1.50',   // gateway host or IP\n  4515,             // signaling WebSocket port\n  onOpen,\n  onMessage,\n  onClose,\n  onError,\n);\n\nclient.connect();\n\nfunction onOpen() {\n  console.log('Connected — WSC ready');\n  client.startKeepAliveSession();\n}\n\nfunction onMessage(packet) {\n  const decoded = WscPacket.decode(packet);\n  console.log(`← ${packet.typeName()}`, decoded);\n}\n\nfunction onClose() {\n  console.log('Disconnected');\n}\n\nfunction onError(err) {\n  console.error('Error:', err);\n}\n```\n\n### 2. Stream DMX channels via Art-Net\n\n```js\nconst values = new Uint8Array(512).fill(0);\nvalues[0] = 255;   // channel 1 full\nvalues[1] = 128;   // channel 2 half\n\nconst packet = WscPacket.create(\n  WscPacket.Type.STREAM_CHANNELS,\n  { universe: 0, startChannel: 1, values },\n  {\n    flags:     new WscFlags(true, true),   // TR + GW\n    transport: WscTransport.udp(\n      WscTransport.Protocol.ARTNET,\n      '127.0.0.1',\n      6454,\n    ),\n  },\n);\n\nclient.send(packet);\n```\n\n### 3. Fire a cue via OSC\n\n```js\nconst packet = WscPacket.create(\n  WscPacket.Type.CONTROL_CUE,\n  {\n    address: WscAddress.parse('lighting.cue.42'),\n    action:  WscPacket.CueAction.START,\n  },\n  {\n    flags:     new WscFlags(true, true),   // TR + GW\n    transport: WscTransport.udp(\n      WscTransport.Protocol.OSC,\n      '127.0.0.1',\n      8000,\n    ),\n  },\n);\n\nclient.send(packet);\n```\n\n### 4. Set a named parameter via OSC\n\n```js\nconst packet = WscPacket.create(\n  WscPacket.Type.CONTROL_PARAM,\n  {\n    address:   WscAddress.parse('lighting.layer.2.intensity'),\n    valueType: WscPacket.ValueType.F32,\n    value:     0.75,\n  },\n  {\n    flags:     new WscFlags(true, true),\n    transport: WscTransport.udp(\n      WscTransport.Protocol.OSC,\n      '127.0.0.1',\n      8000,\n    ),\n  },\n);\n\nclient.send(packet);\n```\n\n### 5. Stream linear timecode\n\n```js\nconst packet = WscPacket.create(\n  WscPacket.Type.STREAM_TIMECODE,\n  { hours: 1, minutes: 0, seconds: 30, frames: 0, rate: 30 },\n);\n\nclient.send(packet);\n```\n\n### 6. Tunnel raw bytes\n\n```js\nconst raw = new Uint8Array([0xF0, 0x42, 0x40, 0x7F, 0xF7]);\n\nconst packet = WscPacket.create(\n  WscPacket.Type.TUNNEL_RAW,\n  { raw },\n  {\n    flags:     new WscFlags(true, true),\n    transport: WscTransport.raw(),\n  },\n);\n\nclient.send(packet);\n```\n\n---\n\n## Client — API Reference\n\n### `new WscClient(host, port, onOpen, onMessage, onClose, onError)`\n\n| Parameter | Type | Description |\n|---|---|---|\n| `host` | `string` | Gateway hostname or IP address |\n| `port` | `number` | Signaling WebSocket port |\n| `onOpen` | `() => void` | Called when the first DataChannel is open |\n| `onMessage` | `(packet: WscPacket) => void` | Called for each received packet |\n| `onClose` | `() => void` | Called on disconnection |\n| `onError` | `(err: any) => void` | Called on transport or signaling error |\n\n### Methods\n\n| Method | Description |\n|---|---|\n| `connect()` | Initiate WebSocket signaling and establish the DataChannel |\n| `send(packet)` | Serialize and write a `WscPacket` to the appropriate DataChannel; silently drops if the channel is not open |\n| `close()` | Disconnect cleanly and transition to `IDLE` |\n| `startKeepAliveSession()` | Begin sending `STATE_QUERY(KEEPALIVE)` every 1 000 ms |\n| `stopKeepaliveSession()` | Stop the keepalive timer |\n\n### Properties\n\n| Property | Type | Description |\n|---|---|---|\n| `state` | `WSC_REMOTE_STATE` | Current connection state |\n| `debug` | `DebugEntry[]` | Rolling debug log, last 100 entries |\n\n### `WSC_REMOTE_STATE`\n\n| Value | Meaning |\n|---|---|\n| `IDLE` (`0`) | Not connected |\n| `CONNECTING` (`1`) | Signaling in progress |\n| `CONNECTED` (`2`) | DataChannel open |\n| `ERROR` (`-1`) | Unrecoverable transport error |\n\n---\n\n## DataChannel naming\n\nThe client creates one DataChannel per message type, named:\n\n```\nWSC!DC:<TYPE_NAME>\n```\n\nFor example: `WSC!DC:STREAM_CHANNELS`, `WSC!DC:CONTROL_CUE`.\n\nThe gateway identifies WSC channels by the `WSC!DC` prefix. Response channels used by the server:\n\n| Channel | Purpose |\n|---|---|\n| `WSC!DC:STATE_QUERY` | Carries `STATE_ANSWER` responses |\n| `WSC!DC:STATE_ERROR` | Carries `STATE_ERROR` responses |\n\n---\n\n## Validation\n\nAlways validate packets in development to catch flag and compatibility errors early:\n\n```js\nconst { valid, errors, warnings } = WscPacket.validate(packet);\n\nif (!valid) {\n  console.error('Invalid packet:', errors);\n  return;\n}\nif (warnings.length) {\n  console.warn('Packet warnings:', warnings);\n}\n\nclient.send(packet);\n```\n\n---\n\n## Connection lifecycle example\n\n```js\nlet client = null;\n\nfunction connect(host, port) {\n  client = new WscClient(host, port,\n    () => {\n      client.startKeepAliveSession();\n    },\n    (packet) => {\n      // handle incoming STATE_ANSWER, STATE_ERROR, etc.\n    },\n    () => {\n      client = null;\n      setTimeout(() => connect(host, port), 2000);\n    },\n    (err) => console.error(err),\n  );\n  client.connect();\n}\n```\n","readmeFilename":"README.md"}