{"_id":"@dvxch/yandex-music","_rev":"21-bf264aa799c9c3bf7d27c4a9254b8b73","name":"@dvxch/yandex-music","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.2":{"name":"@dvxch/yandex-music","version":"0.1.2","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.2","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"1cb0891bc5d15f9f8482ce5768368a8d4bcf3c6b","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.2.tgz","fileCount":379,"integrity":"sha512-fN83AQzYENpOMvwKh67OsZ9Z3jgfIRecv/GeE4C2eiEpXQjaYTWZmdhYuSummTox3AAQ+59QRuyBNhQSfKvtqA==","signatures":[{"sig":"MEUCIQDQ3sKB3FtfSCq287CQWIpIE1IcyYcG9Wu2WtU/FyUeKAIgfAH91cE7MFzYPHT0zVJWPOSxmOKSRCxMcfeUKhLJ+8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a5a499bc44295bbaf16ad9e4a7ef6c5c210aeab1","scripts":{"docs":"typedoc","test":"node --import tsx --test test/**/*.test.ts","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"ragedrugg","email":"darkdakilla@gmail.com"},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.13.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","typedoc":"^0.28.19","@types/ws":"^8.18.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.2_1782146760275_0.7011012604021611","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dvxch/yandex-music","version":"0.1.3","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.3","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"8607da45eddc14970066c0a191140801cf39755a","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.3.tgz","fileCount":82,"integrity":"sha512-2v5HBObwUCSXDQ+ZwAi8Qs86aH5CJyR4me+bnjeyU8p9o67LPfP3VPKBFsWNcm7cWzOQx7cWxN06ySmtHPmuxw==","signatures":[{"sig":"MEQCIE/MpWCPcTqJKZwBCJlJW8P7KfSL0r6oo5De6+s200gsAiA2NB6z6VUFjmlgpfwB8cMkJ7YYZFBw45ywI4yQqwo7HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1211719},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"6e2b43c74dad6f5f462c3e9c071e3c72e322a098","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.3_1782152100258_0.6647445232706863","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dvxch/yandex-music","version":"0.1.4","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.4","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"ee5dc995fc5b06ea3767ecb2a00ee7ccd18f78cc","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.4.tgz","fileCount":82,"integrity":"sha512-kqJPoxQhdKreFQAPMTgCOEd4QHSHx87MAoTn5hmEIJX6kGv/h9ukKcg5IewrTBmD7VGkivkwF/53oBYFdxymcw==","signatures":[{"sig":"MEUCIQC0Y2hWKoKznSkGwDQqMT69WVZhj8yF5x6+Or8v35/iwgIgODYEhGcRUl7s7POa97qZm8hOFDAZMMlsQggvTkFvHHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1216472},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"c964ed3178c620b8a74ed959f6bf233de85a1bd6","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.4_1782158028787_0.3951118158984752","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dvxch/yandex-music","version":"0.1.5","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.5","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"c8c1a0d5b515e25d913f3a609627d17da5da661f","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.5.tgz","fileCount":82,"integrity":"sha512-A8olVRwlkA4OeTxyjhkk8Q6J4B4YsmbGJOyIZlTNoY9H2WVnAZXMUbEF5hJDpD79YSLeArU/xZYTiQ4zIJn+Zw==","signatures":[{"sig":"MEQCIDmpPJ7m1OyJEdelqkWuqLhB6aLAvbfeKOp1YNnImWEKAiAqGPb/nyjVbfeXbFYO39ataUSHmiN05Xf9Gf0cVtgznw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1247144},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"976faa75b339636f2111815acfeb015835615175","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.5_1782162235477_0.7633952889807019","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dvxch/yandex-music","version":"0.1.6","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.6","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"e4c55b9729cf182c8d37c553c59d796593a6983a","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.6.tgz","fileCount":82,"integrity":"sha512-Vi6PYu27StyEhn1GMtdtiewrcDjbADZWaWAZCNs6J9UTwr5M5QSNBVadl87dyMQqysIWghucv1bhxkH8EjglGw==","signatures":[{"sig":"MEYCIQDbbqeg0g+XbzI4Ri5wg6lzeOPvm8Jev2KlSKO8/4sCzAIhAMyBkivBDcv/Oqn33cr78kN20H7KQjWKI1TuOXSuMccx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1249029},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"65789195389a8f85d88f2e40b62dd0e54aa31792","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.6_1782163477008_0.6634218661137989","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@dvxch/yandex-music","version":"0.1.7","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.7","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"5811e1113d3e8c0473064957d8bf10944ec012dd","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.7.tgz","fileCount":82,"integrity":"sha512-BOLxCdIiHEHYoxDX5nw0UUFxdsv8IQBVHd4N+7eU0wXdVZbrPs0R7ob1w6xuc9xMQBV5jzqYh0rezek4ZP6Ktw==","signatures":[{"sig":"MEUCICFkwCtq2DPkUkkIWrdAFK5SKruUpcoL+0lhtw2jhyVzAiEAnk4nxdP17QTgOXTTg19J2RRLdW1oldMSfnn6r1NkFEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1264175},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"b03064620ec240932c2385c9bcbc3f59bef1f646","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.7_1782201531502_0.9930445934111869","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@dvxch/yandex-music","version":"0.1.8","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.8","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"38d76f689158f67d4d2060798ef450bc5c2abe38","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.8.tgz","fileCount":82,"integrity":"sha512-dRemeNJCrDTQJV4yyHjBx21sBV12lgRdt0qYwBZGUnsjZkFkuM0t9fqjHybslk0jSfwjzRgszLCQfr1aC5OSsQ==","signatures":[{"sig":"MEQCICLpQyZgq6fJYvGurtoz39FtGRApf41+BwRPPBYmwR+3AiBW5/vdEjsfHg8iElqX+HIVLWbDyhMZXNV8EwfB3FIWkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1271872},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"fee304027b8e7a8e27a8ba1979639c9517acafaa","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.8_1782203486376_0.23995495113594378","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@dvxch/yandex-music","version":"0.1.9","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.1.9","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"c49079f91186a26373a5431332c75ea4c15f6c4f","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.1.9.tgz","fileCount":84,"integrity":"sha512-YD/y/VMpddNvuRzs/T3mXJ4X4MOammeOcfAqykKLhkqkWL3lEHvLFWREGWGpS9kyHzg3n2+UsrVv7aGw1WheMg==","signatures":[{"sig":"MEUCIQD36kqnRlbilIidPgAVBNLJfBDwfH1JOYUB9d47HQ0bLgIgF/Jr5Y4UlUC04ya4y8Blq0nHqaw3fYQNsyzYsZdnajk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424445},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"8fe5f0c10552751d3a0d7b097ea78220f414b6cb","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.1.9_1782222743232_0.486762106349514","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dvxch/yandex-music","version":"0.2.0","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.0","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"5a49ae7484ba209b36fe4e44def2de1a66f73fdc","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.0.tgz","fileCount":84,"integrity":"sha512-Nfh9XeJI3Mm+gSVWk7zYEbLdJiYjd9Tf66vu7PTbVWsqaBQX5ihzT4l5eNiTORpvTdruOFfoilJ70FEEOoAsnw==","signatures":[{"sig":"MEUCIE6IzWvsGZrX8vOO4H62iDokNapfRBScp6qMCnfYeDg+AiEAocKSLmYhf2yJSluk3hH3WNinOSRe/1rkjVw9mp5x0hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1494979},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"e62987dadece9a0b52b330f1d9a7612529f853ad","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.0_1782239120250_0.5510371312087441","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dvxch/yandex-music","version":"0.2.1","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.1","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"fb931fbbdc15e6077a4bed4740f8d52f0c547b69","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.1.tgz","fileCount":84,"integrity":"sha512-gHZVztFk1wZC/zbjjKpLf68Yhx8ys0hLBrNgImq2XqPUoW48hSJgvNV6DyAU4u2afEn0qvPRmnaya0V+XQolKA==","signatures":[{"sig":"MEQCIQD17Z9jNeGXqpLGPn/JVwf0z6dwlOu0uK76i/ygrYx7vQIfSjQdhU1vyUTFv3j78jZB7CE+TkkSU7GGqLDXZRjlqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1526649},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"44ab3f8a01f545b046cfbbc9f6b9abad18757c6a","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.1_1782282823229_0.9926070094239523","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dvxch/yandex-music","version":"0.2.2","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.2","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"d2563cb512993a3146b8e8e1082bb26ebf8307d5","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.2.tgz","fileCount":86,"integrity":"sha512-KhjbY9SuPwt0rQyKwCNZgC3K7hjgCjhJomSCVB5s7M9OisPBilzvuH6BoHKjfPpT9lM6Ypm8rT9KbBQTI/+MDA==","signatures":[{"sig":"MEYCIQDbTnWaPQixMYRIdohfUjaEw02LMLPBNkeYglJnIkxZ/AIhAPbW4jwxgYywUoVjXGpSWMWIWFYYG/34djJLdoNRLNYl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1622671},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"8a39f4bc9e488ae2a7ac49ab85dcbc56726b1e04","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.2_1782295623939_0.24509450197138039","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dvxch/yandex-music","version":"0.2.3","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.3","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"6d507d66567c735912222b78d2c6769c80fa0f8b","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.3.tgz","fileCount":86,"integrity":"sha512-175GNmN+k3n49JRsOH+vYr+w8VYeCoRtJhctUIPa4eCLlxM+RUBPqVit7x7M5MfBLItdJh/+JcfiypMxKNU0qA==","signatures":[{"sig":"MEQCIFkNt+iaX6SxYRW4b4b+xdgiJZQTLUqVv1FA4M7Zw2DNAiA3G9qu02Nl4j1AjIWS4O0vABuqx/BGERWtDbdUE/IzVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1636535},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"9192148792cc55cbb189eea49dbd2637177a2743","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.3_1782297739536_0.103113028371564","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@dvxch/yandex-music","version":"0.2.4","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.4","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"31dcd9d9c005bbca547d4d752c312445b9d2d207","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.4.tgz","fileCount":86,"integrity":"sha512-D4av2vbaa3mbOy95HALMppYadrZYGuD+8lAK48+WtnXJXWnXh1BuWdt/h0yn2uJ41OVGhk5wNnCRwROQPikcvw==","signatures":[{"sig":"MEUCIQCCV6/6yq61pZHlyKcF9OGQvTD1wcietEQp2t6JFG2wDgIgLct0VnE0gjLs2G2PYp0k0MHyGuh2aWBUA6KOOZH3k5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1638640},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"83e8c20d4776d11b9d047c37b37da2f04cc82c43","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.4_1782302895603_0.3418990273214306","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@dvxch/yandex-music","version":"0.2.5","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.5","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"c2f3c6cb86f3e7c14fd2654df69eccddd739dab7","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.5.tgz","fileCount":86,"integrity":"sha512-pEbtLDN2Gni8P324Ji4iJUBIeyTCaavlEs69C1j8xWQH/sZaEEIH7Yc5JPNuOMqWVBCsXNOn7TdYdX1bXdUs/Q==","signatures":[{"sig":"MEUCIGvNvgTDFSfqUGikuHQkBanOvz1DH8QjT9zMtDm+RVXNAiEA3eYRbyCdbwXqveUFBMmet7GK99/GbNYUE8MFTck4sgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1644414},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"1fbb33c713d06589d93ba0c87d93a0b9aa705fe1","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.17.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.5_1782733150242_0.07731181700048273","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@dvxch/yandex-music","version":"0.2.6","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.6","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"65d187f18b9e86c597c07d58f539d2781f29c013","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.6.tgz","fileCount":86,"integrity":"sha512-5KuvWR9utdvzz2ctNAwZxbkOBTUONLn8V2j5rppbvoqbE/zxrqK8z7wPae579z+skCmBN/hGw/h4+fmEhiWX4g==","signatures":[{"sig":"MEYCIQC3loij15nakU5Xm/YxSsr5AaJIkhoUIsUXhPZHdNg3GQIhAK8rTXQOCbJtuWeoSyaNpmfvceL3J2hjydW0pvB8jPNg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1661896},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"2381bbc9d30fccb9bad4436d9f8e042ea4d98547","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"11.18.0","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.6_1782975445800_0.010339958531710547","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@dvxch/yandex-music","version":"0.2.7","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","_id":"@dvxch/yandex-music@0.2.7","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"homepage":"https://github.com/thedvxch/yandex-music#readme","bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"dist":{"shasum":"bb131ef8a3a6e4972e6cabf047d232cd92782a8c","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.2.7.tgz","fileCount":86,"integrity":"sha512-p6gX2eN1DjhD5igsjU2EBJxgaNNHUwpkNDbqueDUEKe1ldcVjTN9Q/He+RHi9fxpxw2FjsHlf8KgRr+6kz3fyw==","signatures":[{"sig":"MEYCIQDnwMl7zfqy4oY/70xF8hZKvEJDjhDd7evDy9CoCqWJNgIhALHHG2f/jT/Fs7O/xCzI2tb+Mzx2DXN8ZpYkAQ31S5Mn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1667299},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"2220c5b8f0549ab7baf270afea528c5f410c75f6","scripts":{"docs":"typedoc","test":"vitest run","build":"tsdown","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"repository":{"url":"git+https://github.com/thedvxch/yandex-music.git","type":"git"},"_npmVersion":"12.0.1","description":"Typed, async TypeScript client for the Yandex Music API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","tsx":"^4.19.2","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","@types/ws":"^8.18.1","node-wreq":"^2.4.1","typescript":"^5.7.3","@types/node":"^22.10.5"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yandex-music_0.2.7_1784541066809_0.2773442374395585","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dvxch/yandex-music","version":"0.3.0","description":"Typed, async TypeScript client for the Yandex Music API","keywords":["yandex","yandex-music","music","api","client","typescript"],"license":"MIT","homepage":"https://github.com/thedvxch/yandex-music#readme","repository":{"type":"git","url":"git+https://github.com/thedvxch/yandex-music.git"},"bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"type":"module","sideEffects":false,"publishConfig":{"access":"public"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","scripts":{"build":"tsdown","typecheck":"tsc --noEmit","typecheck:examples":"tsc --noEmit -p examples/tsconfig.json","test":"vitest run","test:watch":"vitest","clean":"rm -rf dist","docs":"typedoc","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build"},"devDependencies":{"@types/node":"^22.10.5","@types/ws":"^8.18.1","node-wreq":"^2.4.1","tsdown":"^0.22.3","tsx":"^4.19.2","typedoc":"^0.28.19","typescript":"^5.7.3","vitest":"^4.1.9","ws":"^8.21.0"},"peerDependencies":{"ws":"^8.0.0"},"peerDependenciesMeta":{"ws":{"optional":true}},"gitHead":"d73cd23435d151348fad3850efad7c11db6e5dbb","_id":"@dvxch/yandex-music@0.3.0","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-pq42Pkfd6eRURra3iewsE9aUbSvV9nu2g/ctDNEKnJbvx/WClS1Rx+GwfNvXt7IYBeEqLVJM/Nsrkln7gqFkSg==","shasum":"9649ab552fefd0c2439c9250d4fa9c6938be9880","tarball":"https://registry.npmjs.org/@dvxch/yandex-music/-/yandex-music-0.3.0.tgz","fileCount":89,"unpackedSize":1875551,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvxch%2fyandex-music@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCbGmFiNC/T+yiuAtoj/X45HVNsWd1rq+BVEUqSiK+f6AIgTsC8PKSBQ2dYuXzWdL24xWssDlGRZklV7FMPHP8BomI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3729337-6863-43a9-b0f3-ab2ef2917dab"}},"directories":{},"maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yandex-music_0.3.0_1785852930636_0.35081997521828523"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T16:16:36.490Z","modified":"2026-08-04T14:15:31.203Z","0.1.0":"2026-06-22T16:16:36.870Z","0.1.1":"2026-06-22T16:26:51.936Z","0.1.2":"2026-06-22T16:46:00.547Z","0.1.3":"2026-06-22T18:15:00.426Z","0.1.4":"2026-06-22T19:53:48.921Z","0.1.5":"2026-06-22T21:03:55.656Z","0.1.6":"2026-06-22T21:24:37.189Z","0.1.7":"2026-06-23T07:58:51.668Z","0.1.8":"2026-06-23T08:31:26.516Z","0.1.9":"2026-06-23T13:52:23.451Z","0.2.0":"2026-06-23T18:25:20.503Z","0.2.1":"2026-06-24T06:33:43.399Z","0.2.2":"2026-06-24T10:07:04.083Z","0.2.3":"2026-06-24T10:42:19.715Z","0.2.4":"2026-06-24T12:08:15.860Z","0.2.5":"2026-06-29T11:39:10.404Z","0.2.6":"2026-07-02T06:57:25.954Z","0.2.7":"2026-07-20T09:51:06.948Z","0.3.0":"2026-08-04T14:15:30.770Z"},"bugs":{"url":"https://github.com/thedvxch/yandex-music/issues"},"license":"MIT","homepage":"https://github.com/thedvxch/yandex-music#readme","keywords":["yandex","yandex-music","music","api","client","typescript"],"repository":{"type":"git","url":"git+https://github.com/thedvxch/yandex-music.git"},"description":"Typed, async TypeScript client for the Yandex Music API","maintainers":[{"name":"ragedrugg","email":"darkdakilla@gmail.com"},{"name":"whyrinki","email":"naer200469@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"assets/hero.png\" alt=\"@dvxch/yandex-music — типизированный TypeScript-клиент API Яндекс Музыки\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@dvxch/yandex-music\"><img src=\"https://img.shields.io/npm/v/@dvxch/yandex-music?color=8b5cf6&logo=npm\" alt=\"npm\"></a>\n  <a href=\"https://github.com/thedvxch/yandex-music/actions/workflows/ci.yml\"><img src=\"https://github.com/thedvxch/yandex-music/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://www.npmjs.com/package/@dvxch/yandex-music\"><img src=\"https://img.shields.io/npm/types/@dvxch/yandex-music?logo=typescript&logoColor=white&color=8b5cf6\" alt=\"types\"></a>\n  <a href=\"./package.json\"><img src=\"https://img.shields.io/badge/runtime%20deps-0-44cc11\" alt=\"zero deps\"></a>\n  <a href=\"https://nodejs.org\"><img src=\"https://img.shields.io/node/v/@dvxch/yandex-music?logo=node.js&logoColor=white&color=44cc11\" alt=\"node\"></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/npm/l/@dvxch/yandex-music?color=a78bfa\" alt=\"license\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://gh.dvxch.link/yandex-music/\"><b>📖 Документация</b></a> ·\n  <a href=\"./README.en.md\">🇬🇧 In English</a> ·\n  <a href=\"https://www.npmjs.com/package/@dvxch/yandex-music\">npm</a>\n</p>\n\nТипизированный асинхронный **TypeScript-клиент для API Яндекс Музыки**.\n\n`@dvxch/yandex-music` — независимая реализация HTTP API Яндекс Музыки на\nTypeScript. Ориентирован на современный Node.js (≥ 20), поставляется как ESM с\nполными декларациями типов и **без рантайм-зависимостей** (использует встроенный\n`fetch`).\n\n> Статус: готово. Реализован и протестирован весь HTTP API — `account` / `tracks`\n> / `albums` / `artists` / `search` / `likes` / `playlists` / `device auth` /\n> `landing` / `radio` / `queue` / `history` / `clips` / `credits` /\n> `disclaimers` / `labels` / `metatags` / `pins` / `presaves` / `concerts`, —\n> включая мутации плейлистов, дизлайки и обратную связь rotor, а также realtime\n> («сейчас играет») через Ynison.\n\nКаждый эндпоинт прогнан на живом API Яндекс Музыки с реальным токеном. Те\nнемногие эндпоинты, которые сервер больше не отдаёт обычному аккаунту (например,\nустаревшее создание очереди, rotor feedback), кидают типизированную ошибку, а не\nпадают молча.\n\n### Оглавление\n\n- [Возможности](#возможности)\n- [Установка](#установка)\n- [Быстрый старт](#быстрый-старт)\n- [Архитектура](#архитектура)\n- [Конфигурация](#конфигурация)\n- [Обработка ошибок](#обработка-ошибок)\n- [Реализованные эндпоинты](#реализованные-эндпоинты)\n- [Realtime](#realtime)\n- [Примеры](#примеры)\n- [Документация](#документация)\n- [Благодарности](#благодарности)\n- [Лицензия](#лицензия)\n\n## Возможности\n\n- **Ноль рантайм-зависимостей.** На встроенном `fetch`; только ESM, Node ≥ 20.\n- **Полная типизация.** У каждого эндпоинта и модели — ручные типы и статический `deJson`, без `any` в публичном API.\n- **Полное покрытие API.** ~145 методов по всем доменам, держим паритет с актуальным API.\n- **Надёжный транспорт.** Автоматические ретраи с экспоненциальным backoff + jitter на транзиентных сбоях (только идемпотентные запросы); типизированные ошибки; пер-вызов таймауты.\n- **Стриминговое скачивание.** `download()` льёт сразу на диск (константная память), на лету расшифровывая lossless (`encraw`/FLAC), с опциональной **гонкой CDN-зеркал** и watchdog'ом зависшего стрима.\n- **Realtime «сейчас играет»** через Ynison — переподключающийся `EventEmitter` + синхронный снимок `nowPlaying`.\n- **Детект дрейфа.** Опциональный хук `onUnknownField` репортит любое поле API, которое модели ещё не мапят, — изменения сервера ловятся, а не теряются.\n- **Подключаемый `fetch`.** Свой транспорт (прокси, TLS-имперсонация, тюнинг пула соединений).\n\n## Установка\n\n```bash\nnpm install @dvxch/yandex-music\n```\n\nТребования: Node.js ≥ 20. Для realtime («сейчас играет») дополнительно нужен\nопциональный пакет `ws`:\n\n```bash\nnpm install ws\n```\n\n## Быстрый старт\n\n```ts\nimport { Client } from '@dvxch/yandex-music';\n\n// Создаём с OAuth-токеном и один раз вызываем init() для загрузки данных аккаунта.\nconst client = await new Client({ token: process.env.YM_TOKEN }).init();\n\n// Получаем трек по id.\nconst [track] = await client.tracks(2);\nconsole.log(track?.title, '—', track?.artists?.[0]?.name);\n\n// Получаем прямую ссылку и скачиваем.\nconst [info] = await track!.getDownloadInfo();\nawait info.download('track.mp3');\n\n// Текст песни (TEXT или LRC).\nconst lyrics = await client.tracksLyrics(2, 'LRC');\nconsole.log(await lyrics?.fetchLyrics());\n```\n\n`new Client({ token })` дёшев. `await client.init()` один раз подгружает данные\nаккаунта, чтобы методы, подставляющие user id по умолчанию (`usersLikes*`,\n`usersPlaylists*`, `pins`, `presaves`), работали без явного `userId`. Каталожные\nread-only запросы (`tracks`, `albums`, `search`, …) работают и без `init()`.\n\n## Архитектура\n\n- **Плоский интерфейс клиента.** Методы лежат прямо на клиенте\n  (`client.tracks(...)`, `client.tracksDownloadInfo(...)`), повторяя исходный API.\n  Внутри клиент собирается из *миксинов* по доменам — каждая область в своём файле.\n- **Модели в camelCase.** API уже возвращает ключи в camelCase, поэтому модели\n  хранят их как есть — без слоя нормализации snake_case. У каждой модели есть\n  статический `deJson(raw, client)`, который строит типизированный экземпляр и\n  рекурсивно разбирает вложенные модели; массивы обрабатывает\n  `deList(Model.deJson, raw, client)`.\n- **Модели несут клиент.** Удобные методы вроде `Track.getDownloadInfo()` или\n  `DownloadInfo.download()` переиспользуют клиент-владелец, так что вручную его\n  прокидывать почти не нужно.\n- **Типизированные ошибки.** Любая ошибка наследует `YandexMusicError`; сетевые\n  дополнительно наследуют `NetworkError` (`BadRequestError`, `NotFoundError`,\n  `TimedOutError`, `UnauthorizedError`).\n- **Никогда не `JSON.stringify` модель** — она держит обратную ссылку на клиент\n  (циклическая структура). Читайте поля напрямую.\n\n## Конфигурация\n\nВсё, чем клиент представляется API, задаётся через конструктор:\n\n```ts\nconst client = new Client({\n  token: process.env.YM_TOKEN,\n  userAgent: 'my-app/1.0',                         // по умолчанию — UA библиотеки\n  headers: { 'X-Yandex-Music-Client': 'custom' },  // мержатся с дефолтными\n  device: 'os=Linux; model=my-app; ...',           // device-дескриптор для очередей\n  language: 'en',                                   // язык ответов: en/uz/uk/us/ru/kk/hy\n  fetch: myFetch,                                   // свой транспорт (напр. node-wreq)\n  retries: 2,                                        // ретраи транзиентных GET-сбоев (0 — выкл.)\n  onUnknownField: ({ model, fields }) =>            // хук дрейфа: немаппленные поля API\n    console.warn(`${model}: unmapped ${fields.join(', ')}`),\n});\n```\n\n`userAgent` и `headers` влияют только на автоматически создаваемый транспорт —\nесли передаёшь свой `request`, задавай их прямо в нём. Идентичность устройства\nдля realtime настраивается отдельно через `client.realtime({ deviceInfo })`.\n\n### Все опции `ClientOptions`\n\n| Опция | Назначение |\n| ----- | ---------- |\n| `token` | OAuth-токен |\n| `baseUrl` | переопределить origin API |\n| `language` | язык ответов: `en`/`uz`/`uk`/`us`/`ru`/`kk`/`hy` (по умолчанию `ru`) |\n| `userAgent` | переопределить User-Agent |\n| `headers` | доп. заголовки, мержатся с дефолтными |\n| `device` | device-дескриптор для запросов очереди |\n| `fetch` | свой `fetch` (прокси, моки, ретраи) |\n| `retries` | ретраи транзиентных сбоев для GET (по умолчанию 2, 0 — выкл.) |\n| `reportUnknownFields` | подсветить поля API, которые модели ещё не маппят |\n| `onUnknownField` | хук вместо `console.warn` для того же дрейфа |\n| `request` | полностью преднастроенный транспорт (перекрывает `userAgent`/`headers`/`fetch`) |\n\n## Обработка ошибок\n\nКаждая ошибка библиотеки наследует `YandexMusicError` — одного `catch`\nдостаточно, чтобы перехватить всё. Сетевые и транспортные сбои дополнительно\nнаследуют `NetworkError`:\n\n```ts\nimport {\n  YandexMusicError,\n  UnauthorizedError,\n  NotFoundError,\n  TimedOutError,\n} from '@dvxch/yandex-music';\n\ntry {\n  await client.tracksLyrics(trackId);\n} catch (error) {\n  if (error instanceof UnauthorizedError) {\n    // токен отсутствует или истёк — переавторизуйтесь\n  } else if (error instanceof NotFoundError) {\n    // у трека нет текста\n  } else if (error instanceof TimedOutError) {\n    // запрос завис — можно повторить\n  } else if (error instanceof YandexMusicError) {\n    // любая другая ошибка библиотеки\n  } else {\n    throw error; // не наша ошибка\n  }\n}\n```\n\n`GET`-запросы автоматически повторяются при транзиентных сбоях (экспоненциальный\nbackoff + jitter, `retries` попыток сверху, по умолчанию 2). Мутирующие запросы\n(`POST`/`PUT`/`DELETE`) никогда не повторяются автоматически — это защищает от\nдвойных сайд-эффектов (например, двойного лайка).\n\n## Реализованные эндпоинты\n\n| Домен       | Методы |\n| ----------- | ------- |\n| account     | `init`, `accountStatus`, `accountSettings`, `accountSettingsSet`, `settings`, `permissionAlerts`, `accountExperiments`, `accountExperimentsDetails`, `consumePromoCode` |\n| tracks      | `tracks`, `tracksDownloadInfo`, `tracksLosslessInfo`, `tracksLyrics`, `tracksSimilar`, `tracksFullInfo`, `tracksTrailer`, `trackSupplement`, `playAudio`, `afterTrack` |\n| albums      | `albums`, `albumsWithTracks`, `albumsSimilarEntities`, `albumsTrailer` |\n| artists     | `artists`, `artistsBriefInfo`, `artistsInfo`, `artistsAbout`, `artistsClips`, `artistsDonation`, `artistsSkeleton`, `artistsTracks`, `artistsTrackIds`, `artistsDirectAlbums`, `artistsAlsoAlbums`, `artistsDiscographyAlbums`, `artistsSafeDirectAlbums`, `artistsSimilar`, `artistsLinks`, `artistsTrailer` |\n| search      | `search`, `searchSuggest` |\n| likes       | `usersLikesTracks`/`Albums`/`Artists`/`Playlists`/`Clips` + add/remove для каждого; `usersDislikesTracks`/`Artists` + add/remove |\n| playlists   | `playlist`, `playlists`, `playlistsList`, `playlistsPersonal`, `usersPlaylists`, `usersPlaylistsList`, `usersPlaylistsKinds`, `usersPlaylistsCreate`, `usersPlaylistsDelete`, `usersPlaylistsName`, `usersPlaylistsVisibility`, `usersPlaylistsDescription`, `usersPlaylistsChange`, `usersPlaylistsInsertTrack`, `usersPlaylistsDeleteTrack`, `usersPlaylistsRecommendations`, `usersPlaylistsTrailer`, `usersSettings`, `playlistSimilarEntities`, `playlistsCollectiveJoin` |\n| device auth | `requestDeviceCode`, `pollDeviceToken`, `deviceAuth` (блокирующий flow), `refreshAccessToken` (обновление по refresh-токену) |\n| landing     | `landing`, `feed`, `feedWizardIsPassed`, `tags`, `chart`, `newReleases`, `newPlaylists`, `podcasts`, `genres` |\n| radio       | `rotorStationsDashboard`, `rotorStationsList`, `rotorStationInfo`, `rotorStationTracks`, `rotorAccountStatus`, `rotorStationFeedback` (+ шорткаты `rotorStationFeedbackRadioStarted`/`TrackStarted`/`TrackFinished`/`Skip`), `rotorStationSettings2` |\n| queue       | `queuesList`, `queue`, `queueUpdatePosition`, `queueCreate` |\n| history     | `musicHistory`, `musicHistoryItems` |\n| clips       | `clips`, `clipsWillLike` |\n| credits     | `tracksCredits`, `clipsCredits` |\n| disclaimers | `tracksDisclaimer`, `clipsDisclaimer`, `albumsDisclaimer`, `artistsDisclaimer` |\n| labels      | `label`, `labelAlbums`, `labelArtists` |\n| metatags    | `metatags`, `metatag`, `metatagAlbums`, `metatagArtists`, `metatagPlaylists` |\n| pins        | `pins`, `pin{Album,Artist,Playlist,Wave}`, `unpin{Album,Artist,Playlist,Wave}` |\n| presaves    | `usersPresaves`, `usersPresavesAdd`, `usersPresavesRemove` |\n| concerts    | `artistsConcerts`, `concertInfo`, `concertSkeleton`, `concertsFeed`, `concertsLocations`, `concertsTabConfig` |\n| realtime    | `client.realtime()` → `RealtimeClient` (Ynison; нужен `ws`) |\n\n### Скачивание и качество\n\nДля lossy-вариантов используйте `tracksDownloadInfo` / `track.getDownloadInfo()`\nи выбирайте по битрейту:\n\n```ts\nconst variants = await track!.getDownloadInfo();          // DownloadInfo[]\nconst best = [...variants].sort((a, b) => (b.bitrateInKbps ?? 0) - (a.bitrateInKbps ?? 0))[0];\nawait best!.download('track.mp3');\n```\n\nДля lossless (FLAC) — отдельный путь через `tracksLosslessInfo` /\n`track.getLosslessInfo(quality)` (`LosslessDownloadInfo`, AES-CTR-расшифровка на\nлету), описанный в типах пакета.\n\n## Realtime\n\nУ Яндекс Музыки нет HTTP-вебхуков; единственный канал server-push — **Ynison**\n(WebSocket-протокол синхронизации воспроизведения между устройствами).\n`client.realtime()` оборачивает его в типизированный `EventEmitter`, который сам\nделает рукопожатие, keep-alive и переподключение. Нужен опциональный пакет `ws`\n(`npm install ws`); остальная библиотека рантайм-зависимостей не имеет.\n\n```ts\nconst rt = client.realtime();\nrt.on('trackChange', ({ track }) => console.log('сейчас играет:', track?.title));\nrt.on('playStateChange', (paused) => console.log(paused ? 'пауза' : 'играет'));\nawait rt.start(); // резолвится, когда вы вызовете rt.stop()\n```\n\nДля боевого «наблюдателя» удобнее **синхронный снимок**, чем ожидание\nследующего события — например, чтобы ответить на HTTP-запрос прямо сейчас:\n\n```ts\nconst rt = client.realtime({\n  staleTimeoutMs: 120_000, // форс-реконнект, если фреймы замолчали (broken pipe без RST)\n});\nrt.start(); // не await — крутится до rt.stop()\n\nconst np = rt.nowPlaying; // null до первого фрейма / когда ничего не играет\nif (np?.track) {\n  console.log(np.track.title, np.paused ? '⏸' : '▶',\n    `${Math.round(np.progressMs / 1000)}/${Math.round(np.durationMs / 1000)}с`); // progressMs экстраполируется живьём\n}\n```\n\n`deviceId` по умолчанию генерируется один раз и переиспользуется между\nпереподключениями — **не меняйте его на каждый реконнект**: Ynison дедуплицирует\nрассылку по устройству, и новый id выкидывает вашего наблюдателя из fan-out,\nпосле чего состояние молча замирает. Геттеры `state` / `lastStateAgeMs` /\n`liveProgressMs()` дают остальную часть снимка для `/health`.\n\n## Примеры\n\nЗапускаемые примеры лежат в [`examples/`](./examples):\n\n- `01-quickstart.ts` — трек, прямая ссылка и текст песни;\n- `02-search.ts` — поиск и саджесты;\n- `03-device-auth.ts` — получение токена через device flow;\n- `04-realtime.ts` — слежение за «сейчас играет» через Ynison;\n- `05-likes-library.ts` — просмотр библиотеки, цикл лайк/анлайк;\n- `06-playlists.ts` — полный жизненный цикл плейлиста (создать → изменить → удалить);\n- `07-radio.ts` — станции «Моей волны», пакеты треков, обратная связь;\n- `08-charts-and-new.ts` — чарт, новинки, жанры;\n- `09-lyrics.ts` — синхронизированный по времени (LRC) текст песни;\n- `10-download-quality.ts` — выбор качества/кодека, включая lossless (FLAC);\n- `11-artist.ts` — краткая информация об артисте, треки, дискография, похожие;\n- `12-custom-fetch.ts` — инъекция кастомного `fetch` (например, `node-wreq` для TLS-имперсонации).\n\nПодробности и команды запуска — в [`examples/README.md`](./examples/README.md).\n\n## Документация\n\nПолный справочник — на [сайте документации](https://gh.dvxch.link/yandex-music/),\nразбитый по разделам:\n\n- **[Начало работы](docs/guides/01-getting-started.md)** — установка, быстрый старт, `init()`, ошибки.\n- **[Архитектура и конфигурация](docs/guides/02-architecture.md)** — устройство клиента, все опции `ClientOptions`.\n- **[Реализованные эндпоинты](docs/guides/03-endpoints.md)** — полный каталог методов по доменам, скачивание и качество.\n- **[Realtime «сейчас играет»](docs/guides/04-realtime.md)** — Ynison: события, снимок `nowPlaying`, стабильный `deviceId`.\n- **[Примеры и разработка](docs/guides/05-examples.md)** — запускаемые примеры и команды сборки.\n\nПлюс автогенерируемый **[API-reference](https://gh.dvxch.link/yandex-music/)** по\nвсем классам, методам и моделям (TypeDoc).\n\n## Благодарности\n\nСпасибо [MarshalX](https://github.com/MarshalX) за библиотеку\n[yandex-music](https://github.com/MarshalX/yandex-music-api) — бесценный\nориентир по API Яндекс Музыки.\n\n## Лицензия\n\n[MIT](./LICENSE) © dvxch\n","readmeFilename":"README.md"}