{"_id":"@tsightler/ring-client-api","_rev":"50-ee3b0db44eef558a4fd9a86eec0a570b","name":"@tsightler/ring-client-api","dist-tags":{"latest":"15.0.0-beta.2"},"versions":{"13.2.0-custom.0":{"name":"@tsightler/ring-client-api","version":"13.2.0-custom.0","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@13.2.0-custom.0","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"9940b363fdb7145a3286d809036632e3a1174d09","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-13.2.0-custom.0.tgz","fileCount":49,"integrity":"sha512-/pPOEsLdh/pLZbsrzLyyexQTpwAjVt30KktL6uty7kDLNl2zK7hblT8NyolkdpfJz04GlLWFvQPE5jJBxvo+/Q==","signatures":[{"sig":"MEQCIBNknGhTK3QUQcOTB2EU0JJF3stuvt0x2l9Mo/HsbjjUAiA5g+wMZGW8Yn/9cisDTHHDtTdmOYIeiaolEu9bWCXtyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209408},"main":"lib/index.js","types":"./lib/index.d.ts","engines":{"node":"^18 || ^20 || ^22"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"d0baee3250d5ec1b82c84286688b71c60b7a5639","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint . --ext .ts","test":"jest","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js","test:watch":"jest --watch"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.0","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ws":"^8.18.0","rxjs":"^7.8.1","uuid":"^11.0.3","debug":"^4.3.7","colors":"1.4.0","undici":"^6.21.0","werift":"0.20.1","json-bigint":"^1.0.0","socket.io-client":"^2.5.0","systeminformation":"^5.23.5","@eneris/push-receiver":"4.3.0","@homebridge/camera-utils":"^2.2.7"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.4","jest":"29.7.0","ts-jest":"29.2.5","tsconfig":"*","@types/ws":"^8.5.13","typescript":"5.6.3","@types/jest":"29.5.14","@types/node":"22.9.0","@types/uuid":"10.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*","@types/socket.io-client":"1.4.36"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_13.2.0-custom.0_1731988150211_0.15663311231176213","host":"s3://npm-registry-packages"}},"13.2.0-custom.1":{"name":"@tsightler/ring-client-api","version":"13.2.0-custom.1","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@13.2.0-custom.1","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"20b55ff45441d8d3f8def19f053894662098ce33","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-13.2.0-custom.1.tgz","fileCount":49,"integrity":"sha512-ctT9lbQronzgrkC/e7yMJ6IvDyRw+vVabFbPfQZqrmDYmmIZj74P3O3tApRvVbNaZQkNvHTbW2Vm9ls5f4yfzg==","signatures":[{"sig":"MEQCIF/oEFphZVm8ZWau+AnnhSmhWJMtIhccsg0e5Zh3mEALAiA+gbO3hM6xVkJEegzkewIbZ7ashRJs7zbumOBC3RPxgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209577},"main":"lib/index.js","types":"./lib/index.d.ts","engines":{"node":"^18 || ^20 || ^22"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"d0baee3250d5ec1b82c84286688b71c60b7a5639","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint . --ext .ts","test":"jest","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js","test:watch":"jest --watch"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.0","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ws":"^8.18.0","rxjs":"^7.8.1","uuid":"^11.0.3","debug":"^4.3.7","colors":"1.4.0","undici":"^6.21.0","werift":"0.20.1","json-bigint":"^1.0.0","socket.io-client":"^2.5.0","systeminformation":"^5.23.5","@eneris/push-receiver":"4.3.0","@homebridge/camera-utils":"^2.2.7"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.4","jest":"29.7.0","ts-jest":"29.2.5","tsconfig":"*","@types/ws":"^8.5.13","typescript":"5.6.3","@types/jest":"29.5.14","@types/node":"22.9.0","@types/uuid":"10.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*","@types/socket.io-client":"1.4.36"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_13.2.0-custom.1_1732031596398_0.29582252749294446","host":"s3://npm-registry-packages"}},"13.2.0-custom.2":{"name":"@tsightler/ring-client-api","version":"13.2.0-custom.2","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@13.2.0-custom.2","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"e6ec4bb4367ca35c61578052b57c7b2288cc9a60","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-13.2.0-custom.2.tgz","fileCount":49,"integrity":"sha512-Azvytp3wKczIhh0jAocQ98Eo75vAjGA20uNp3NtT6RvBCqzzW0mUYK7XALnHX2wWRqTw5KHdTDAA7puXXxnGLg==","signatures":[{"sig":"MEQCIBMN1HfD5uqK2129HWSrCvXhNvfm6rr48fCffOutDVeWAiB5u/M5/kDgNOS+7wPuU/MXr6k0G/s19KuJq1uOHqG6vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209317},"main":"lib/index.js","types":"./lib/index.d.ts","engines":{"node":"^18 || ^20 || ^22"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"2016e13e9b0fa65a1427860873b340510f18242f","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint . --ext .ts","test":"jest","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js","test:watch":"jest --watch"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.0","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ws":"^8.18.0","rxjs":"^7.8.1","uuid":"^11.0.3","debug":"^4.3.7","colors":"1.4.0","undici":"^6.21.0","werift":"0.20.1","json-bigint":"^1.0.0","socket.io-client":"^2.5.0","systeminformation":"^5.23.5","@eneris/push-receiver":"4.3.0","@homebridge/camera-utils":"^2.2.7"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.4","jest":"29.7.0","ts-jest":"29.2.5","tsconfig":"*","@types/ws":"^8.5.13","typescript":"5.6.3","@types/jest":"29.5.14","@types/node":"22.9.0","@types/uuid":"10.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*","@types/socket.io-client":"1.4.36"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_13.2.0-custom.2_1732217852336_0.2866669556514976","host":"s3://npm-registry-packages"}},"14.3.1-beta.0":{"name":"@tsightler/ring-client-api","version":"14.3.1-beta.0","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@14.3.1-beta.0","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"5f83a973bbf120ad52c7f4550107af9741754d71","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-14.3.1-beta.0.tgz","fileCount":45,"integrity":"sha512-7S+vn8508FVkkzcTxVSqy6y9fpsplPwiLP0NTU+iBXpxla1n0O78KJjesRvwO6nJgsRwEYtVvC25XflACh3xhw==","signatures":[{"sig":"MEUCIQDDWxuDIPDZiuFka4n/7k9+keX19AK/GpcY3lk7KJsHLAIgS5990AMFAhJo61v7C8J8e/9p2v+67YGAimvVE0K1oa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190147},"main":"lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":"^20 || ^22 || ^24"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"3a774ef11f9e24ed68e21eb5bf91f35c6b30d8e2","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint .","test":"vitest run","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js && rm -rf ./lib/test"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.4","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.21.0","dependencies":{"rxjs":"^7.8.2","uuid":"^13.0.0","debug":"^4.4.3","colors":"1.4.0","undici":"^7.22.0","werift":"0.22.9","json-bigint":"^1.0.0","systeminformation":"^5.31.3","@eneris/push-receiver":"4.3.1","@homebridge/camera-utils":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","vitest":"^4.0.18","tsconfig":"*","@types/ws":"^8.18.1","typescript":"5.9.3","@types/node":"25.1.0","@types/uuid":"11.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_14.3.1-beta.0_1773002381239_0.8562902801236338","host":"s3://npm-registry-packages-npm-production"}},"14.3.1-beta.1":{"name":"@tsightler/ring-client-api","version":"14.3.1-beta.1","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@14.3.1-beta.1","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"ad3332f55a73c29e12b1325712d96fa7aef648d2","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-14.3.1-beta.1.tgz","fileCount":45,"integrity":"sha512-ehggDcnXCrsqyS0jAyjkptj3K2odNf0HyzyrpXzUZ6PLNZ4l8Uj6+2hXhL+HxopU/QIv6dLjNdr6yBN42n9gew==","signatures":[{"sig":"MEQCIAxetHqGm7UEe1dE+sUzlG+4nE2PNlMgrCo3TLemDKPUAiBr3tbEtooScrk+Zsx6/TejQn6m7EzXVbSCe6AIZ17alw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190129},"main":"lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":"^20 || ^22 || ^24"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"3a774ef11f9e24ed68e21eb5bf91f35c6b30d8e2","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint .","test":"vitest run","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js && rm -rf ./lib/test"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.4","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.21.0","dependencies":{"rxjs":"^7.8.2","uuid":"^13.0.0","debug":"^4.4.3","colors":"1.4.0","undici":"^7.22.0","werift":"0.22.9","json-bigint":"^1.0.0","systeminformation":"^5.31.3","@eneris/push-receiver":"4.3.1","@homebridge/camera-utils":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","vitest":"^4.0.18","tsconfig":"*","@types/ws":"^8.18.1","typescript":"5.9.3","@types/node":"25.1.0","@types/uuid":"11.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_14.3.1-beta.1_1778017162249_0.31532874460294513","host":"s3://npm-registry-packages-npm-production"}},"15.0.0-beta.0":{"name":"@tsightler/ring-client-api","version":"15.0.0-beta.0","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@15.0.0-beta.0","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"c6d721dfc684aa24df1286f15dbeda026b30dd24","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-15.0.0-beta.0.tgz","fileCount":45,"integrity":"sha512-N9jURrmqurPb0gDBBtBn55jTTcJ+5FjO6/o+RXRadpBya5o4JmwGgEX/mJoSMzoeOZc544I2E8lMl6EKODjWRw==","signatures":[{"sig":"MEQCIH93Bp5gQAuOxUXc02aDV9e/Uj7mI3dqqGstbVGdiEP9AiBDcrj67vk0/ftGPCc1V60ww7VjckrBzpX89Gc5vKPcgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216025},"main":"lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":"^20 || ^22 || ^24"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"257a5cf7e3da4a59722a3e537e95ea06b94e5573","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint .","test":"vitest run","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js && rm -rf ./lib/test"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.7","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.22.2","dependencies":{"rxjs":"^7.8.2","uuid":"^14.0.0","debug":"^4.4.3","colors":"1.4.0","undici":"^7.24.0","werift":"0.22.4","json-bigint":"^1.0.0","systeminformation":"^5.31.6","@eneris/push-receiver":"4.3.1","@homebridge/camera-utils":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","vitest":"^4.0.18","tsconfig":"*","@types/ws":"^8.18.1","typescript":"5.9.3","@types/node":"25.1.0","@types/uuid":"11.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_15.0.0-beta.0_1787711092906_0.8036707034166148","host":"s3://npm-registry-packages-npm-production"}},"15.0.0-beta.1":{"name":"@tsightler/ring-client-api","version":"15.0.0-beta.1","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"author":{"name":"dgreif"},"license":"MIT","_id":"@tsightler/ring-client-api@15.0.0-beta.1","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","bugs":{"url":"https://github.com/dgreif/ring/issues"},"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"dist":{"shasum":"74b8942ec01e5ce3611aa79e0ea9a822057b462e","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-15.0.0-beta.1.tgz","fileCount":45,"integrity":"sha512-a7eIy0VhuvipRcKZiXqm69zmWR6ozUncsAfcF6cocmntrSGeJ0JA1x10xWdw5ehV4gc0xV3cfL0UjZthB8+Zbw==","signatures":[{"sig":"MEUCIA+kh11fwZiw/ZsjYXje8Tsy4r0YPJDiITzKDYhKDunrAiEAscoOyBBSB8HyStqXQ1z0RhTMRLl2GqK/wHAb6zKJ8w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216025},"main":"lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":"^20 || ^22 || ^24"},"exports":{".":"./lib/index.js","./util":"./lib/util.js","./ffmpeg":"./lib/ffmpeg.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"funding":[{"url":"https://www.paypal.me/dustingreif","type":"paypal"},{"url":"https://github.com/sponsors/dgreif","type":"github"}],"gitHead":"89ca69317f4c43b331dae188edc644f46865acca","scripts":{"dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint .","test":"vitest run","build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js && rm -rf ./lib/test"},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"repository":{"url":"git://github.com/dgreif/ring.git","type":"git"},"_npmVersion":"10.9.7","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","directories":{},"_nodeVersion":"22.22.2","dependencies":{"rxjs":"^7.8.2","uuid":"^14.0.0","debug":"^4.4.3","colors":"1.4.0","undici":"^7.24.0","werift":"0.22.4","json-bigint":"^1.0.0","systeminformation":"^5.31.6","@eneris/push-receiver":"4.3.1","@homebridge/camera-utils":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","vitest":"^4.0.18","tsconfig":"*","@types/ws":"^8.18.1","typescript":"5.9.3","@types/node":"25.1.0","@types/uuid":"11.0.0","@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","eslint-config-shared":"*"},"_npmOperationalInternal":{"tmp":"tmp/ring-client-api_15.0.0-beta.1_1787796139097_0.5031590620330233","host":"s3://npm-registry-packages-npm-production"}},"15.0.0-beta.2":{"name":"@tsightler/ring-client-api","version":"15.0.0-beta.2","description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","main":"lib/index.js","type":"module","exports":{".":"./lib/index.js","./ffmpeg":"./lib/ffmpeg.js","./util":"./lib/util.js","./rest-client":"./lib/rest-client.js","./streaming/streaming-session":"./lib/streaming/streaming-session.js"},"scripts":{"build":"rm -rf lib && tsc --declaration && chmod +x ./lib/ring-*-cli.js && rm -rf ./lib/test","dev":"tsc --declaration --watch --preserveWatchOutput","lint":"eslint .","test":"vitest run"},"dependencies":{"@eneris/push-receiver":"4.3.1","@homebridge/camera-utils":"^3.0.0","colors":"1.4.0","debug":"^4.4.3","json-bigint":"^1.0.0","rxjs":"^7.8.2","systeminformation":"^5.31.6","undici":"^7.24.0","uuid":"^14.0.0","werift":"0.22.4"},"devDependencies":{"@types/debug":"4.1.12","@types/json-bigint":"^1.0.4","@types/node":"25.1.0","@types/uuid":"11.0.0","@types/ws":"^8.18.1","eslint-config-shared":"*","msw":"^2.12.7","tsconfig":"*","typescript":"5.9.3","vitest":"^4.0.18"},"engines":{"node":"^20 || ^22 || ^24"},"repository":{"type":"git","url":"git://github.com/dgreif/ring.git"},"bugs":{"url":"https://github.com/dgreif/ring/issues"},"homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","author":{"name":"dgreif"},"license":"MIT","funding":[{"type":"paypal","url":"https://www.paypal.me/dustingreif"},{"type":"github","url":"https://github.com/sponsors/dgreif"}],"bin":{"ring-auth-cli":"lib/ring-auth-cli.js","ring-device-data-cli":"lib/ring-device-data-cli.js"},"keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"_id":"@tsightler/ring-client-api@15.0.0-beta.2","gitHead":"89ca69317f4c43b331dae188edc644f46865acca","types":"./lib/index.d.ts","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-vXtw4R59HVHvWkop0u7CUTtgwDPbbFcLwODWMOue5zgTsLq7HTu6F7mTtButMcHWTDKk7mJKkKFKtVf40hHDRQ==","shasum":"1cb140b437e39d4536eef62feb597b7a3503f07e","tarball":"https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-15.0.0-beta.2.tgz","fileCount":45,"unpackedSize":217924,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/Kbkmra0dFfHQ+USffG8uHwOlkikEXlvWb3RAvtwluQIgQ5euUgYlMK5aJYUtWDcOH8eCDuGkthg96OUh/XmCLq0="}]},"_npmUser":{"name":"tsightler","email":"tsightler@gmail.com"},"directories":{},"maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ring-client-api_15.0.0-beta.2_1787796209044_0.20275645794015684"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-19T03:49:10.078Z","modified":"2026-08-27T02:03:29.398Z","9.18.1":"2021-07-11T16:35:28.184Z","9.18.1-custom.1":"2021-07-11T16:53:17.128Z","9.18.1-custom.2":"2021-07-11T19:48:33.120Z","10.0.0-beta.0":"2022-02-19T01:21:49.155Z","10.0.0-beta.1":"2022-02-28T21:19:44.829Z","9.25.0-custom.0":"2022-03-08T04:09:58.206Z","10.0.0-beta.1.custom":"2022-03-14T05:26:40.709Z","10.0.0-beta.1.custom.1":"2022-03-14T05:34:43.063Z","10.0.0-beta.1.custom.2":"2022-03-14T15:21:52.759Z","10.0.0-beta.1.custom.3":"2022-03-19T20:33:07.538Z","10.0.0-beta.1.custom.4":"2022-03-30T04:06:54.465Z","10.0.0-beta.1.custom.5":"2022-03-30T05:02:39.926Z","11.2.1-ts.1":"2022-08-31T20:10:57.133Z","11.2.1-ts.2":"2022-09-01T02:24:13.647Z","11.2.1-ts.3":"2022-09-02T04:18:38.450Z","11.7.7":"2023-05-29T15:25:47.447Z","11.7.7-custom1":"2023-05-29T17:27:33.611Z","11.7.7-custom2":"2023-05-29T21:36:11.621Z","11.7.7-custom3":"2023-05-30T03:11:14.185Z","12.2.0-test":"2024-06-20T18:37:40.689Z","12.2.0-dev":"2024-06-20T18:46:49.175Z","12.2.0-alpha1":"2024-06-20T21:54:52.375Z","13.2.0-beta.1":"2024-11-02T00:18:04.600Z","13.2.0-ring-mqtt-beta.1":"2024-11-02T00:32:32.961Z","13.2.0-custom.0":"2024-11-19T03:49:10.430Z","13.2.0-custom.1":"2024-11-19T15:53:16.665Z","13.2.0-custom.2":"2024-11-21T19:37:32.583Z","14.3.1-beta.0":"2026-03-08T20:39:41.397Z","14.3.1-beta.1":"2026-05-05T21:39:22.445Z","15.0.0-beta.0":"2026-08-26T02:24:53.073Z","15.0.0-beta.1":"2026-08-27T02:02:19.236Z","15.0.0-beta.2":"2026-08-27T02:03:29.194Z"},"bugs":{"url":"https://github.com/dgreif/ring/issues"},"author":{"name":"dgreif"},"license":"MIT","homepage":"https://github.com/dgreif/ring/tree/main/packages/ring-client-api#ring-client-api","keywords":["ring","doorbell","doorbot","camera","alarm","smart","light","beam","security","client","api"],"repository":{"type":"git","url":"git://github.com/dgreif/ring.git"},"description":"Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting","maintainers":[{"name":"tsightler","email":"tsightler@gmail.com"}],"readme":"# ring-client-api\r\n\r\n[![npm](https://badgen.net/npm/v/ring-client-api)](https://www.npmjs.com/package/ring-client-api)\r\n[![npm](https://badgen.net/npm/dt/ring-client-api)](https://www.npmjs.com/package/ring-client-api)\r\n[![Donate](https://badgen.net/badge/Donate/PayPal/91BE09)](https://www.paypal.me/dustingreif)\r\n\r\nThis is an unofficial TypeScript api for [Ring Doorbells](https://shop.ring.com/pages/doorbell-cameras),\r\n[Ring Cameras](https://shop.ring.com/pages/security-cameras),\r\nthe [Ring Alarm System](https://shop.ring.com/pages/security-system),\r\n[Ring Smart Lighting](https://shop.ring.com/pages/smart-lighting),\r\nand third party devices that connect to the Ring Alarm System.\r\nBuilt to support the [homebridge-ring Plugin](../homebridge-ring)\r\n\r\n## Troubleshooting Issues\r\n\r\nIf you are having issues, please look for related articles in the [wiki](https://github.com/dgreif/ring/wiki) and search existing [Issues](https://github.com/dgreif/ring/issues) before opening a new Issue/Discussion\r\n\r\n## Installation\r\n\r\n`npm i ring-client-api`\r\n\r\n## Setup and Config\r\n\r\nFirst, generate a `refreshToken` using the instructions in the [Refresh Tokens Wiki](https://github.com/dgreif/ring/wiki/Refresh-Tokens)\r\n\r\n```js\r\nimport { RingApi } from 'ring-client-api'\r\n\r\nconst ringApi = new RingApi({\r\n  refreshToken:\r\n    'token generated with ring-auth-cli.  See https://github.com/dgreif/ring/wiki/Refresh-Tokens',\r\n\r\n  // The following are all optional. See below for details\r\n  cameraStatusPollingSeconds: 20,\r\n  locationIds: [\r\n    '488e4800-fcde-4493-969b-d1a06f683102',\r\n    '4bbed7a7-06df-4f18-b3af-291c89854d60',\r\n  ],\r\n})\r\n```\r\n\r\n### Optional Parameters\r\n\r\n| Option                       | Default                      | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                              |\r\n| ---------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\r\n| `cameraStatusPollingSeconds` | `undefined` (No Polling)     | How frequently to poll for updates to your cameras and chimes (in seconds). Information like light/siren/volume/snooze status do not update in real time and need to be requested periodically.                                                                                                                                                                                                                                                                          |\r\n| `locationModePollingSeconds` | `undefined` (No Polling)     | How frequently to poll for location mode updates (in seconds). This is only useful if you are using location modes to control camera settings and want to keep an up-to-date reference of the current mode for each location. Polling is automatically disabled for locations equipped with a Ring Alarm.                                                                                                                                                                |\r\n| `locationIds`                | All Locations                | Allows you to limit the results to a specific set of locations. This is mainly useful for the [homebridge-ring Plugin](./homebridge), but can also be used if you only care about listening for events at a subset of your locations and don't want to create websocket connections to _all_ of your locations. This will also limit the results for `ringApi.getCameras()` to the configured locations. If this option is not included, all locations will be returned. |\r\n| `debug`                      | false                        | Turns on additional logging. In particular, ffmpeg logging.                                                                                                                                                                                                                                                                                                                                                                                                              |\r\n| `ffmpegPath`                 | Uses `ffmpeg-for-homebridge` | A custom path to the `ffmpeg` executable. By default, the static binaries built in [ffmpeg-for-homebridge](https://github.com/oznu/ffmpeg-for-homebridg) will be used. If you prefer to use your own version of ffmpeg, you can pass a complete path, or simply `\"ffmpeg\"` to use ffmpeg from your `PATH`.                                                                                                                                                               |\r\n| `controlCenterDisplayName`   | 'ring-client-api'            | This allows you to change the displayed name for the Authorized Device within Control Center in the Ring app                                                                                                                                                                                                                                                                                                                                                             |\r\n| `avoidSnapshotBatteryDrain`  | false                        | Causes snapshots for battery cameras to be fetched at a minimum 10 minute interval to avoid draining the battery.                                                                                                                                                                                                                                                                                                                                                        |\r\n\r\n## Locations\r\n\r\n```typescript\r\nconst locations = await ringApi.getLocations()\r\nconst location = locations[0]\r\nlocation.hasHubs // does this location have an alarm and/or lighting bridge\r\nlocation.disarm()\r\nlocation.armHome([\r\n  /* optional array of zids for devices to bypass */\r\n])\r\nlocation.armAway([\r\n  /* bypass zids */\r\n])\r\nlocation.getAlarmMode() // returns Promise<'all' | 'some' | 'none'>\r\nlocation.soundSiren()\r\nlocation.silenceSiren()\r\nlocation.cameras // array of cameras at this location\r\nlocation.getHistory() // historical events from alarm/lights\r\nlocation.getCameraEvents() // ding events from all cameras in the location\r\n```\r\n\r\n`locations` is an array of your Ring locations. Each location can be armed or disarmed,\r\nand used to interact with all devices in that location.\r\n\r\n## Devices\r\n\r\nOnce you have acquired the desired location, you can start\r\nto interact with associated devices. These devices include ring alarm, ring lighting,\r\nand third party devices connected to ring alarm\r\n\r\n```js\r\nimport { RingDeviceType } from 'ring-client-api'\r\n\r\nconst devices = await location.getDevices()\r\nconst baseStation = devices.find(\r\n  (device) => device.data.deviceType === RingDeviceType.BaseStation\r\n)\r\nbaseStation.setVolume(0.75) // base station and keypad support volume settings between 0 and 1\r\nconsole.log(baseStation.data) // object containing properties like zid, name, roomId, faulted, tamperStatus, etc.\r\nbaseStation.onData.subscribe((data) => {\r\n  // called any time data is updated for this specific device\r\n})\r\n```\r\n\r\n## Cameras\r\n\r\nYou can get all cameras using `await ringApi.getCameras()` or cameras for a particular\r\nlocation with `location.cameras`\r\n\r\n```typescript\r\nconst camera = location.cameras[0]\r\ncamera.data // camera info including motion zones, light status, battery, etc.\r\ncamera.onData.subscribe((data) => {\r\n  // called every time new data is fetched for this camera\r\n})\r\ncamera.setLight(true) // turn light on/off\r\ncamera.setSiren(true) // turn siren on/off\r\ncamera.getHealth() // fetch health info like wifi status\r\ncamera.startVideoOnDemand() // ask the camera to start a new video stream\r\ncamera.createSipSession() // creates a new SipSession which allows you to control RTP flow\r\ncamera.getEvents() // fetch ding events for the camera (like motion and doorbell presses)\r\ncamera.getRecordingUrl(dingIdStr, { transcoded: true }) // fetch the url for a recording\r\ncamera.getSnapshot() // returns a Promise<Buffer> of the latest snapshot from the camera\r\n```\r\n\r\nCamera also includes the following observables:\r\n\r\n- `onNewNotification`: this is triggered any time a new push notification is received\r\n- `onActiveNotifications`: notifications received within the last minute\r\n- `onDoorbellPressed`: this will include the sip info and ding information every time a new ding is created\r\n- `onActiveDings`: dings created within the last 65 seconds\r\n- `onDoorbellPressed`: emits a ding every time the doorbell is pressed\r\n- `onMotionDetected`: `true` or `false` based on `onActiveDings` containing a motion ding\r\n\r\nSome other useful properties\r\n\r\n- `id`\r\n- `name`: same as `description` from `data`\r\n- `hasLight`: does this camera have a light\r\n- `hasSiren`: does this camera have a siren\r\n- `isDoorbot`: is this camera a doorbell\r\n\r\n## Refresh Token\r\n\r\nRing has restricted refresh tokens so that they expire shortly after use. See https://github.com/dgreif/ring/wiki/Refresh-Tokens#refresh-token-expiration for details on how to properly handle refresh tokens in your library.\r\n","readmeFilename":"README.md"}