{"_id":"@horuzhenko/guac-adapter","_rev":"32-34b7bf49fe1049c26681c7433e0c0760","name":"@horuzhenko/guac-adapter","dist-tags":{"latest":"6.0.24"},"versions":{"2.0.0":{"name":"@horuzhenko/guac-adapter","version":"2.0.0","_id":"@horuzhenko/guac-adapter@2.0.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"e82ece38184150d2dd7f1a2184b9618eb6a6fbdd","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-2.0.0.tgz","fileCount":27,"integrity":"sha512-vL7DBTc3KkD2q2N5m7moNgO5QTgNFuzUWYXyLKMwgVJg4VchPuk1P+VxHqxlPrBnvgIgvCnq3YpeeESqnUUVdg==","signatures":[{"sig":"MEUCIQDhUrF/5xFmwXmPDo7KI5QKiJsi1nRKhbcBp+RjfqRikQIgV227c71aTtuZmHrSPvQy6zgnkrgo7SZHgxruGc687t8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117543},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-2.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/f9141877f303564c92b1926f44d7c03f/horuzhenko-guac-adapter-2.0.0.tgz","_integrity":"sha512-vL7DBTc3KkD2q2N5m7moNgO5QTgNFuzUWYXyLKMwgVJg4VchPuk1P+VxHqxlPrBnvgIgvCnq3YpeeESqnUUVdg==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_2.0.0_1755722142212_0.4795999444320107","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@horuzhenko/guac-adapter","version":"3.0.0","_id":"@horuzhenko/guac-adapter@3.0.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"0c7c9c33e7550de5d1da3bcea0149f987519767b","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-3.0.0.tgz","fileCount":27,"integrity":"sha512-i7ULqxPrCJuRBcq6E7F3CGjK+NllNyT05SVU0xwE0sBmlN4dQ0N6zDuVkyxhZNNZuuoH2E3uPjWRlqv8o0ZEMA==","signatures":[{"sig":"MEQCIH4c3u82c28wOYG4HuGE+veBtPrbRK1kpssN00toaclWAiBGBsg02D4rI1uZrFsYbCxUy1EmqUR3jXT/TJADG0Bg+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117543},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-3.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/743b135c59ae341116072584b8bdfb24/horuzhenko-guac-adapter-3.0.0.tgz","_integrity":"sha512-i7ULqxPrCJuRBcq6E7F3CGjK+NllNyT05SVU0xwE0sBmlN4dQ0N6zDuVkyxhZNNZuuoH2E3uPjWRlqv8o0ZEMA==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_3.0.0_1755724507251_0.7736388509420806","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@horuzhenko/guac-adapter","version":"4.0.0","_id":"@horuzhenko/guac-adapter@4.0.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"c66c5b759838b9fd84c747ed01e689c62d4eaf75","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-4.0.0.tgz","fileCount":27,"integrity":"sha512-pValLCaLzECL5WwG8J/WA0kyAPpz8DTrriY3tcG433LR+cFMOjKt7J7o/SpGVXiePPjMDhawMUnR/UXBJdoCrw==","signatures":[{"sig":"MEYCIQCDFt7NukDMD0dpkmDe5DCUcbfhw6z7MAyoPCVV4IjGsgIhAL/I6t3yBuaBHbf8gw64h5fEQze4+Qn3eZa/gw9dvT6d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117543},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-4.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/3de3303273d71743248fb94724e0ba4c/horuzhenko-guac-adapter-4.0.0.tgz","_integrity":"sha512-pValLCaLzECL5WwG8J/WA0kyAPpz8DTrriY3tcG433LR+cFMOjKt7J7o/SpGVXiePPjMDhawMUnR/UXBJdoCrw==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_4.0.0_1755724852155_0.6889416292720074","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@horuzhenko/guac-adapter","version":"5.0.0","_id":"@horuzhenko/guac-adapter@5.0.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"8a62d967545d3776b1ce9d09e86fbb643abc9f56","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-5.0.0.tgz","fileCount":26,"integrity":"sha512-C0pwcZWKhx8t7sV4ytkA2zTtyhZ8KiePFPnDWepuN0fDcO9XKHGwDqO34AOFuUR8QsuvbVEtTDschVJPrjGWFQ==","signatures":[{"sig":"MEYCIQCghGWyn07CvzmD4MHUi0O90mpLXUZd7HQI0MB6OhRP3QIhAIF19WoZJNvGlF61Ojd3p8nTVUY1Hd/snjnxC56YtOyx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116436},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"gitHead":"7c2fdf2f2f6e6be51beca9bd7996097f22028271","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_5.0.0_1755765469609_0.6445777759316746","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@horuzhenko/guac-adapter","version":"5.1.0","_id":"@horuzhenko/guac-adapter@5.1.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"14fc1a17dabe783fbd5a3884f98d86bddbc39ecc","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-5.1.0.tgz","fileCount":26,"integrity":"sha512-LX7jF52LvLwqzst87BHchuQy71Ktnyl8RNczaQLFkne1Z+l79ERbac/Cxwy787viVjI/b3AXWFJpKemal0dnSw==","signatures":[{"sig":"MEUCIQCEnddNxy2nAYVVFiEl/uCme1uGQtmCn/7KykTJRzS+YgIgOopJYcA+rny1T3EjU6gDedwgV0MgPpI8efon9Tzhx88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"gitHead":"7c2fdf2f2f6e6be51beca9bd7996097f22028271","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"^5.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_5.1.0_1755766742886_0.24953799947152722","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@horuzhenko/guac-adapter","version":"5.2.0","_id":"@horuzhenko/guac-adapter@5.2.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"e5275c2ef83aaeb0e3d3cd05694a069ead5500e5","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-5.2.0.tgz","fileCount":27,"integrity":"sha512-O82IyJv1MGpDjnDbDJe366Xwu0ANPeI9iVOz/qY5Jg+06zgV/eyc1AOVH9OiLBW+j6WQFjpsLl14LVUNJZMuAQ==","signatures":[{"sig":"MEUCIQDTC0TndbMz115tCs7mihQ4nWj3otmeqCP2zU9wEDjJcgIgKyiC96DS8I/oaXZDQY1n+GoeRYKLONN2o6hw3f3rm+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122314},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-5.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/e75373e39ec2a1b9cd70a68f31ca9adc/horuzhenko-guac-adapter-5.2.0.tgz","_integrity":"sha512-O82IyJv1MGpDjnDbDJe366Xwu0ANPeI9iVOz/qY5Jg+06zgV/eyc1AOVH9OiLBW+j6WQFjpsLl14LVUNJZMuAQ==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"5.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_5.2.0_1755787659439_0.2562957610544021","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@horuzhenko/guac-adapter","version":"5.3.0","_id":"@horuzhenko/guac-adapter@5.3.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"6d684d5c0c5918745b639c6d4d1b3b6d38b8dbed","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-5.3.0.tgz","fileCount":34,"integrity":"sha512-iwlXMJyqcig0M+F6oZXrZMDGcv2YT05azunEiB5JDtlGKWA/vmu79J2ulI54dIi0y6nmm+7VKIqt0VUTsqHWxw==","signatures":[{"sig":"MEUCIBR3civO4AIK+hoRKaKg4z3iJJovOxyZ9dRxPfC9hWy3AiEAtTIOEo/vsYDqXZFFf2+oswZsEFbqIn/IElV6lXV5foU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133775},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"gitHead":"ab7d215c694fd7f5b95cbfa68e4e7cbdbc4ea004","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_5.3.0_1755874249656_0.9993952249061404","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@horuzhenko/guac-adapter","version":"6.0.0","_id":"@horuzhenko/guac-adapter@6.0.0","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"bc2f4de896072b931b4c60369d0eb65a9db0671c","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.0.tgz","fileCount":35,"integrity":"sha512-hwSoHr1PDr3jh5oa0eqlhfVb0Cb4j50VJ0Q+QXcX9Du1fCPKOgAC9qnh+fS2DlZ4qzK/T//tMw4XihhkTWSBvQ==","signatures":[{"sig":"MEQCIGAeOZP9gvCfIHlLe0XOmxdBBKD9mjl9UxYZwEwas8I6AiAeDPyzL/MOXIjEJxP84BDNyLZbibzi+gvXFS249w95RA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134882},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/c7a7333015bd45ef909e7e65f7bd2b1c/horuzhenko-guac-adapter-6.0.0.tgz","_integrity":"sha512-hwSoHr1PDr3jh5oa0eqlhfVb0Cb4j50VJ0Q+QXcX9Du1fCPKOgAC9qnh+fS2DlZ4qzK/T//tMw4XihhkTWSBvQ==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.0_1755881019965_0.8822294842722749","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@horuzhenko/guac-adapter","version":"6.0.1","_id":"@horuzhenko/guac-adapter@6.0.1","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"afe07200db69bd2c0592749baeae5a8beffe1581","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.1.tgz","fileCount":35,"integrity":"sha512-THoOw++ILPJVeU3aTLAzk5NHXlidi9LIke1XKN9SZXtg8I7jEHJ0TPgi+YKNvZeXtWfOWFpgOv+rr1424miO8w==","signatures":[{"sig":"MEUCIQDPC1SnnAwuLMKDQ1xkclm8Rt9g9smMwLzyJN3pWSJOOQIgUxLVmOtcecB9K9FuBXfNFmOI/uIx1Hjp3S81orexu7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135487},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/7847ba9ebcd9544c58407cd10df62cc6/horuzhenko-guac-adapter-6.0.1.tgz","_integrity":"sha512-THoOw++ILPJVeU3aTLAzk5NHXlidi9LIke1XKN9SZXtg8I7jEHJ0TPgi+YKNvZeXtWfOWFpgOv+rr1424miO8w==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.1_1755885449028_0.6069874577911631","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@horuzhenko/guac-adapter","version":"6.0.2","_id":"@horuzhenko/guac-adapter@6.0.2","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"764854e1aff68f372ff8d27f984c8282d42d72c5","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.2.tgz","fileCount":35,"integrity":"sha512-mCDTD7kjOlCC47QDM20fepwMpJ4s5il1+AKjo4AOa3LzEwqG2/RpmPQZjFvp/ZR6+dde/jm5ODRxxP6EMXBtDg==","signatures":[{"sig":"MEUCIQDSdOX8K6PolDSExWZ/bsxroRudLmHOpHjIuk5NplCn+AIgVPMPhJ794+GPcik4f0wVTz0glV/T8t0CTYk/P3A5dyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134590},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/d64f0d9e360419f0ea9259489d59c89b/horuzhenko-guac-adapter-6.0.2.tgz","_integrity":"sha512-mCDTD7kjOlCC47QDM20fepwMpJ4s5il1+AKjo4AOa3LzEwqG2/RpmPQZjFvp/ZR6+dde/jm5ODRxxP6EMXBtDg==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.2_1755961672059_0.3422432168032583","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@horuzhenko/guac-adapter","version":"6.0.3","_id":"@horuzhenko/guac-adapter@6.0.3","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"673bd657363b1a2b9f7139ca43249308a40eaa19","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.3.tgz","fileCount":35,"integrity":"sha512-Xq0Uft0+I+3VUASXGkZkR0Q7U6DY+zm2WZWKyRRM2OIup/p5U0siSkdIZlugjz2mwUyn3qF0UGwVkTHSsHYjAQ==","signatures":[{"sig":"MEQCIFQbj40NxDsbXmLxsg5ssFlPKw8me3J1ze1YTwZ3OSetAiBHKxerSOe7RTGAfJsUW57NLKyj7UX672XoIMasKZOlOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134498},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/1ecbff8e5463288c093be5a1e10d9c47/horuzhenko-guac-adapter-6.0.3.tgz","_integrity":"sha512-Xq0Uft0+I+3VUASXGkZkR0Q7U6DY+zm2WZWKyRRM2OIup/p5U0siSkdIZlugjz2mwUyn3qF0UGwVkTHSsHYjAQ==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.3_1755962440619_0.21645724587326476","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"@horuzhenko/guac-adapter","version":"6.0.4","_id":"@horuzhenko/guac-adapter@6.0.4","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"0b8e08d0271295201891981a8f6c620bec2f9330","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.4.tgz","fileCount":35,"integrity":"sha512-CHqNkh1kxfxG9WYezh2QssIVg6BDyr41ydptJ44nCaOe+3R5mOWV1nEppIZMcVV2QrgPQCdSOH+8+q1r2rva7A==","signatures":[{"sig":"MEUCIBJ2wC51eSp0ipW6AQNvGjb0U6YFKVafUiGZrSfbJi5aAiEA+FY92do3LgmeJ67w1x0eHicOiZdRUpzU5tYSXUbdIFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134498},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/2494cf3174bc8839fdb4fcb631762d4c/horuzhenko-guac-adapter-6.0.4.tgz","_integrity":"sha512-CHqNkh1kxfxG9WYezh2QssIVg6BDyr41ydptJ44nCaOe+3R5mOWV1nEppIZMcVV2QrgPQCdSOH+8+q1r2rva7A==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.4_1756722249264_0.8819832317029119","host":"s3://npm-registry-packages-npm-production"}},"6.0.5":{"name":"@horuzhenko/guac-adapter","version":"6.0.5","_id":"@horuzhenko/guac-adapter@6.0.5","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"30d3491f81b8a996250f8230ca8e859037e1a452","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.5.tgz","fileCount":35,"integrity":"sha512-d/yfndhNimEMqneOptFA8rwAnjhkf6X34SgNVby7vf+hp2n9pZkDGxOYj5rwVDv/0C/1GRsAF+wtvtU5ku07MA==","signatures":[{"sig":"MEQCIBPqfJdEKaJ0Ku+XxtrdZVAfTDj0FqnNRPE7qgGoL4NmAiAi+XcYkMz0X1VoyHUXxScp42ScqCEDgjFCmqnhprcG5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140128},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/990cf8325b7e86ae9cdbadde04490fe9/horuzhenko-guac-adapter-6.0.5.tgz","_integrity":"sha512-d/yfndhNimEMqneOptFA8rwAnjhkf6X34SgNVby7vf+hp2n9pZkDGxOYj5rwVDv/0C/1GRsAF+wtvtU5ku07MA==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.5_1756727344415_0.9183476668558519","host":"s3://npm-registry-packages-npm-production"}},"6.0.6":{"name":"@horuzhenko/guac-adapter","version":"6.0.6","_id":"@horuzhenko/guac-adapter@6.0.6","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"b72b4ef23bad96b00a99685ecfacad646ca0fcda","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.6.tgz","fileCount":35,"integrity":"sha512-9Y3VDF5JA5JNznj0ef9D20iBIEjndvVxHH5MIHlz6wcXqej4xKlz9VwHa0U5CnIX1uDH6kHGUN/siUo5l9OtgA==","signatures":[{"sig":"MEUCIQCFPgMrFndAj2t85Rsf/BLUXJ4viEcI3Ww21SiIBAE40QIgW02YA/SEBhrjTKRLO/WVbadyOKwf8jphVriSAysCM+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140193},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/471671dff95913371f0814fc1437a3c8/horuzhenko-guac-adapter-6.0.6.tgz","_integrity":"sha512-9Y3VDF5JA5JNznj0ef9D20iBIEjndvVxHH5MIHlz6wcXqej4xKlz9VwHa0U5CnIX1uDH6kHGUN/siUo5l9OtgA==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.6_1756739495370_0.707049693128692","host":"s3://npm-registry-packages-npm-production"}},"6.0.7":{"name":"@horuzhenko/guac-adapter","version":"6.0.7","_id":"@horuzhenko/guac-adapter@6.0.7","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"5d195559188b7a960517c631790f2cc6ff73b3cd","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.7.tgz","fileCount":35,"integrity":"sha512-e03DYGLfkCt2aIGFe+fLtuzW9p+e1CAb3ck6kzurx19ZiRC1XI3se9iMyUmlogypDURHnPhp5HTCoMDCGhODuw==","signatures":[{"sig":"MEQCICQK6HA/65mHJcI4UOfb+Tkn/iIxq61X+iQaj7geD+ArAiBpK2OcbtYxuhclViyEzoZK3bLFBrfsDrhbnvAUqh+z5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198751},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.7.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/36d9a922aace8fba6b1abff8a7ce4461/horuzhenko-guac-adapter-6.0.7.tgz","_integrity":"sha512-e03DYGLfkCt2aIGFe+fLtuzW9p+e1CAb3ck6kzurx19ZiRC1XI3se9iMyUmlogypDURHnPhp5HTCoMDCGhODuw==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.7_1758641304860_0.35821580755067917","host":"s3://npm-registry-packages-npm-production"}},"6.0.8":{"name":"@horuzhenko/guac-adapter","version":"6.0.8","_id":"@horuzhenko/guac-adapter@6.0.8","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"8d308fb8888a9cd7fc2e707e8fbd6bc0efb262d5","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.8.tgz","fileCount":35,"integrity":"sha512-gzYDKlW9KjmqFGvHpjQWD7lS7TaYFqa1dXBeC/9Ps7KGRltTGbr3jb4L5zEs9AY7tAlTPRtGIJZKoHdu1u1SEg==","signatures":[{"sig":"MEYCIQDEFKi0dKvOVldoZMcbXkJ858iJd6BNIN12K1D8F2mgEwIhAKDracSkka37iSZed+fxZhNs+ils4iLFUE3Lw2pBpUn7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198751},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.8.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/30ee06359eac6fc0ba331b6524cf4806/horuzhenko-guac-adapter-6.0.8.tgz","_integrity":"sha512-gzYDKlW9KjmqFGvHpjQWD7lS7TaYFqa1dXBeC/9Ps7KGRltTGbr3jb4L5zEs9AY7tAlTPRtGIJZKoHdu1u1SEg==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","canvas":"^2.11.2","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.8_1758641382527_0.5990353031398798","host":"s3://npm-registry-packages-npm-production"}},"6.0.9":{"name":"@horuzhenko/guac-adapter","version":"6.0.9","_id":"@horuzhenko/guac-adapter@6.0.9","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"9bfbf2e4de115813fd6ba4170051c1a696ea96ff","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.9.tgz","fileCount":35,"integrity":"sha512-hRlaBoXkX9IkgXNoxhIuaojrcQ3dIgIM56RGI9H07HM2dCarfhg5UXkuEOajNHzL7Y/+pTtKZbre5Jmsz56RDw==","signatures":[{"sig":"MEUCIHcEYUZ4QcPPz/oIPxF2rlMnniFUB3QbXVC1lQHyKslwAiEAlnL+5abMY26Lk3nyO1u8n96CP5llfCLivclrEe5qEI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198771},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.9.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/6c474760749e6d770728030e77607df0/horuzhenko-guac-adapter-6.0.9.tgz","_integrity":"sha512-hRlaBoXkX9IkgXNoxhIuaojrcQ3dIgIM56RGI9H07HM2dCarfhg5UXkuEOajNHzL7Y/+pTtKZbre5Jmsz56RDw==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.9_1758643105309_0.5319293931437179","host":"s3://npm-registry-packages-npm-production"}},"6.0.10":{"name":"@horuzhenko/guac-adapter","version":"6.0.10","_id":"@horuzhenko/guac-adapter@6.0.10","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"fa82a53da8284077e30174a82506c8feaadef18f","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.10.tgz","fileCount":35,"integrity":"sha512-s6NtIuEV7xaEQxCAn8q7+cJGJLnbdMoBOpf0hyoF5gc2CX1xwTD8W7cWsDIIPjCcuaVxpUTVaIeP2QkcVdKLJw==","signatures":[{"sig":"MEQCICbHGqB+DsfRBXs2eL5Hdvda+i4gxhEhlReqrdY1iIS4AiB//fNpnB8BHgResKesBy1bVmDE7qqb3Yyzj+B5ORVyBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198895},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.10.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/2adb077b0cc9d494e64156a4897eae57/horuzhenko-guac-adapter-6.0.10.tgz","_integrity":"sha512-s6NtIuEV7xaEQxCAn8q7+cJGJLnbdMoBOpf0hyoF5gc2CX1xwTD8W7cWsDIIPjCcuaVxpUTVaIeP2QkcVdKLJw==","_npmVersion":"10.9.2","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.10_1758646068243_0.6823714287093494","host":"s3://npm-registry-packages-npm-production"}},"6.0.11":{"name":"@horuzhenko/guac-adapter","version":"6.0.11","_id":"@horuzhenko/guac-adapter@6.0.11","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"7a5aee34090a4d3f40c31268f225709f3a807416","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.11.tgz","fileCount":35,"integrity":"sha512-b+6uYu9XREJ+GlKH0fNsE2RETpmx7cTMutozjKfbZE73R8bV1yvNdekqrn5kux8YIj8upeuAOxDPKoAoSHk3CA==","signatures":[{"sig":"MEUCIQDkhGlYtz/5IHSpCsHXvFT1eOInTIjNCpuMPXmaxRD8JwIgdrb6CR2gFVT5A4Pur106BBw21lleG9ajy/jpOsHnTt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202960},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.11.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/cf4aaa22c861b023a2ed04b2d33cede7/horuzhenko-guac-adapter-6.0.11.tgz","_integrity":"sha512-b+6uYu9XREJ+GlKH0fNsE2RETpmx7cTMutozjKfbZE73R8bV1yvNdekqrn5kux8YIj8upeuAOxDPKoAoSHk3CA==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.11_1768220456814_0.16666325148383887","host":"s3://npm-registry-packages-npm-production"}},"6.0.12":{"name":"@horuzhenko/guac-adapter","version":"6.0.12","_id":"@horuzhenko/guac-adapter@6.0.12","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"c964275de4b4833eda1cb0f33fcd41d04508114b","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.12.tgz","fileCount":35,"integrity":"sha512-Z03z+dpSGzc4L8x+q3Xbz3YybgBDogz1kP0smXicZQOCNLMqhSESo8zkoYuHpCw9QGhgRKl4rdMOXWhUe8jZmw==","signatures":[{"sig":"MEUCIQCIH5VbfGvs3M5y+tIVoYOBg8FXzP0a6+bPi6yNa8QgeQIgZugb9H+ByTDPjlOP34SxCqkCaccXIIniFpkzSC0a+Ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214039},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.12.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/c34003658ed33cc8ebbb8398c636e6e9/horuzhenko-guac-adapter-6.0.12.tgz","_integrity":"sha512-Z03z+dpSGzc4L8x+q3Xbz3YybgBDogz1kP0smXicZQOCNLMqhSESo8zkoYuHpCw9QGhgRKl4rdMOXWhUe8jZmw==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.12_1769513257042_0.708902459449962","host":"s3://npm-registry-packages-npm-production"}},"6.0.13":{"name":"@horuzhenko/guac-adapter","version":"6.0.13","_id":"@horuzhenko/guac-adapter@6.0.13","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"cacf7c4560fe1ca01c99c4711e70b172ff0ea265","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.13.tgz","fileCount":35,"integrity":"sha512-BuYWo1GbJ9BAyBtX8eY6xVVSFpNiUeXv8EBA6i2VIJdfQSfJ4le+AgKz+yWv4APKPo/UxUdAPRlZbfaHxZcZCw==","signatures":[{"sig":"MEUCIBRva+HZvdyCy8r3ez5uw42luUdmBRX8x6oSiC2xncSEAiEA0XSdkBwJaXt3Ni8V3H+cLu6c1/CsuGpwBkL6PWi6ruA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200717},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.13.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/30cd8f12bc519b13457991f36bd2ee7b/horuzhenko-guac-adapter-6.0.13.tgz","_integrity":"sha512-BuYWo1GbJ9BAyBtX8eY6xVVSFpNiUeXv8EBA6i2VIJdfQSfJ4le+AgKz+yWv4APKPo/UxUdAPRlZbfaHxZcZCw==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.13_1769529036243_0.013072185686961335","host":"s3://npm-registry-packages-npm-production"}},"6.0.14":{"name":"@horuzhenko/guac-adapter","version":"6.0.14","_id":"@horuzhenko/guac-adapter@6.0.14","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"2111137ab09ee0b284827d0620d2209fd1bc7c4c","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.14.tgz","fileCount":35,"integrity":"sha512-khywGmm3Kxvitd6ctLmCLW2qpVHu5Ja4Ok13YJ9mYiQFG31IetVX+iwe1Ge/z+wvOmpLzG3tlIEcbVUlWKdAGQ==","signatures":[{"sig":"MEQCIGmjlZ1B1E6GSNBu1TWm6KptcsOuNQ6D2CinzKhCL3ImAiBu/Axt6uQe9Y+PjTo/bJnxhMR41FS96W8p/Pl2rHmQjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212603},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.14.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/e93c7b8fd582b8cdc7b8662354eb32d2/horuzhenko-guac-adapter-6.0.14.tgz","_integrity":"sha512-khywGmm3Kxvitd6ctLmCLW2qpVHu5Ja4Ok13YJ9mYiQFG31IetVX+iwe1Ge/z+wvOmpLzG3tlIEcbVUlWKdAGQ==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.14_1769613656108_0.41285674456408716","host":"s3://npm-registry-packages-npm-production"}},"6.0.15":{"name":"@horuzhenko/guac-adapter","version":"6.0.15","_id":"@horuzhenko/guac-adapter@6.0.15","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"04a693532d1040453cf5ba3959f5df72e8933dd4","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.15.tgz","fileCount":35,"integrity":"sha512-a52cehf4xQdmFnY2IT0by7vS/VETKm3XNZCmDUMyPZbks8Ca8b8aLztxYW48AEV+PZVNWi3z5Bx71fSJb9SJqg==","signatures":[{"sig":"MEQCIBY/hTkMbJOUn1e4Gj3v30pUFsJDeG36Zm/fHRFM1QIFAiBXDDEX5fWwa2wQ/kYzxp7HlhGruEo3Z7Lr9+3bDUQ0lQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221759},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.15.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/69f5da7685e2290d2f3a967337434446/horuzhenko-guac-adapter-6.0.15.tgz","_integrity":"sha512-a52cehf4xQdmFnY2IT0by7vS/VETKm3XNZCmDUMyPZbks8Ca8b8aLztxYW48AEV+PZVNWi3z5Bx71fSJb9SJqg==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.15_1773152050239_0.26466914869938374","host":"s3://npm-registry-packages-npm-production"}},"6.0.16":{"name":"@horuzhenko/guac-adapter","version":"6.0.16","_id":"@horuzhenko/guac-adapter@6.0.16","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"47de0f3f9b9b22d4a5c46359dd15754178111dd9","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.16.tgz","fileCount":43,"integrity":"sha512-5fckW9s8krEwx8/Y2LX5mryWQhL0wUCgwquzQECCT4ujXIpd53jn6oZ0vLKwzhctqXwlKsuyfluxN7S1mvSnrw==","signatures":[{"sig":"MEYCIQD67tDTo3OaMS5sUZutF84I8MuS78Hdk7PERgp8p/BH6QIhAMeo+ItgL++XStdheVrYZ5Fw0m4nGnVYt6hWIbegxRVe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405718},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.16.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/d0aba7ae2c76c4c3ee34335cdfac528c/horuzhenko-guac-adapter-6.0.16.tgz","_integrity":"sha512-5fckW9s8krEwx8/Y2LX5mryWQhL0wUCgwquzQECCT4ujXIpd53jn6oZ0vLKwzhctqXwlKsuyfluxN7S1mvSnrw==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.16_1773163988663_0.30431487016137826","host":"s3://npm-registry-packages-npm-production"}},"6.0.17":{"name":"@horuzhenko/guac-adapter","version":"6.0.17","_id":"@horuzhenko/guac-adapter@6.0.17","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"2310c73f577ccfe3159ec31c15e37d0a46a34775","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.17.tgz","fileCount":43,"integrity":"sha512-OmPFYhhpYUF/ZBJ3Tsm0Q0GsyRn9pfxAdMLh1xKhTPj2KTDwl2Q8wqFSTayRA/GnGjKN63xxcuREp2HPCOzwow==","signatures":[{"sig":"MEYCIQDrTjljHnyci4npKjSfuCKiFdzIXT40gHwyff6+U1Ub9AIhAKop4BhJGGkvsMBhWrkDUNjOgtNHpGyfNDHrzWLzgF9W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406036},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.17.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/37259f4ae394ceed0cf1d92fcaa028c2/horuzhenko-guac-adapter-6.0.17.tgz","_integrity":"sha512-OmPFYhhpYUF/ZBJ3Tsm0Q0GsyRn9pfxAdMLh1xKhTPj2KTDwl2Q8wqFSTayRA/GnGjKN63xxcuREp2HPCOzwow==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.17_1774600160778_0.1449190704819907","host":"s3://npm-registry-packages-npm-production"}},"6.0.18":{"name":"@horuzhenko/guac-adapter","version":"6.0.18","_id":"@horuzhenko/guac-adapter@6.0.18","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"ae83b270bfa5c5d0ef4bf714ee029e2c8dd37c73","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.18.tgz","fileCount":43,"integrity":"sha512-8+JaqYVI8m/bHv/bywvurvlSs0/STc+jwEGQCZLFwJ64RsgiRtDnmvF8q3z24xHia1bktoWSUJqWt45OaOrDBg==","signatures":[{"sig":"MEUCIQD+AUpChzxbH/THkq9kV1Bf1r0j2o1+DfUtkCoRgEKzbAIgaVrRrTjlvs3n/eUpJrOvoeIZRoSVdu8kSb6k+2rHHPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409992},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.18.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/d3c7e3308ddec1e093fb431d7f880ec3/horuzhenko-guac-adapter-6.0.18.tgz","_integrity":"sha512-8+JaqYVI8m/bHv/bywvurvlSs0/STc+jwEGQCZLFwJ64RsgiRtDnmvF8q3z24xHia1bktoWSUJqWt45OaOrDBg==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.18_1774883121180_0.004885293664021573","host":"s3://npm-registry-packages-npm-production"}},"6.0.19":{"name":"@horuzhenko/guac-adapter","version":"6.0.19","_id":"@horuzhenko/guac-adapter@6.0.19","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"7c34badcf06b14a93b11df9268c2b8376aa44215","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.19.tgz","fileCount":43,"integrity":"sha512-tXaPoH6DD8f29vYRmOCn+slTjGwn2q5sNEtKhOwuqPpe2YyeOt7TahE8wLwT64JiwNzlcLYWwM05ysV/+aT5uA==","signatures":[{"sig":"MEQCIGtQR9oc4U5uem0RNtvDtAJwEAD+dpJDhMENC33u6UAwAiA2dZJJjZiM+jqjMgahcdufy5BjynmhhpxfUw4yctWVdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410830},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.19.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/n_/w3q2zyt548q8bb8kcvqyrxk40000gn/T/38511dec407edd4637154fde9742c160/horuzhenko-guac-adapter-6.0.19.tgz","_integrity":"sha512-tXaPoH6DD8f29vYRmOCn+slTjGwn2q5sNEtKhOwuqPpe2YyeOt7TahE8wLwT64JiwNzlcLYWwM05ysV/+aT5uA==","_npmVersion":"11.6.4","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.19_1774964316189_0.8452392480714968","host":"s3://npm-registry-packages-npm-production"}},"6.0.20":{"name":"@horuzhenko/guac-adapter","version":"6.0.20","_id":"@horuzhenko/guac-adapter@6.0.20","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"f83c39741e5265fce3c3c6101c30ec9bf3ee04a9","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.20.tgz","fileCount":43,"integrity":"sha512-8KZ91430x4WJZuMCHUx8sJZlzkMyxwxuGTKzATx9XdCo28LPBFxuh+fjvQsZQZiS6IiGH39FypTdGHjtE/YOJg==","signatures":[{"sig":"MEYCIQCKoNB7Ip30gxfaWqwrHjB8g5hU1ES1ZY1tRTXK1zE+fAIhAIPaSd39T1wkIsyqrPVP7T7M1cK7+TsThPdybDaRUyDQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411837},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.20.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/77/z1vk5rc17vs6zwchmv55s_300000gp/T/52be27ec43eeb84636be19f7d353b5e6/horuzhenko-guac-adapter-6.0.20.tgz","_integrity":"sha512-8KZ91430x4WJZuMCHUx8sJZlzkMyxwxuGTKzATx9XdCo28LPBFxuh+fjvQsZQZiS6IiGH39FypTdGHjtE/YOJg==","_npmVersion":"11.11.0","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.20_1777382819324_0.18505127197704407","host":"s3://npm-registry-packages-npm-production"}},"6.0.21":{"name":"@horuzhenko/guac-adapter","version":"6.0.21","_id":"@horuzhenko/guac-adapter@6.0.21","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"13091e5f9bc04f00f1b66ed6dd977958d84d972f","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.21.tgz","fileCount":43,"integrity":"sha512-1u35mb4kKEkyEqRn8TbfPcwbgglnjTlgu6uEosWof6eAIrOGbvkLQi48iLojy3ciVH3TG7H9uVg8JdEDjn8MRA==","signatures":[{"sig":"MEQCIHy2/uja/Ta69w8VcRs58EsoJQdpbxTUGgLzWuD/CdwBAiBdvI52cumeWNZbXDB4Pf7IGXA35tjVAxGiNJSkbdq/8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428167},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.21.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/77/z1vk5rc17vs6zwchmv55s_300000gp/T/9712542f8e5cd8e57eb466adf8580127/horuzhenko-guac-adapter-6.0.21.tgz","_integrity":"sha512-1u35mb4kKEkyEqRn8TbfPcwbgglnjTlgu6uEosWof6eAIrOGbvkLQi48iLojy3ciVH3TG7H9uVg8JdEDjn8MRA==","_npmVersion":"11.16.0","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.21_1786355230382_0.6087909465648222","host":"s3://npm-registry-packages-npm-production"}},"6.0.22":{"name":"@horuzhenko/guac-adapter","version":"6.0.22","_id":"@horuzhenko/guac-adapter@6.0.22","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"edffb1d345d404d257c7d33e7dd489e9fdb8354f","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.22.tgz","fileCount":43,"integrity":"sha512-hJS9hLO+WBxR8q1QFAzISQJGrL6I052ucOCA4Pda0zWqRcUP0062y+u6Gm27IZqom3Fd0cTCKqYhDPtoz88B/A==","signatures":[{"sig":"MEQCIBrQKYgKi7hA72Pahrl1hnCwql7dF2OuzDjeMqm+Gr3EAiBDkk+ZiOropAMPRHNHz2maTaTdnDeoIoKXXSVQH/7yFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430144},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.22.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/77/z1vk5rc17vs6zwchmv55s_300000gp/T/3466a0aba54f000f2654f09d5a25ace6/horuzhenko-guac-adapter-6.0.22.tgz","_integrity":"sha512-hJS9hLO+WBxR8q1QFAzISQJGrL6I052ucOCA4Pda0zWqRcUP0062y+u6Gm27IZqom3Fd0cTCKqYhDPtoz88B/A==","_npmVersion":"11.16.0","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.22_1786467770954_0.9264307820487352","host":"s3://npm-registry-packages-npm-production"}},"6.0.23":{"name":"@horuzhenko/guac-adapter","version":"6.0.23","_id":"@horuzhenko/guac-adapter@6.0.23","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"dist":{"shasum":"6aec50ac2313483b2b9e7124f19cc760b6f71d23","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.23.tgz","fileCount":43,"integrity":"sha512-wa2D67OuTT2WOwlzhQM4dK3RuHe1LTP7dcWVJG7DixjNfgwQQYperj/rlzwj5gzuTgoSQ77BKShdL+mm9W55cQ==","signatures":[{"sig":"MEUCIQCtQ/h0vxGu/wB69vNy5MPRyGwRCtV52Ck7TkWzVNflhgIgXlidIWsgXcBSSt/8MMYKNNSZbp6qLNSdp6bQV7SGJa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447176},"main":"./dist/index.js","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.23.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/77/z1vk5rc17vs6zwchmv55s_300000gp/T/d08874d4fdc3c87ff560ac6443eb2c60/horuzhenko-guac-adapter-6.0.23.tgz","_integrity":"sha512-wa2D67OuTT2WOwlzhQM4dK3RuHe1LTP7dcWVJG7DixjNfgwQQYperj/rlzwj5gzuTgoSQ77BKShdL+mm9W55cQ==","_npmVersion":"11.16.0","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"tmp":"tmp/guac-adapter_6.0.23_1786528886844_0.9595932969329337","host":"s3://npm-registry-packages-npm-production"}},"6.0.24":{"_id":"@horuzhenko/guac-adapter@6.0.24","dist":{"shasum":"d5a47c2734a5ec871041f1928467cdc65c3db5b5","tarball":"https://registry.npmjs.org/@horuzhenko/guac-adapter/-/guac-adapter-6.0.24.tgz","fileCount":43,"integrity":"sha512-nW8hV0cnl0Ba8TMfF5HRUryrFQsHGWEBvqsdkTFb+JCICvwt4BKXxdKUkWEs4vQF8gYQoXgNroTbJz4NEq5mwQ==","signatures":[{"sig":"MEUCIH87S+yfj5hrolwxd3QnQ3Vpr6DODNmrDWG7TjpN284FAiEA76Rt3jd7x5LUnpCKF9dsktv46KRzsvO8BwbU6z4pj50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDqzr5dciNkv1eJDUba2q+Qlwb9YBICJN7cAV+DrasGggIhAJM+htK1LAYRUb/qCKS0lNcMC5EjGTm8d5a5GiGbukIa"}],"unpackedSize":457712},"main":"./dist/index.js","name":"@horuzhenko/guac-adapter","type":"module","_from":"file:horuzhenko-guac-adapter-6.0.24.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./protocol":{"types":"./dist/protocol.d.ts","import":"./dist/protocol.js"},"./input-utils":{"types":"./dist/input-utils.d.ts","import":"./dist/input-utils.js"}},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist"},"version":"6.0.24","_npmUser":{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"},"_resolved":"/private/var/folders/77/z1vk5rc17vs6zwchmv55s_300000gp/T/027d1739ce76a3ab41e8558f37a32477/horuzhenko-guac-adapter-6.0.24.tgz","_integrity":"sha512-nW8hV0cnl0Ba8TMfF5HRUryrFQsHGWEBvqsdkTFb+JCICvwt4BKXxdKUkWEs4vQF8gYQoXgNroTbJz4NEq5mwQ==","_npmVersion":"11.16.0","description":"Адаптер для взаимодействия с Apache Guacamole","directories":{},"maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","uuid":"^10.0.0","jsdom":"^25.0.1","@napi-rs/canvas":"^0.1.80","@horuzhenko/protocol":"6.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","@types/ws":"^8.5.12","typescript":"^5.0.0","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@types/jsdom":"^21.1.7","@changesets/cli":"^2.29.6"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guac-adapter_6.0.24_1789414430181_0.2476197110318621"}}},"time":{"created":"2025-08-20T20:35:42.080Z","modified":"2026-09-14T19:33:50.454Z","2.0.0":"2025-08-20T20:35:42.408Z","3.0.0":"2025-08-20T21:15:07.440Z","4.0.0":"2025-08-20T21:20:52.347Z","5.0.0":"2025-08-21T08:37:49.820Z","5.1.0":"2025-08-21T08:59:03.085Z","5.2.0":"2025-08-21T14:47:39.712Z","5.3.0":"2025-08-22T14:50:49.840Z","6.0.0":"2025-08-22T16:43:40.189Z","6.0.1":"2025-08-22T17:57:29.205Z","6.0.2":"2025-08-23T15:07:52.241Z","6.0.3":"2025-08-23T15:20:40.820Z","6.0.4":"2025-09-01T10:24:09.439Z","6.0.5":"2025-09-01T11:49:04.586Z","6.0.6":"2025-09-01T15:11:35.534Z","6.0.7":"2025-09-23T15:28:25.054Z","6.0.8":"2025-09-23T15:29:42.797Z","6.0.9":"2025-09-23T15:58:25.536Z","6.0.10":"2025-09-23T16:47:48.446Z","6.0.11":"2026-01-12T12:20:56.965Z","6.0.12":"2026-01-27T11:27:37.236Z","6.0.13":"2026-01-27T15:50:36.387Z","6.0.14":"2026-01-28T15:20:56.307Z","6.0.15":"2026-03-10T14:14:10.390Z","6.0.16":"2026-03-10T17:33:08.811Z","6.0.17":"2026-03-27T08:29:20.925Z","6.0.18":"2026-03-30T15:05:21.354Z","6.0.19":"2026-03-31T13:38:36.330Z","6.0.20":"2026-04-28T13:26:59.475Z","6.0.21":"2026-08-10T09:47:10.557Z","6.0.22":"2026-08-11T17:02:51.092Z","6.0.23":"2026-08-12T10:01:26.988Z","6.0.24":"2026-09-14T19:33:50.272Z"},"description":"Адаптер для взаимодействия с Apache Guacamole","maintainers":[{"name":"horuzhenko","email":"horuzhenko.alex@gmail.com"}],"readme":" b# @horuzhenko/guac-adapter\n\nАдаптер для взаимодействия с Apache Guacamole в Node.js среде.\n\n## Возможности\n\n- ✅ Подключение к Guacamole серверу через REST API\n- ✅ Установка WebSocket соединения с guacd\n- ✅ Рендеринг удаленного рабочего стола в виртуальный canvas\n- ✅ Создание скриншотов в форматах PNG и WebP\n- ✅ Управление сессиями подключения\n- ✅ Обработка Guacamole протокола\n- ✅ **Интерактивный ввод:**\n  - Движение мыши\n  - Клики левой, правой и средней кнопкой\n  - Прокрутка колесом мыши\n  - Комбинации клавиш (Ctrl+C, Alt+Tab и т.д.)\n  - Ввод текста с настраиваемыми задержками\n\n## Установка\n\n```bash\npnpm add @horuzhenko/guac-adapter\n```\n\n## Использование\n\n### Разрешение рабочего стола\n\n`connect({ display: { width: 1920, height: 1080, dpi: 96 }, ... })` передаёт\nначальный размер через параметры `GUAC_WIDTH`, `GUAC_HEIGHT` и `GUAC_DPI`\nзапроса `websocket-tunnel`. Эти параметры задаются до открытия WebSocket,\nв том числе при переподключении (с текущим размером сессии).\n\nБез параметров туннеля Guacamole по умолчанию запрашивает 1024×768,\nесли размер не задан в настройках самого подключения. Последующая инструкция\n`size` не заменяет начальные параметры запроса. Сохранённые в Guacamole\n`width`/`height` могут переопределять желаемый клиентом размер.\n\nФактический размер обновляется по инструкции `size` сервера. Параметр\nскриншота `downscaleLongEdge` только уменьшает изображение и не устанавливает\nразрешение удалённого рабочего стола.\n\nРегрессионная проверка URL подключения:\n\n```bash\npnpm --filter @horuzhenko/protocol build\npnpm --filter @horuzhenko/guac-adapter exec vitest run tests/display-resolution.test.ts\n```\n\n### Базовое подключение\n\n```typescript\nimport { GuacAdapter } from '@horuzhenko/guac-adapter';\nimport { ConnectParams } from '@horuzhenko/protocol';\n\nconst adapter = new GuacAdapter();\n\nconst connectParams: ConnectParams = {\n  auth: {\n    baseUrl: 'http://192.168.2.109:8080/guacamole',\n    token: 'your-auth-token'\n  },\n  display: {\n    width: 1024,\n    height: 768,\n    dpi: 96\n  }\n};\n\n// Подключение\nconst sessionInfo = await adapter.connect(connectParams);\nconsole.log('Сессия создана:', sessionInfo.id);\n\n// Ожидание готовности соединения\nawait new Promise(resolve => setTimeout(resolve, 5000));\n\n// Создание скриншота\nconst screenshot = await adapter.screenshot(sessionInfo.id, {\n  format: 'png',\n  quality: 80\n});\n\n// Сохранение скриншота\nconst fs = require('fs');\nconst imageBuffer = Buffer.from(screenshot.imageBase64, 'base64');\nfs.writeFileSync('screenshot.png', imageBuffer);\n\n// Интерактивный ввод\nconsole.log('Демонстрация интерактивного ввода...');\n\n// Движение мыши\nawait adapter.move(sessionInfo.id, { x: 100, y: 100 });\n\n// Клик левой кнопкой\nawait adapter.click(sessionInfo.id, { x: 100, y: 100, button: 'left' });\n\n// Двойной клик\nawait adapter.click(sessionInfo.id, { x: 100, y: 100, button: 'left', count: 2 });\n\n// Комбинация клавиш (Ctrl+Alt+T для открытия терминала)\nawait adapter.keyCombo(sessionInfo.id, {\n  keys: ['Ctrl', 'Alt', 't'],\n  pressDelayMs: 100\n});\n\n// Ввод текста\nawait adapter.typeText(sessionInfo.id, {\n  text: 'echo \"Hello World!\"',\n  perCharDelayMs: 50\n});\n\n// Нажатие Enter\nawait adapter.keyCombo(sessionInfo.id, { keys: ['Return'] });\n\n// Прокрутка\nawait adapter.scroll(sessionInfo.id, { x: 400, y: 300, deltaY: -240 });\n\n// Отключение\nawait adapter.disconnect(sessionInfo.id);\n```\n\n### Создание скриншотов\n\n```typescript\n// PNG скриншот\nconst pngScreenshot = await adapter.screenshot(sessionId, {\n  format: 'png'\n});\n\n// WebP скриншот с настройкой качества\nconst webpScreenshot = await adapter.screenshot(sessionId, {\n  format: 'webp',\n  quality: 70\n});\n```\n\n## API\n\n### GuacAdapter\n\n#### `connect(params: ConnectParams): Promise<SessionInfo>`\n\nСоздает новое подключение к удаленному рабочему столу.\n\n**Параметры:**\n- `params.auth.baseUrl` - URL Guacamole сервера\n- `params.auth.token` - Токен аутентификации\n- `params.display` - Настройки дисплея (опционально)\n\n**Возвращает:** Информацию о созданной сессии\n\n#### `screenshot(sessionId: string, options?): Promise<Screenshot>`\n\nСоздает скриншот удаленного рабочего стола.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `options.format` - Формат изображения ('png' | 'webp')\n- `options.quality` - Качество для WebP (1-100)\n\n**Возвращает:** Объект скриншота с base64 данными\n\n#### `move(sessionId: string, move: MouseMove): Promise<void>`\n\nПеремещает курсор мыши в указанные координаты.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `move.x` - Координата X\n- `move.y` - Координата Y\n\n#### `click(sessionId: string, click: MouseClick): Promise<void>`\n\nВыполняет клик мыши в указанных координатах.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `click.x` - Координата X\n- `click.y` - Координата Y\n- `click.button` - Кнопка мыши ('left' | 'right' | 'middle')\n- `click.count` - Количество кликов (опционально, по умолчанию 1)\n\n#### `scroll(sessionId: string, scroll: Scroll): Promise<void>`\n\nВыполняет прокрутку в указанных координатах.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `scroll.x` - Координата X\n- `scroll.y` - Координата Y\n- `scroll.deltaY` - Величина прокрутки (положительная - вниз, отрицательная - вверх)\n\n#### `keyCombo(sessionId: string, combo: KeyCombo): Promise<void>`\n\nВыполняет комбинацию клавиш.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `combo.keys` - Массив клавиш (['Ctrl', 'c'], ['Alt', 'Tab'])\n- `combo.pressDelayMs` - Задержка между нажатиями (опционально)\n\n#### `typeText(sessionId: string, input: TypeText): Promise<void>`\n\nВводит текст символ за символом.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `input.text` - Текст для ввода\n- `input.perCharDelayMs` - Задержка между символами (опционально)\n\n#### `clipboardSet(sessionId: string, data: ClipboardSet): Promise<void>`\n\nЗаписывает текстовые данные в буфер обмена удаленной машины.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `data.text` - Текст для записи в буфер обмена\n- `data.mime` - MIME-тип (по умолчанию 'text/plain')\n\n**Важно:** Поддерживается передача только текстовых данных. Перенос файлов через буфер обмена не реализован. Стабильность синхронизации буфера обмена сильно зависит от используемого протокола (RDP работает надежнее, VNC имеет ограничения) и настроек сервера Guacamole. Возможны проблемы с кодировками при использовании VNC, так как стандарт не определяет передачу UTF-8.\n\n#### `clipboardGet(sessionId: string, query?: ClipboardGet): Promise<ClipboardGet>`\n\nЧитает текстовые данные из буфера обмена удаленной машины.\n\n**Параметры:**\n- `sessionId` - Идентификатор сессии\n- `query.selection` - Тип буфера ('CLIPBOARD' или 'PRIMARY', по умолчанию 'CLIPBOARD')\n\n**Возвращает:** Объект с полями `text`, `mime`, `selection`\n\n#### `disconnect(sessionId: string): Promise<void>`\n\nОтключает сессию и освобождает ресурсы.\n\n## Работа с клавиатурой и модификаторами\n\n### Клавиши-модификаторы\n\nСтроковые псевдонимы `Meta`, `Cmd`, `Win`, `Windows`, `Command` преобразуются в один и тот же keysym `Super_L`. Guacamole-сервер и удаленная ОС сами решают, как его интерпретировать:\n- На macOS: интерпретируется как ⌘ (Command)\n- На Windows: интерпретируется как Win (клавиша Windows)\n- На Linux: интерпретируется как Super\n\n### Важное предупреждение\n\n⚠️ **Операционная система или браузер, на которых запущен клиентский код, могут перехватывать системные комбинации клавиш** (например, `Alt+Tab`, `Cmd+Q`, `Ctrl+Alt+Delete`). Такие комбинации могут не дойти до удаленной машины. Это является ограничением окружения, а не адаптера.\n\nПримеры проблемных комбинаций:\n- `Alt+Tab` - переключение окон в локальной ОС\n- `Cmd+Q` / `Alt+F4` - закрытие приложений\n- `Ctrl+Alt+Delete` - системные функции\n- `Win+L` - блокировка экрана Windows\n\n## Архитектура\n\nАдаптер работает по следующей схеме:\n\n1. **Аутентификация** - подключение к Guacamole REST API\n2. **WebSocket соединение** - установка связи с guacd\n3. **Протокол Guacamole** - обмен инструкциями с сервером\n4. **Canvas рендеринг** - отрисовка графических команд в памяти\n5. **Скриншоты** - извлечение изображений из canvas\n\n## Требования\n\n- Node.js >= 18.0.0\n- Запущенный Apache Guacamole сервер\n- Доступ к guacd (обычно порт 4822)\n\n## Тестирование\n\n### Базовые тесты\n\n```bash\npnpm test\n```\n\n### Интеграционные тесты\n\nДля запуска интеграционных тестов нужен запущенный Guacamole сервер:\n\n```bash\nINTEGRATION_TESTS=true pnpm test\n```\n\nИнтеграционные тесты:\n- Подключаются к реальному Guacamole серверу\n- Создают скриншоты и сохраняют их в файлы\n- Проверяют полный цикл работы адаптера\n\n## Отладка\n\nАдаптер выводит отладочную информацию в консоль с префиксом `[DEBUG]`. Для продакшена эти логи можно отключить.\n\n## Ограничения\n\n- Поддерживается только VNC протокол (в текущей версии)\n- Требуется предварительная настройка Guacamole сервера\n- Canvas рендеринг работает только в Node.js среде\n\n## Разработка\n\n```bash\n# Сборка\npnpm build\n\n# Тесты\npnpm test\n\n# Разработка с автоперезагрузкой\npnpm dev\n```\n","readmeFilename":"README.md"}