{"_id":"@openclaw-vk/vk","_rev":"35-a6e77b67e833b6da17af4fdd6a17a750","name":"@openclaw-vk/vk","dist-tags":{"beta":"2026.4.1-beta.2","latest":"2026.9.7"},"versions":{"2026.3.19":{"name":"@openclaw-vk/vk","version":"2026.3.19","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.19","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"80b8779316b16122df26a43dc55553b94670563b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.19.tgz","fileCount":19,"integrity":"sha512-7FmPMS4jjjlBAhBvH9XF1yYzpP5E+NoCCiQybjN35QL5aoyP982ToPQ3dDDqJM7asgX5G/LpOcf/Lpw6xfBsEg==","signatures":[{"sig":"MEQCIA2bFeY4u59Kwu9PJW3RYqCyeewZrXqJupBCyeU1qzN9AiAD9F8XjChd2jCW2HAKw+IvPBd6XQSMd8GbR1yZatKHPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68268},"type":"module","gitHead":"ce1a55e5a3f9d8ad9a043191a6ddfa7515041af3","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.19_1773907717691_0.7903280275700428","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.1":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.1","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.1","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"78ee72acb97fa329c7826f3064a49285b9fe0c1b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.1.tgz","fileCount":20,"integrity":"sha512-4bw9SSnW3CLUevqY5PHmwKvgoPNNWhP8EZEfjEmAspxu4ZhYx6XsWYoyddXD5vt1Igy/idS3kTa32QkZxWHuYQ==","signatures":[{"sig":"MEQCIGimeLoKINQ5Dvu8RITa3lq1RMCJTJCRhynYJlOSGdNQAiAnsOVmyajIF6rkxQjH+z8c+dilkNFxZEKAZJ8HO+lEwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.21-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80753},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.1_1774042067793_0.6549815333905478","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.2":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.2","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.2","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"9fb69d6014ac3220a1ef0ddc02b1072df889369d","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.2.tgz","fileCount":21,"integrity":"sha512-H4+23Y/N5ttvbmX18SQp/lxdTl1slqmt20a/fmaVGELHsT/TGfn7QLfsZeeHgPru6ZrW8HJkHoDoOQ1PpEZjog==","signatures":[{"sig":"MEYCIQDk05/+Jx+z4ooortmEop0B0XC0beZrZS3rTtNggjUigwIhAKSEMTu032+mHjR+N03nvZgPUe2iUdtdyKnlM/BvlrNY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83256},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.2_1774043328886_0.0021158614389644725","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.3":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.3","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.3","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"7213b3677314b84f59051a9100f431eb89e061b9","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.3.tgz","fileCount":21,"integrity":"sha512-LErw4s6VkJIbNdmNUUQBL+rgAA1S5HOR2QiDgEWGF5U1xVIRSQ0xIgRnDXXE/WMUkkyj5QAtfbQaYJ4NFSrjuw==","signatures":[{"sig":"MEQCIBQcyQpvKiL7Q+vZVD021vSOjZBO7Tm8ckdCYoNceoNSAiBPP8P5kR+dwN3i2FDIrYVtvo9FXvuCBIjNN8gHkHjSYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84935},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.3_1774044049710_0.1206922317219794","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.4":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.4","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.4","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"52a075909039f36156cab280d8e6928615bfca8e","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.4.tgz","fileCount":21,"integrity":"sha512-jH5aWPwJ8qL1Kh6ylIyuwdYneQoQzWaYgBHVLSFHw9TAuMOQTe0E6AGgohcjK2ywsWPL1YudLmya7wBtgkyXgQ==","signatures":[{"sig":"MEYCIQCf5oJIJmvCLoiY0hDB79kYhuyWLuI/bGz1+cPchnZrEgIhALFvy+EyWBs5BQ4O/fGKbhB+7Ul4E2p4AM3MNkp+y9T+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86544},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.4_1774045026350_0.46422670023374857","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.5":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.5","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.5","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"15f63ac7676a1be2ea02a52ffcdbba546d792ed2","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.5.tgz","fileCount":21,"integrity":"sha512-WCnsyQoY74rMqunMDDomGjgbP124t+xP3qdScwVgRFbi53hNc2OZYsDPVrWTwPTNDtLoF3/9OjOKk3Dcic5jGA==","signatures":[{"sig":"MEUCICSVaL8ROj9p+wTVQu7dehYKNZF6Sb9GWzMapYUAyxcPAiEA1a5AmOPw+agBF5MbJs4EvDcmBSdei/zGRt3nIRYP2Gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87948},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.5_1774046712229_0.2686690611066249","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.6":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.6","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.6","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"f43cedaed4b85bf7bfee083afba7f35aa8dea351","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.6.tgz","fileCount":22,"integrity":"sha512-e4bjy7orhtQDVqdGu5QgLn7O/tJbvP6Lb6MkiT/BQueC1RUrwgNxzJyB+n4WXqPm6CCHQRdoqxBtep6Judp3RQ==","signatures":[{"sig":"MEUCIAfvMZGrD7r4HTbLZXRjf63vW11zKlH08Ishkpc9X2hHAiEAlr/zS26dgclqj16oK5ELpKGkxMoqMLGp+38pw9GG1eU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114170},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.6_1774048906914_0.8181160353414612","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.7":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.7","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.7","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"4110f098ce238e76beb484555724e02b8a1b804b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.7.tgz","fileCount":22,"integrity":"sha512-fNN9XaRG5MQPKnPUxQRIFn59viCflZNRiFB7MVUsAHnq4poMBCcE9We0t5qvBHAZLhsm+UzEy9VHPPMZgXzqLg==","signatures":[{"sig":"MEYCIQD0Ks8XJgV+rWLqmC1jFA/a0YkGQgL41Zl+XVrxSFk6SQIhAI60fIfR91mSTIqM0nFBZQ9UA9+SSusl/IROc1uZAWWJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116420},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.7_1774076784596_0.7864437811789211","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.8":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.8","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.8","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"0d73a8a8b0066da1d95fd37283a0b3d2fe191b74","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.8.tgz","fileCount":22,"integrity":"sha512-zYJcPCvXdOyy/8ycrvqpYlu9SUJOFVvVFQTyyqvOg1NQ6Eii77F4izt4KU3Iz8tJxHeElo1nhcHQeadiN9DUJA==","signatures":[{"sig":"MEUCIGQLF2BJvcwKZD7qZ1pkfwfPJNd1OSliblppi/nPKJICAiEAjtzfzNy0PEcg0vfRWYsjBpv+2qHkKPHweLk1z/07/9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117184},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.8_1774077633876_0.5649720985441522","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.9":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.9","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.9","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"dee56f0da4e4ab710eb1b2218ab88a1aa3b507c2","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.9.tgz","fileCount":22,"integrity":"sha512-bBojJrSKI+n+e3geB+z52WY/pXtTaWxB9nLzse9LnOn197wafllhwy82fyy49QlJIC6soH8WiFOMJGKV0fd+rg==","signatures":[{"sig":"MEUCIH7ZL0ZLAzdnuTxki0TfNGSa7VcLbRZjrGiMecS+t5kZAiEA6ym8iWidLHqMuJIkdyIv10bwXXg80seQh6lgWR2mDWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121792},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.9_1774082123130_0.9445019693696033","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21-beta.10":{"name":"@openclaw-vk/vk","version":"2026.3.21-beta.10","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21-beta.10","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"6c058f76ed466f1a1bb7b5055407e765388f7d0d","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21-beta.10.tgz","fileCount":22,"integrity":"sha512-FHLFQxpPAl4IMGDvu1/g7CJ2o4qRqIo6mRrLR1cjT5uX6DwjPLz3tN7E7XdTjcF0FRk9BAC96oK6pat8wkzxdw==","signatures":[{"sig":"MEUCIGPxgCPp2FQI3igNaYKmjEb9MKmC1M1IkxFeaSHt0H8aAiEAuCeuhwGk6PmUErGuKeRMAtcpE3GBK/oidJZkyFqNDq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126905},"type":"module","gitHead":"d9efed7c73b50998cc110c06e4b38d33add5358a","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21-beta.10_1774083839816_0.3578431049462356","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21":{"name":"@openclaw-vk/vk","version":"2026.3.21","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.21","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"66d7aefe1b84a4eea5e2260207dbb872267ad44e","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.21.tgz","fileCount":22,"integrity":"sha512-Di+0Z7jNFy9a6tV7RgFkjKDctCRintYYnUuAHNkIYPCWT1OMRwzs7OlESk9IYgeVMIyTo1/HE66HC2Gd8M7k9Q==","signatures":[{"sig":"MEYCIQCz4poidxbBBLbeJEKL0/NDKxHty2XG1ALrmj7VsRsgFAIhAPt6Mo6YHkAtWRZAnnICfop8yv17iN7QPRsQKmxcIAm4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126897},"type":"module","gitHead":"7915007650277d0b884c64db8e36181f945e1c1b","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.21_1774087290938_0.02753023414971678","host":"s3://npm-registry-packages-npm-production"}},"2026.3.22":{"name":"@openclaw-vk/vk","version":"2026.3.22","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.22","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"b47d4bc0f9a32a7a002bd853c435c2ee78c04be0","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.22.tgz","fileCount":22,"integrity":"sha512-iJiUu8jXfdi3XlnpIkFikJPnbWXxf2rffdjpYjSY1VcprEPnhIEVf42HVjPBMGoysEmBkEKoTiuPZe2lE0SfYQ==","signatures":[{"sig":"MEQCIEo8dAxdHkBi2MO8uecOey6CGMG0XMFDlmH2pKZmzTNHAiBPCftD0VBcG5TzB0Og6oWuHZpGCC+w5gL6t1XyLhsx/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131250},"type":"module","gitHead":"d1b40dabe27095feb03aa5d149c0a841ca394d2e","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.22_1774207809478_0.1648674333542275","host":"s3://npm-registry-packages-npm-production"}},"2026.3.26-beta.2":{"name":"@openclaw-vk/vk","version":"2026.3.26-beta.2","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.26-beta.2","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"8c0b34b496db6bc9f33c1b0e8d38ee7830a9aa72","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.26-beta.2.tgz","fileCount":22,"integrity":"sha512-eS/aROpJI9DHwvO0jyPJBcT0a37BbGZxQ2ThhAAVO/5IqABKVmdhaA6HBNZbVVR6cObG4mXrPn0QQu8upw4GjA==","signatures":[{"sig":"MEUCIQDf9ZKhUiU6tisgOuEFP53nhmtakiIdEaheBxzuAat+MQIgGeQgYurB268EZhYucXktFa/7JPo3MHKClHvKkFIp9fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132137},"type":"module","gitHead":"d1b40dabe27095feb03aa5d149c0a841ca394d2e","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.26-beta.2_1774527809980_0.9302178669405452","host":"s3://npm-registry-packages-npm-production"}},"2026.3.26":{"name":"@openclaw-vk/vk","version":"2026.3.26","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.26","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"f21ccfdf13365b61a94d9f736acfaa092c2338cf","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.26.tgz","fileCount":22,"integrity":"sha512-H/CxCvG0omcPnbY20J+OUbCkLAMTEG5iJ9PBP4PeM4wJqgDpntWMOy0JW6BKSZ0blxXZrcVncFi+XhhNF7d8UA==","signatures":[{"sig":"MEUCIBrNhASiCbBa85ploq4CgQOPhm/J+zB3NxMrWhKsmREtAiEAoicY2Qx+8mFXdd1P+uz8mEjBruxgsSx/IkYnLY12grE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132177},"type":"module","gitHead":"deaace3087f128e895f05e7b703ec31e3feb2c7f","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.26_1774529287520_0.33625614955875127","host":"s3://npm-registry-packages-npm-production"}},"2026.3.26-1":{"name":"@openclaw-vk/vk","version":"2026.3.26-1","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.26-1","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"9fde64de3a5fd2094e8b7ba723a229e3e8b9d493","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.26-1.tgz","fileCount":22,"integrity":"sha512-0THHRNjLz/kE8UZL0pGt9pUZapxlKX8Mk9eUsTnVePyA1kx0+40E1Ecqu4nNZv1ZNqJAm4Z6lPaK6+iox4tupA==","signatures":[{"sig":"MEUCIQC157+yzUk0cLLY1IPAY5o9SeUvL4iapOvW4L4psQuOmQIgbMYbIYx0fVkMnS2naMia/fl8qP/Po2xoO4w0JJeEIms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.26-1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132633},"type":"module","gitHead":"286fbbb87e0bf62ea9c5de13c56553a68b89c0d9","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.26-1_1774553183271_0.3303347525827558","host":"s3://npm-registry-packages-npm-production"}},"2026.3.27":{"name":"@openclaw-vk/vk","version":"2026.3.27","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.3.27","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"83c1111302d6bedfe5c49ee7a64f3c00cfe82976","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.3.27.tgz","fileCount":22,"integrity":"sha512-YW6OJH5kNspbMrzIqSWrgAaR+GsfYVqKE8WeTixqOj9y+lH9GF6vNx0LMsFd1toBXzIN3itcGsOUf+nQWcfOyw==","signatures":[{"sig":"MEUCIE+/2RHaUgOvPfHs2HSZh0C5aoDXDzlydOrLioiQbHtzAiEA6Fslzpo+tulYiHUjdrUYFdwVCZIfE7lcGTGhg+CogYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.3.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132631},"type":"module","gitHead":"fc1bf49c2b1512d50cbe99906041a6c5bd6c9bea","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.3.27_1774559545908_0.9847742904349899","host":"s3://npm-registry-packages-npm-production"}},"2026.4.1-beta.1":{"name":"@openclaw-vk/vk","version":"2026.4.1-beta.1","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.1-beta.1","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"fa1995686a1125977fb897d9c585988ffa90a6c5","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.1-beta.1.tgz","fileCount":21,"integrity":"sha512-3Tq1D44SnZlAn+FOlckGi0HYFWsryf5PbBv8viJl8D5w9jwkH90ikzKiBR6iMEmbeOV1etxg5Y1GCXfphNukxA==","signatures":[{"sig":"MEYCIQCEn4v7tgf76TakFpQw8pUoKrBDkR7gm5Q63Wjyv3okswIhANhRrsubpZC2wWjGKSSlC94SNNro2Or5lo7GVVe6yMWi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.1-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129731},"type":"module","gitHead":"03d4b459607e826e7f950fa0141a6296e5a39fc8","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.1-beta.1_1774992623713_0.5763930864939355","host":"s3://npm-registry-packages-npm-production"}},"2026.4.1-beta.2":{"name":"@openclaw-vk/vk","version":"2026.4.1-beta.2","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.1-beta.2","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"a07c6c8d8f56a2cbe6609a5922e9f5d958831165","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.1-beta.2.tgz","fileCount":21,"integrity":"sha512-cd+0AMC0IlifignoM/YgBjh5OhARpSiq7BOGxPzjbl7PsAGdS9Tn+JnxyWB1wW0B4mtZyspmiDY1a1/zhhmuOw==","signatures":[{"sig":"MEUCIQCTEPQIDGQo0GMgXbNqHwDUx+R170YsYzudm86BAVsY0wIgLFJ+zgh7dKPTlG0wNz4p6ap+R+cKLtKMXS7q7N9t0Jw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.1-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130140},"type":"module","gitHead":"de13f5bf131fa822e6c8e6dbd7628615ceb08a0b","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.1-beta.2_1775029578151_0.8439191693205264","host":"s3://npm-registry-packages-npm-production"}},"2026.4.1":{"name":"@openclaw-vk/vk","version":"2026.4.1","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.1","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"daa92bde8cb9019eec2f38d4eb3160b5bdb1f185","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.1.tgz","fileCount":22,"integrity":"sha512-LL58BbVZNMj6eau99TiCRLTvIm6bLTUSzz51dW9bu6tGD3Gcm2YwyRsCTUheEoGYQeEBCo6xVNw+BxYmx/wISw==","signatures":[{"sig":"MEYCIQCN9+CrUEhro9OjkZGWHb7o6JAetPvtuNWDTsZN9xRnfAIhANEevQEtJFS2q6uV5tqpbZFw/6fTfwPsODYy+djfsqh9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140053},"type":"module","gitHead":"faf4b9fadd3279e87f416af0f0295fb13b122176","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-it":"^14.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.1_1775037550641_0.29925298792430044","host":"s3://npm-registry-packages-npm-production"}},"2026.4.2":{"name":"@openclaw-vk/vk","version":"2026.4.2","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.2","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"9f2c20b964554880addfeeed5e50aa6e0d37bee8","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.2.tgz","fileCount":22,"integrity":"sha512-zRLxVmBmrbBB4LCi2Aqdi5s5aZBBjcechXInlFAK7Aap7ER1knc+10AK7SV+qXZBHCIpZTReEHkUMRF4ybYawg==","signatures":[{"sig":"MEUCIQDetvq/8Sy6T9Rk8RlYxBQjEEMLs02BOBnqBAhUWo3jCAIgVwfNUJQjHuU/TONz/1wvkOgWuGrfuhkJSQJ7hqWR2MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147695},"type":"module","gitHead":"c37a7ca845262c8571e677cd269e1a782db7b090","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.4","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-it":"^14.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.2_1775135459675_0.01377125764238496","host":"s3://npm-registry-packages-npm-production"}},"2026.4.4":{"name":"@openclaw-vk/vk","version":"2026.4.4","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.4","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"a3ed65154f19b6e5638a83007db2eeacab84da0b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.4.tgz","fileCount":24,"integrity":"sha512-3EFoZVV+MNcoyDmJEOx2nUv+K5pISizxKjvHC2qZTcdjZKt+jZ5ibvoZc+2aDCzH6CwVphEEzsI5FHGprcdOxA==","signatures":[{"sig":"MEUCICa1xzcZsFd3TsQpkKIfwwzxQpWTPwkmOSzKqg4uOpBeAiEA1fs6eUew/xomOAzIX/fy0Kr2sF62KX5/U91gVWE5knc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154646},"type":"module","gitHead":"3e7d07b2db633c30e9017166c4f1f3981aa6f7fc","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.7","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.4_1775396206530_0.3455706665519269","host":"s3://npm-registry-packages-npm-production"}},"2026.4.17":{"name":"@openclaw-vk/vk","version":"2026.4.17","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.4.17","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"87c185d4da0571b643cecceb32728e17cc76cd44","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.4.17.tgz","fileCount":24,"integrity":"sha512-6iij0Jq6pa4y1P9Yhr0JIlEBTZtFc71KBcNdJr13qke5bTtMkDDtluo7jeSKu+7UqUZWGwNv8OlM7uE3L0yTFw==","signatures":[{"sig":"MEQCIBdhvYnkf4x8sta1+r0+2T3gKOXm0uNhTYr1MjgWePRqAiAXHaa/7Uj79cuRjGX7F5LSGBpdS1GK1Cn9ECbmmhDm1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.4.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":157151},"type":"module","gitHead":"1cf9dc7e7822bff52fe67bcb953a779114442975","scripts":{"test":"vitest run","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.7","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.4.17_1776455586328_0.9259191027414482","host":"s3://npm-registry-packages-npm-production"}},"2026.5.5":{"name":"@openclaw-vk/vk","version":"2026.5.5","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.5.5","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"a0140c479089eba79f276057323e39846c0d3053","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.5.5.tgz","fileCount":44,"integrity":"sha512-4rnReX98k4D9CWq0iOBGKpf7CXO/7IRmNpgkyLrl1dfhKJSt42ubuVh/CiyHO6tpoMY0Olvinr6LC2g+cwBb8Q==","signatures":[{"sig":"MEQCIHWW1Ct0OOcHdUR2L6cLqaItIf5F0AjGa38d4Ul/TEgvAiBO4WpE4rP7kgRQyaLcvpP0BSejna/91BgKELIA8X8HTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269159},"type":"module","gitHead":"cdb5d4a1ec1f0372b868b79c9269c6ffb4dfee57","scripts":{"test":"vitest run","build":"node scripts/build.mjs","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.7","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","esbuild":"^0.27.4","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.5.5_1778012685898_0.007537408809461299","host":"s3://npm-registry-packages-npm-production"}},"2026.5.11":{"name":"@openclaw-vk/vk","version":"2026.5.11","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.5.11","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"25223fc541307a258ad4f9dedb1aaaa266055b90","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.5.11.tgz","fileCount":432,"integrity":"sha512-zB+Skq7t/psK7MEo1ioK8Dy9ZovoiwBEnBreNmvSSYYD4KtndU/YGCehVeGJfJo/GNx62hoQ7fAF9OHR1/Zxaw==","signatures":[{"sig":"MEQCIDm5X6j8Flw1bMJQf8YXEEjYJQI5ZTmpoGD08XeZibTSAiBd+aYZyW5ra/3MrRigG0mRgVz9cIZIbmwgnjD1PfQebg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.5.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11689957},"type":"module","gitHead":"c8c90ff76d73f713c9c735d37884a5626920ccff","scripts":{"test":"vitest run","build":"node scripts/build.mjs","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"pfrankov","email":"pavel@frankov.ru"},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"10.9.7","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","esbuild":"^0.27.4","@vitest/coverage-v8":"^3.2.4"},"bundleDependencies":["vk-io"],"_npmOperationalInternal":{"tmp":"tmp/vk_2026.5.11_1778529525500_0.28732869475074674","host":"s3://npm-registry-packages-npm-production"}},"2026.6.19":{"name":"@openclaw-vk/vk","version":"2026.6.19","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.6.19","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"e6ebb9bde9189b8d709ef82ea9f5cd6715d6d572","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.6.19.tgz","fileCount":434,"integrity":"sha512-3bl+6Pmh2CDEHKL6vQNML8NkEBg+acVEov5byX7cLZxAO7zL6JaVB4r15LSYNYrGRL+i3kPYwrMUgN8vRWWc4Q==","signatures":[{"sig":"MEQCIFAbdDjhV6mQM+1y8l5Bv8UJjd7QMGXBHHOJCXqHkAhxAiBs1ax8ZciAZKZ2k4JjXAaPtKF6WBamSGApyuT+8bsgCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.6.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11706021},"type":"module","gitHead":"52041ecc4e402fb8517341848dca9ff5ba441443","scripts":{"test":"vitest run","build":"node scripts/build.mjs","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"11.17.0","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","esbuild":"^0.27.4","@vitest/coverage-v8":"^3.2.4"},"bundleDependencies":["vk-io"],"_npmOperationalInternal":{"tmp":"tmp/vk_2026.6.19_1781902274082_0.8949195550461291","host":"s3://npm-registry-packages-npm-production"}},"2026.8.31":{"name":"@openclaw-vk/vk","version":"2026.8.31","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.8.31","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"7fda25e546c16499a5dcbe9a570a5be137a49325","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.8.31.tgz","fileCount":434,"integrity":"sha512-zvBpx2xTYYbSwXMuQBFh3xb5lMgKN93obW6XO9g3bKC26JpLyPlzF/6SDh8UjDxvm44QfL+JInpVW605/MzYFQ==","signatures":[{"sig":"MEYCIQD67Fidg9NiOZWmLCO+kiAQZ75C8TjoD4N3Fi68NznQ4QIhAM44QVTwtTKCbHSxqVf2DrQ/puhy/U5Fge+tHNreMi9G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.8.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11706068},"type":"module","engines":{"node":">=22.22.3"},"gitHead":"bc762e941eda79f622cc57c298772d8e95924b3d","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm test && npm run build && npm run check:pack","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","esbuild":"^0.27.4","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.8.31_1788270827802_0.8090378669315295","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2":{"name":"@openclaw-vk/vk","version":"2026.9.2","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.9.2","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"3e8d5c124088c4a36cc03f16af32c76366c3f1ef","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.2.tgz","fileCount":434,"integrity":"sha512-ZrvF/CrOAmK+MGWSL8bpxRPLVtDJ3/3TbNikeX3mA3g6CuefN9GaxqNdA+lNNuEl9cAKGpTEJG3l5TpYyR5v8Q==","signatures":[{"sig":"MEQCIQDOPp9rockIZ1oToMhSXYIJwK5igRWa36r7ezAt3zE3nQIfGq5IlwPqHKKIBMMtLp7P6C9ldca5yGrxO1XhVyLb7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11722377},"type":"module","engines":{"node":">=22.22.3"},"gitHead":"0b9db0a2695dcb3f704b27adbd1beed2a3825e83","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.9.2_1788341532438_0.4351216625599612","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3":{"name":"@openclaw-vk/vk","version":"2026.9.3","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.9.3","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"2eabf260c92b279e1c4d935b7dd2d0839199908b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.3.tgz","fileCount":434,"integrity":"sha512-ZAi+yWTshVSsykP9HWotaN3xPjW2o3+2Y6BQ617n2ca6LIwG1I4rbfXNJ4iy2TF4df7JAd/cC4Qq96xniPnnDg==","signatures":[{"sig":"MEUCIQDXZhYQR3Al7uKi3cmI+3oVP6l4Q8iNOLe58Bul4dXqMwIgfaWGlEpE9cmxhqZVycZl7Iy5JFG5kgaZVqs0XOo0pY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11722613},"type":"module","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"gitHead":"e74b7b91d76f3b9df88f299ee73fc1c915f420f7","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.9.3_1789113548633_0.40064341042951246","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4":{"name":"@openclaw-vk/vk","version":"2026.9.4","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.9.4","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"52e35d7b41cbfb45d9ca13b9a3ba017b0a2128b1","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.4.tgz","fileCount":434,"integrity":"sha512-4TgDFWtyjL+VK3EkTqWi47NTTZqFwHDYR20Hh5l3d3Q3yUiEPbXqDWJhwzsQ/66HR4pgcAJczY6CQqFB4SkD8Q==","signatures":[{"sig":"MEYCIQDZEs+sEGySAgDGU1ivqamNSIa2ZsDtNvrze1qViLre4QIhAKcpvAtTZFY+uBls4sFodAQ411DvVgRw10Hl6kZJVwET","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11723694},"type":"module","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"gitHead":"858a1f4b1b6396633a2965328a852731e838c536","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.9.4_1789113799889_0.3121171281051871","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5":{"name":"@openclaw-vk/vk","version":"2026.9.5","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.9.5","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"a0b04c68fab824efb479b2884cc5e9b356d06b8c","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.5.tgz","fileCount":442,"integrity":"sha512-iNLeAmJHUpEOLrddXHKTpWc4tr9jQKVUAgfdumv3cB/nEDH8lP8MbdxgBiazBztL1vxJfbp2ZV4o2iP2zqLMsg==","signatures":[{"sig":"MEQCIBP9X3gazJ/ZdtHYtGAUEfciLiCrQNFThD1NakZn7KXEAiAH4I7LHzuQndsUgeJ8fwl0mgEGstlM3rj2YK8N/rd9Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC0rY/EIm2XLaDHTnOi5S6zYQH/+nQKuDbruA1C7/V4LQIgEVarRmeI8M2P4LgEp1sZ+j8lj0fdMnb1pv/qkF82hbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11772065},"type":"module","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"gitHead":"5cf3b218e3ad91ef4ec205d36e0b8a1ec992016a","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","test:sdk":"vitest run src/diagnostics.sdk.test.ts src/manifest.sdk.test.ts","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.9.5_1789902029947_0.8218354397302217","host":"s3://npm-registry-packages-npm-production"}},"2026.9.6":{"name":"@openclaw-vk/vk","version":"2026.9.6","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","_id":"@openclaw-vk/vk@2026.9.6","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"homepage":"https://github.com/pfrankov/openclaw-vk#readme","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"9c078f6f18ab69feeffaa83a92755a9eb0e5210b","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.6.tgz","fileCount":446,"integrity":"sha512-BkF7AUNeLKwHRGTeihr1V8zkM73+9woUgpSwfxFtfBPLpMaCYWg2uiHx7t7zzrxcwySvgxDXFgS6zCuLaol3oQ==","signatures":[{"sig":"MEQCIHQnakdnNOgJOrjzWkaYTq60oFKmYCT28Ckw6d7cYjuPAiAv5D453KbuDL9QozRnaE0OCqVxKF9rTN9dukMO5VGacQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBHMtykALQZFMU+HtvdZqhmKM/0KJxMsC7w+e5qb0fhYAiA/qi0M4LXbb+EYCJg92BxS4bO+JnX3TkdwWJhG8zjJWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11881225},"type":"module","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"gitHead":"f507bc734a962e1e3070f14dc5deb5045d2984c6","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","test:sdk":"vitest run src/diagnostics.sdk.test.ts src/manifest.sdk.test.ts","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.0.2","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vk_2026.9.6_1790102764478_0.6545722088023049","host":"s3://npm-registry-packages-npm-production"}},"2026.9.7":{"_id":"@openclaw-vk/vk@2026.9.7","bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"dist":{"shasum":"8af8c3621a51f9a7e9c2dbea02a6d0840bae190e","tarball":"https://registry.npmjs.org/@openclaw-vk/vk/-/vk-2026.9.7.tgz","fileCount":450,"integrity":"sha512-1CaTE+XO/W79K9OY3aYeMq9Nc9SkvYYG7Z6PDeB2oBK+0XAXHVY9YPyANuxx9pji1oVPnhr48Q+Ir39NxDZsbw==","signatures":[{"sig":"MEYCIQDOS0hz6+RNkqDdngL8lmcIavW1CKU7VPHBpQBEEQSIhgIhAON26F1p2+8goazGfFv71ZZ9XL3bTm7e/2XP3ptGtxJi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICBRH8yI1cL1d563ouDJ4x2eKm0IQGrACc+UZbUAg7WoAiEAlZfEDQdqsqnsXiEWFIlwYYdJTb29ZthDcVCGb6Ue5VY="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw-vk%2fvk@2026.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11936824},"name":"@openclaw-vk/vk","type":"module","author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"gitHead":"83ad903e33ddad32995cf7d20cb43cea9b9139fb","license":"Apache-2.0","scripts":{"test":"vitest run","build":"node scripts/build.mjs","check":"npm run check:sdk-imports && npm run test:coverage && npm run build && npm run check:pack","prepack":"npm run build","test:sdk":"vitest run src/diagnostics.sdk.test.ts src/manifest.sdk.test.ts src/inbound.draft.sdk.test.ts","check:pack":"npm pack --dry-run","test:watch":"vitest","check:runtime":"node scripts/smoke-runtime.mjs","test:coverage":"vitest run --coverage","check:sdk-imports":"node scripts/check-sdk-imports.mjs"},"version":"2026.9.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e44cbee-2d3f-4165-b641-e51262567b52"}},"homepage":"https://github.com/pfrankov/openclaw-vk#readme","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"openclaw":{"build":{"openclawVersion":"2026.8.1","pluginSdkVersion":"2026.8.1"},"compat":{"pluginApi":">=2026.8.1-0","minGatewayVersion":"2026.8.1"},"channel":{"id":"vk","blurb":"VK (VKontakte) community bot via Long Poll API.","label":"VK","order":80,"docsPath":"/channels/vk","docsLabel":"vk","selectionLabel":"VK (VKontakte Bot)","quickstartAllowFrom":true},"install":{"npmSpec":"@openclaw-vk/vk","localPath":"extensions/vk","defaultChoice":"npm"},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","runtimeExtensions":["./dist/index.js"],"runtimeSetupEntry":"./dist/setup-entry.js"},"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"_npmVersion":"12.1.0","description":"OpenClaw VK (VKontakte) channel plugin","directories":{},"maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.25.76","vk-io":"^4.10.1","markdown-to-vk":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.7","esbuild":"^0.28.2","@vitest/coverage-v8":"^3.2.7"},"peerDependencies":{"openclaw":">=2026.8.1-0"},"bundleDependencies":["vk-io"],"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vk_2026.9.7_1790446277592_0.9440797002024248"}}},"time":{"created":"2026-03-19T08:08:37.617Z","modified":"2026-09-26T18:11:18.053Z","2026.3.19":"2026-03-19T08:08:37.825Z","2026.3.21-beta.1":"2026-03-20T21:27:47.944Z","2026.3.21-beta.2":"2026-03-20T21:48:49.049Z","2026.3.21-beta.3":"2026-03-20T22:00:49.853Z","2026.3.21-beta.4":"2026-03-20T22:17:06.504Z","2026.3.21-beta.5":"2026-03-20T22:45:12.364Z","2026.3.21-beta.6":"2026-03-20T23:21:47.093Z","2026.3.21-beta.7":"2026-03-21T07:06:24.763Z","2026.3.21-beta.8":"2026-03-21T07:20:34.029Z","2026.3.21-beta.9":"2026-03-21T08:35:23.292Z","2026.3.21-beta.10":"2026-03-21T09:03:59.982Z","2026.3.21":"2026-03-21T10:01:31.094Z","2026.3.22":"2026-03-22T19:30:09.636Z","2026.3.26-beta.1":"2026-03-26T11:54:01.121Z","2026.3.26-beta.2":"2026-03-26T12:23:30.119Z","2026.3.26":"2026-03-26T12:48:07.663Z","2026.3.26-1":"2026-03-26T19:26:23.487Z","2026.3.27":"2026-03-26T21:12:26.068Z","2026.4.1-beta.1":"2026-03-31T21:30:23.865Z","2026.4.1-beta.2":"2026-04-01T07:46:18.322Z","2026.4.1":"2026-04-01T09:59:10.775Z","2026.4.2":"2026-04-02T13:10:59.821Z","2026.4.4":"2026-04-05T13:36:46.675Z","2026.4.17":"2026-04-17T19:53:06.482Z","2026.5.5":"2026-05-05T20:24:46.040Z","2026.5.11":"2026-05-11T19:58:45.746Z","2026.6.19":"2026-06-19T20:51:14.304Z","2026.8.31":"2026-09-01T13:53:47.996Z","2026.9.2":"2026-09-02T09:32:12.689Z","2026.9.3":"2026-09-11T07:59:08.812Z","2026.9.4":"2026-09-11T08:03:20.081Z","2026.9.5":"2026-09-20T11:00:30.140Z","2026.9.6":"2026-09-22T18:46:04.661Z","2026.9.7":"2026-09-26T18:11:17.725Z"},"bugs":{"url":"https://github.com/pfrankov/openclaw-vk/issues"},"author":{"url":"https://github.com/pfrankov","name":"Pavel Frankov"},"license":"Apache-2.0","homepage":"https://github.com/pfrankov/openclaw-vk#readme","keywords":["openclaw","openclaw-plugin","openclaw-channel","vk","vkontakte","vk-bot","bot"],"repository":{"url":"git+https://github.com/pfrankov/openclaw-vk.git","type":"git"},"description":"OpenClaw VK (VKontakte) channel plugin","maintainers":[{"name":"pfrankov","email":"pavel@frankov.ru"}],"readme":"# openclaw-vk\n<img width=\"500\" src=\"https://github.com/user-attachments/assets/1bb97849-8aa0-46dc-b3de-90e4bcf10d38\"/>\n\nПлагин [OpenClaw](https://github.com/openclaw/openclaw) для работы с ВКонтакте. Подключает AI-агента к сообществам VK через Bots Long Poll API — бот принимает и отвечает на сообщения в личных диалогах и групповых беседах.  \nМинимальная требуемая версия OpenClaw: **v2026.8.1**. Поддерживаются те же версии Node.js, что и OpenClaw 2026.8.1: **22.22.3–22.x, 24.15.0–24.x или 25.9.0+**; Node.js 23 и 25.0–25.8 не поддерживаются.\n\nОбычные ответы в личном диалоге отправляются без цитаты. В групповой беседе бот цитирует входящее сообщение, а ответы на callback-кнопки сохраняют привязку к сообщению с кнопкой.\n\n## Быстрый старт\n\n### 1. Подготовка сообщества ВКонтакте\n\n1. **Создайте сообщество** (группу или паблик), если его ещё нет.\n2. Откройте **Управление → Сообщения** и включите их.\n3. Откройте **Управление → Работа с API → Ключи доступа**, нажмите *Создать ключ* и выберите права:\n   - **Сообщения сообщества**\n   - **Управление сообществом** (необходимо для Bots Long Poll API)\n   - **Фотографии** / `photos` (обязательно для исходящих изображений, включая результаты image-edit)\n   - **Документы** / `docs` (обязательно для исходящих файлов, TTS audio и голосовых сообщений, потому что VK upload идёт через `docs.getMessagesUploadServer`)\n4. Откройте **Управление → Работа с API → Long Poll API**:\n   - Включите Long Poll API.\n   - На вкладке **Типы событий** отметьте **Входящие сообщения**.\n5. *(Для работы в беседах)* Откройте **Управление → Сообщения → Настройки для бота** и включите *Разрешать добавлять сообщество в чаты*.\n\n### 2. Установка плагина\n```\nУстанови OpenClaw-плагин для vk чётко по инструкции https://github.com/pfrankov/openclaw-vk\nВот мой токен: vk1.a...\n```\n\n```bash\n# OpenClaw 2026.8.2 requires explicit trust and capability consent\nopenclaw plugins install @openclaw-vk/vk --force --accept-capabilities\nopenclaw plugins info vk --json\n```\n\nВ OpenClaw 2026.8.2 успешная установка сразу включает плагин, поэтому отдельная\nкоманда `openclaw plugins enable vk` обычно не нужна. Выполните её только если\n`openclaw plugins info vk --json` явно показывает, что уже установленный плагин\nотключён:\n\n```bash\nopenclaw plugins enable vk\n```\n\nФлаги `--force --accept-capabilities` подтверждают установку внешнего npm-пакета\nи запрошенные им возможности. Используйте их только для пакета, источник которого\nвы проверили.\n\n### 2.1 Обновление плагина\n\n```bash\n# OpenClaw 2026.8.2 обновляет установленный плагин по его id\nopenclaw plugins update vk\n\n# Или обновить все плагины\nopenclaw plugins update --all\n\n# Установить конкретную версию\nopenclaw plugins install @openclaw-vk/vk@2026.9.4 --force --accept-capabilities\nopenclaw gateway restart\nopenclaw channels status --json --probe\n```\n\n> Только для локальной разработки: `openclaw plugins install ~/path/to/openclaw-vk`\n\nПримечание про `plugins.allow`:\n- Если `plugins.allow` отсутствует или пуст, OpenClaw обычно подхватывает внешний плагин `vk` автоматически после `openclaw plugins enable vk` и включённого `channels.vk.enabled`.\n- Если у вас уже используется явный allowlist плагинов (`plugins.allow` не пуст), добавьте туда `\"vk\"` вручную. Команда `openclaw plugins enable vk` сейчас не дописывает `plugins.allow` автоматически.\n\nПример для конфигураций с явным allowlist:\n\n```json\n{\n  \"plugins\": {\n    \"allow\": [\"vk\"]\n  },\n  \"channels\": {\n    \"vk\": {\n      \"enabled\": true,\n      \"token\": \"<ВАШ_ТОКЕН>\",\n      \"dmPolicy\": \"pairing\"\n    }\n  }\n}\n```\n\n### 3. Настройка\n\nДобавьте канал в `~/.openclaw/openclaw.json`:\n\n```json\n{\n  \"channels\": {\n    \"vk\": {\n      \"enabled\": true,\n      \"token\": \"<ВАШ_ТОКЕН>\",\n      \"dmPolicy\": \"pairing\"\n    }\n  }\n}\n```\n\n### 4. Запуск\n\n1. Перезапустите шлюз:\n   ```bash\n   openclaw gateway restart\n   ```\n2. Напишите боту любое сообщение со своего аккаунта ВКонтакте.\n3. Бот ответит **кодом подтверждения** — это механизм авторизации `pairing`, защищающий от нежелательных сообщений.\n4. Подтвердите доступ:\n   ```bash\n   openclaw pairing approve vk <код>\n   ```\n\nГотово — бот отвечает на сообщения.\n\n---\n\n## Конфигурация\n\n### Форматирование сообщений\n\nВходящие ответы обрабатываются как Markdown, но для VK конвертируется только то, что поддерживается `format_data`:\n- `**жирный**`, `*курсив*`, `***жирный курсив***`\n- `[текст](https://example.com)` (ссылка)\n\nВся остальная разметка остаётся без изменений.\n\n### Параметры\n\n| Параметр | Описание |\n| --- | --- |\n| `token` / `tokenFile` | Ключ доступа сообщества или путь к файлу с токеном. Также поддерживается переменная окружения `VK_TOKEN`. |\n| `dmPolicy` | Политика личных сообщений: `pairing` (авторизация по коду), `allowlist` (по списку), `open` (без ограничений), `disabled`. |\n| `allowFrom` | Список ID пользователей, которым разрешён доступ при политике `allowlist`. |\n| `defaultTo` | Цель по умолчанию для исходящих сообщений, если target не был указан явно. |\n| `groupPolicy` | Политика для групповых бесед: `allowlist`, `open`, `disabled`. |\n| `groupAllowFrom` | Список ID пользователей, которым разрешено писать боту в групповых беседах при `groupPolicy: \"allowlist\"`. Это не список `peerId` бесед. |\n| `contextVisibility` | Какой чужой контекст видит агент в группе: `all` (по умолчанию), `allowlist` (только авторы из `groupAllowFrom`) или `allowlist_quote` (те же пересылки, но цитаты видны). Можно переопределить для отдельного аккаунта. В личном диалоге фильтр не применяется. |\n| `audio` | Пределы исходящих голосовых сообщений для всего канала: `maxVoiceMs`, `maxSegments`, `maxInputBytes`, `remoteMaxBytes`, `splitDeadlineMs`, `splitTimeoutMs`. Значения должны быть положительными целыми числами; внутри `accounts` этот блок не допускается. |\n| `streaming` | Черновик шагов, как `streaming.mode: \"progress\"` у Telegram: при `mode: \"progress\"` ход с вызовами инструментов показывается в одном сообщении, которое правится на месте и в конце становится ответом. Строки шагов (`🛠️ …`) включает `progress.toolProgress: true`: в OpenClaw 2026.9.6 без него в черновике только заголовок. Заголовок задаётся `progress.label`. Остальные ключи `progress` — общие для каналов OpenClaw. Допустимы только режимы `off` и `progress`. Задаётся на весь канал; внутри `accounts` этот блок не допускается. По умолчанию выключен. |\n\nЧерновик шагов с заголовком и строками шагов:\n\n```json\n{\n  \"channels\": {\n    \"vk\": {\n      \"streaming\": {\n        \"mode\": \"progress\",\n        \"progress\": { \"label\": \"⏳ Работаю\", \"toolProgress\": true }\n      }\n    }\n  }\n}\n```\n\nВ групповой беседе черновик цитирует входящее сообщение, как обычный ответ. Ответ на нажатие кнопки приходит обычным сообщением и снимает клавиатуру, а черновик удаляется.\n\nДлинная озвучка отправляется несколькими голосовыми, если каждую часть удалось проверить. Если нарезка не удалась, исходный файл отправляется документом. Для этого на хосте нужны `ffmpeg` и `ffprobe`; в случае частичной доставки плагин не повторяет уже отправленную часть текстом. Посты со стены и пересланные сообщения видны агенту как контекст, но их текст не используется как команда или упоминание бота. Из чужих вложений загружаются только изображения.\n\n### Настройка отдельных бесед\n\nДля каждой беседы можно задать индивидуальные параметры:\n- `enabled`: полностью отключить обработку конкретной беседы\n- `allowFrom`: переопределить sender allowlist только для этой беседы\n- `requireMention`: требовать упоминание бота\n- `systemPrompt`: отдельный системный prompt для конкретного чата\n\n```json\n{\n  \"channels\": {\n    \"vk\": {\n      \"groups\": {\n        \"2000000123\": {\n          \"enabled\": true,\n          \"allowFrom\": [123456789],\n          \"requireMention\": true,\n          \"systemPrompt\": \"Ты — помощник в рабочем чате. Отвечай кратко.\"\n        },\n        \"*\": {\n          \"requireMention\": false\n        }\n      }\n    }\n  }\n}\n```\n\nЕсли в беседе нужно разрешить сообщения только нескольким участникам, используйте `groups.<peerId>.allowFrom`. Это переопределяет общий `groupAllowFrom` для конкретного чата.\n\n### Несколько сообществ\n\nДля подключения нескольких ботов к одному ядру используйте секцию `accounts`:\n\n```json\n{\n  \"channels\": {\n    \"vk\": {\n      \"accounts\": {\n        \"sales\": {\n          \"enabled\": true,\n          \"token\": \"<ТОКЕН_ПРОДАЖ>\",\n          \"dmPolicy\": \"allowlist\",\n          \"allowFrom\": [\"*\"]\n        },\n        \"support\": {\n          \"enabled\": true,\n          \"tokenFile\": \"/etc/openclaw/vk-support.token\",\n          \"dmPolicy\": \"pairing\"\n        }\n      }\n    }\n  }\n}\n```\n\n---\n\n## Решение проблем\n\nПроверьте статус подключения:\n\n```bash\nopenclaw channels status --json --probe\n```\n\n**`Group authorization failed: group revoke access for this token`** — ключ доступа устарел или отозван. Перевыпустите токен в настройках сообщества, обновите конфигурацию и перезапустите шлюз.\n\n**Статус `running: false` при `configured: true`** — неверный токен. Подробности в поле `lastError` вывода команды статуса.\n\n**`APIError: Code №15 - Access denied: no access to call this method. It cannot be called with current scopes.` при отправке изображений/аудио/документов** — у текущего community token нет прав `photos` и/или `docs`.\n\nКак исправить:\n1. Откройте сообщество во ВКонтакте.\n2. Перейдите в **Управление → Дополнительно → Работа с API → Ключи доступа**.\n3. Нажмите **Создать ключ**.\n4. В списке прав обязательно отметьте:\n   - **Сообщения сообщества** / `messages`\n   - **Управление сообществом** / `manage`\n   - **Фотографии** / `photos`\n   - **Документы** / `docs`\n5. Подтвердите создание ключа в мобильном приложении VK.\n6. Обновите `channels.vk.token` в `~/.openclaw/openclaw.json`.\n7. Перезапустите шлюз:\n   ```bash\n   openclaw gateway restart\n   ```\n\nПроверка:\n- `photos.getMessagesUploadServer` требует право `photos` и используется для исходящих изображений.\n- `docs.getMessagesUploadServer` требует право `docs` и используется для `doc` и `audio_message`, поэтому без него исходящие файлы и голосовые не отправятся.\n- Исходящие `audio/*` вложения плагин отправляет как `audio_message` (голосовое). Если нужен обычный файл, используйте `forceDocument`.\n- Текущие права токена можно проверить через `groups.getTokenPermissions`.\n- Если после обновления токена `groups.getTokenPermissions` показывает только `messages` и `manage`, создайте новый ключ заново и убедитесь, что `photos` и `docs` отмечены при создании.\n\nОтдельный симптом:\n- **`APIError: Code №100 - One of the parameters specified was missing or invalid: photo is undefined`** при отправке картинки по URL. Это означает, что исходный URL недоступен для загрузки как изображение (часто 404/403, редирект на HTML или временная ссылка без публичного доступа).\n  Плагин пытается автоматически:\n  1. повторить отправку через локальный upload (скачать URL на стороне OpenClaw и загрузить в VK как файл),\n  2. если скачать не удалось, отправить текст + исходный URL, чтобы сообщение не терялось в очереди.\n  Чтобы изображение ушло именно вложением, URL должен быть публичным, отдавать `image/*` и быть доступным с хоста OpenClaw (проверьте `curl -I <url>` прямо на сервере).\n\nОфициальная документация VK:\n- Настройки community token: <https://dev.vk.com/ru/api/access-token/community-token/in-community-settings>\n- Проверка прав токена: <https://dev.vk.com/ru/method/groups.getTokenPermissions>\n- Upload для изображений: <https://dev.vk.com/ru/method/photos.getMessagesUploadServer>\n- Upload для документов и голосовых: <https://dev.vk.com/ru/method/docs.getMessagesUploadServer>\n\n**`Plugin \"vk\" state migration is pending` в `openclaw doctor` / `Startup migrations need attention` в `openclaw status`** — установлена версия плагина без Doctor-контракта (`doctorContract` в манифесте). Канал при этом работает, но шлюз стартует в «degraded state». Обновите плагин до версии с контрактом, затем выполните `openclaw doctor --fix` и перезапустите шлюз.\n\n**Бот не отвечает, ошибок нет** — сообщения отклоняются политиками доступа. Проверьте `dmPolicy`, `allowFrom` и `requireMention`. Логи: `~/.openclaw/logs/commands.log` (фильтруйте по `\"source\":\"vk\"`).\n\n---\n\n## Лицензия\n\nCopyright 2026 Pavel Frankov\n\n[Apache License 2.0](LICENSE).\n","readmeFilename":"README.md"}