{"_id":"@andygev35/smart-detection-relay","_rev":"18-3e3aa643deb93e142f1ccf3751637c50","name":"@andygev35/smart-detection-relay","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@andygev35/smart-detection-relay","version":"0.1.0","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.1.0","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"6bc6531896c16546f14149e0fb0649bc7ad31b97","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.1.0.tgz","fileCount":14,"integrity":"sha512-wQytwfh6csz+Z6hWnD8NshY/9b2iUplRkACs+NXMs4g6Ishqucfwc/9Hdw/Lu8ZZJeIZFmto1yW1ico0ipHgrA==","signatures":[{"sig":"MEUCICP/W+my6ZdlWw9uoTF+AQBEfcF5VSDsfjzarAK2su2EAiEA0AmVHSGBGuGxJ1v8Y6CeQxP5jEJO4Oati9Ppj0MTeN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678088},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.1.0_1783023580786_0.5008737254036209","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@andygev35/smart-detection-relay","version":"0.1.1","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.1.1","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"ae8faaa4d4f4c56540328cfe86eb25085ab7bc09","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.1.1.tgz","fileCount":15,"integrity":"sha512-lcKKVHRiuHZCIS+nPpQ9dlMNuOLhsWpMf7RoYE+NecWjNwzeEQBq2XzRAZ3oFxHQLOFD+Tnm4wQgEfK0EilsKA==","signatures":[{"sig":"MEYCIQCZW595poTeo/QkLmVLEFrsfmYyc2B5OKEy6XABt1fzsQIhAOg9pko9fGcYGeuku3eDbDNxbI4oIrU2JZJrvnTmFf3P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":734123},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.1.1_1783082510763_0.34147145220526154","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@andygev35/smart-detection-relay","version":"0.1.2","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.1.2","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"c6c703a4349d6143135020afd0bd8a8161b5214a","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.1.2.tgz","fileCount":15,"integrity":"sha512-W4zdTzRm8hzZWPDxWhHwt3r2jdLe1XNRaM5J6xow+Kx6HO0TcKKCH7GXi/iQZuHpLWRggep16D8v4PxXuJYnNw==","signatures":[{"sig":"MEUCIH8JptFC4sdJFpyF7Pbx8jic4zE/nomcF7hflvjOUUgoAiEAibYoh2Em0H5X1c143Wpg5zbERhnX0yXNsi5LHbw0hkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735431},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.1.2_1783083296422_0.6721434252376102","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@andygev35/smart-detection-relay","version":"0.2.0","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.0","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"d0f7184879817e33321d111977882c797e32ef92","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.0.tgz","fileCount":15,"integrity":"sha512-4+LbenbEUreons7+v7jjvJuaJlM5dsOmzXjjaHAacQrs8hcZglpt8ogPGatem9aoiugd7RJU5laJhYOoWFeqXg==","signatures":[{"sig":"MEUCIE1a3hqJYo3p8ByxYHRnn4+dVKDhhHsPuO673Hui1NqNAiEArZsRBGs8jF5Q96kepVhDFQOPQuZK7obLRN8W67CuyQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":780397},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.0_1783165427194_0.15078820211263855","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@andygev35/smart-detection-relay","version":"0.2.1","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.1","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"5b76efc51b22a35b893c55a76895eb8cd83e1d57","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.1.tgz","fileCount":15,"integrity":"sha512-WyZY/Bk4JNPianvDE61aoqM/moB/pmy/Pp3N19XETs5GKaja+CmZ3r3zY3yZwpIi3s0dPP76APIbUVoFWAhfoA==","signatures":[{"sig":"MEUCIEVkE8HaVIQOo8DxvqvDwp1qG3x9YSVKn67r545qA48bAiEAkVzGVTHLrHZ80CQA1NQIDcs3pJz117DRIb01UMIwx7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781878},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.1_1783168833884_0.5195579032533582","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@andygev35/smart-detection-relay","version":"0.2.2","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.2","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"1a8aaa6eda7c04ed004666d559d3bc4f273675ab","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.2.tgz","fileCount":15,"integrity":"sha512-WgntF49oo4v0ZEKyoJhbIBvlCmKJ5uWhWel652qlb7kWaQxEL/3GKHbB+SqtzZ5o/5Tq5fwk/DgPjudJH8gZvA==","signatures":[{"sig":"MEUCIQC0mhAIfwsqe2kOP3BeR4JQ/XzmKuX62Vjx3ZcKVGDUtwIgDdiOO8NHh9aN3GOkNFgDuDcPHK5TkzV6SEn52sN7CAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":794937},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"scrypted-changelog && WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.2_1783277585973_0.5484901653926713","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@andygev35/smart-detection-relay","version":"0.2.3","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.3","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"38a9470c9c2a2d5add091a3c3a3adc6d0c079b92","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.3.tgz","fileCount":12,"integrity":"sha512-zJmzaRihPUQ3WsscetMgBYEWeSp6OB28vSkfwvutV3wG/18Y+Vfn4Tt+fhXMEJlMsjfYLPtDwY3VDhPlMBsCng==","signatures":[{"sig":"MEYCIQCeyVH/wzwgv+0rg2LB+l8CHyhToNAEV4exV9evO5P9uwIhAI0XEw9kdmZC2Og/LflcLlsRBituo9/MDS3EGVW+Glal","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697197},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.3_1783278286962_0.6705657779047762","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@andygev35/smart-detection-relay","version":"0.2.4","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.4","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"7ebffb029f03dc36df7a1dabc67ce84bf8a0319b","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.4.tgz","fileCount":12,"integrity":"sha512-eB8FRp8CUh476RVmP2/MWZwrPyKQMLsH33+E5/TujAv14o7uGuoOv9eJzy/7/8zKe+RMxorsUt+QG0PdQL0Pcg==","signatures":[{"sig":"MEUCIEfnENTbtsVHSvzsU4lhJl/2RE/+qv2a469V2NnKVLsaAiEAq5PsraUBQi/pZZpTYI/qblOAFMSFcAh+ZpxdNK4SGmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697278},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.4_1783278678475_0.9140024790223029","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@andygev35/smart-detection-relay","version":"0.2.5","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.5","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"3a4e498f5cf3815a5217ad085f934834fdf7ba7e","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.5.tgz","fileCount":12,"integrity":"sha512-GBym/qx7TD9oCeFsU1PL0XP35AIABqkte4TXsp5dbeT+3Ow3s59Wy9YssO2qOAUA6qjIz/B0goXUb1JMfG+cTQ==","signatures":[{"sig":"MEQCIBb/jas7O9Zho2XgyAIH5lv8b1uox5wP4i9/iydC44EDAiAaQI8c8ofcRpCHPjvcsSFRPHD17P4BeBqXb9BYQykRwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696287},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.5_1783340609324_0.6395788591467186","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@andygev35/smart-detection-relay","version":"0.2.6","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.6","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"4e1f5b5d14aa4ea9184252ab9da8ef0e2cfb0ec1","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.6.tgz","fileCount":12,"integrity":"sha512-kOZ7lD2d4yjdGore4FaZz538u45EoiAyt5PsvqcMES3LTvfU37tEkBjmha5dnJIEsuFinpPXxLEuxqTSjtQ9Sg==","signatures":[{"sig":"MEYCIQCCqBY1yj/jQmzESJX1nG3NlyGKTLn25gjwWm3gPWbJ8QIhALYOpFSNZDrAcXcjin++SBFD6QU0FXw6p6lmXBSgkZxC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696504},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.6_1783341695704_0.9514944173976849","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@andygev35/smart-detection-relay","version":"0.2.7","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.7","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"f0fcbfcb77a10ed2cc3102930409bd4b1676af71","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.7.tgz","fileCount":12,"integrity":"sha512-yqjRetsVx0x8j36Uqq3TYaw+hNj2Ct3uf4qNSCQGaXCK5u0c8BYUgvUKsKdGm2J399kHS1KljrgTS17GnAxloQ==","signatures":[{"sig":"MEUCIQCxJYZFPcomfnmoUclD5gHEZNbdva4a/53vQ8NcmBfWKwIgMV4K9P2sduYIsMEFPY+kN5ME+zbRdwofMNn1g1NFOOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":744024},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.7_1783346722871_0.6721616405637181","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@andygev35/smart-detection-relay","version":"0.2.8","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.8","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"dist":{"shasum":"5f9356c15af003eddb471fab60679e1e547c7d79","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.8.tgz","fileCount":12,"integrity":"sha512-/o51upTyQ1otQhbCL7tJoXgOxbSmqH2ONujYkMWT7hDuVmOWiXY/LA8DN7vECt5fFP0dmm7Du7MVML2RndAl0A==","signatures":[{"sig":"MEUCICkkP7qHBT2tL+t+U3c1rvtJF31/m+f2UI3ldBM7IDOjAiEAwGXZWCiczf3jvEcuFvtyXB50y7RJAc4Rmueh44I4rWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750896},"gitHead":"ade34b7da67d806b200e036ee802920891dd723b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"_npmVersion":"11.17.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.8_1783350475751_0.845977958107784","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@andygev35/smart-detection-relay","version":"0.2.9","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.2.9","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"homepage":"https://github.com/andygev35/smart-detection-relay#readme","bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"dist":{"shasum":"3bf3a37757259be82ca67c4f9f127d4ad6e813ce","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.2.9.tgz","fileCount":12,"integrity":"sha512-bUq2BbYpH9Ow6zF+vWlYM9DZ5nBq4jvqvPHkG0XSRuM2MJTMLCRrN8F7hPPPpPF5+1TZzB4U9usrkzPjv5XJrQ==","signatures":[{"sig":"MEYCIQCEDMln2zwYzFVJaKdaZ+xgr/iDhezHRPbj2UsUyFYlqgIhAOTHC21/ClRsxZ/mDXgmvLE0WK5UrtJke6J7DDfxa5u+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":752914},"gitHead":"9cf20171ad22032697220c09fb8e0b46effba5b4","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"repository":{"url":"git+https://github.com/andygev35/smart-detection-relay.git","type":"git"},"_npmVersion":"11.18.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. No Home Assistant required; notifications are delivered entirely through t","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.2.9_1783515205998_0.8901587443786418","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@andygev35/smart-detection-relay","version":"0.3.0","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.3.0","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"homepage":"https://github.com/andygev35/smart-detection-relay#readme","bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"dist":{"shasum":"02e57545ea3b577bbc3f997329b90cdba3277bc1","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.3.0.tgz","fileCount":12,"integrity":"sha512-95rgmZZ7Fed+GoWUHRSOqk9EGdXgyLVgGG5YdFgbYRrmIlvQ4zA4LWYEkh5DliSU3iPMPQ+6+/VOfgPCIU11JA==","signatures":[{"sig":"MEQCIEupXFkz9ISkeTaH5lyrx2OP2jsCQ7Dt/p2SdjTt2NsKAiBhFbgvFHuX0hL2O+QIMthAUpB/5FK5NxsHocPlojLbcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":887501},"gitHead":"9cf20171ad22032697220c09fb8e0b46effba5b4","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"repository":{"url":"git+https://github.com/andygev35/smart-detection-relay.git","type":"git"},"_npmVersion":"11.18.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.3.0_1783955617016_0.19998021625322915","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@andygev35/smart-detection-relay","version":"0.3.1","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.3.1","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"homepage":"https://github.com/andygev35/smart-detection-relay#readme","bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"dist":{"shasum":"a661479d17086fc30065a580a52682ae0daffc40","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.3.1.tgz","fileCount":12,"integrity":"sha512-Zws/jV9yQwflfiEKvKOp7hjLRDiVh9W8DsJ22nIFqZBdlgmpJ1uUoeLOSpbMw9T1Ehjme4d0D5H5ceUb6MNI/A==","signatures":[{"sig":"MEUCIQDsLn3hiL6V+X3Qm2BQqJozYeFUR6Oy98iFN1x8kDIw5AIgbb2nG9UjZT4AleyhX2U/Pm25k8DNYM89C/VJh9vzocE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":893239},"gitHead":"8da5503ec2cf64fd48c3293200fc990db082368e","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"repository":{"url":"git+https://github.com/andygev35/smart-detection-relay.git","type":"git"},"_npmVersion":"11.18.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.3.1_1784036453723_0.9960365334029477","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@andygev35/smart-detection-relay","version":"0.4.0","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.4.0","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"homepage":"https://github.com/andygev35/smart-detection-relay#readme","bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"dist":{"shasum":"27a8267c60b62f16cbd07ba9e12300405a2af9e7","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.4.0.tgz","fileCount":12,"integrity":"sha512-bBMihqlnLga+cj8QsjvuIav19jX36mmfDzecniIFhxsqDTV3V7Yv1JjlRtxI7QU0nHWmW8n/FT31AGW1FNzOww==","signatures":[{"sig":"MEQCIHDkf1jgQe24UuYGvqYvCGfRNAu0op2gfqHwsDxqR8HiAiBTIrsPdP5NF3LgmzWyC/GHuE4Rfihk9ndyPhnbmZfUXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":958627},"gitHead":"c179317654a7135f92fdb711f7eabd220d10a51c","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"repository":{"url":"git+https://github.com/andygev35/smart-detection-relay.git","type":"git"},"_npmVersion":"11.18.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.4.0_1784557878013_0.6724406458798724","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@andygev35/smart-detection-relay","version":"0.4.1","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"license":"MIT","_id":"@andygev35/smart-detection-relay@0.4.1","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"homepage":"https://github.com/andygev35/smart-detection-relay#readme","bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"dist":{"shasum":"d3335ac1478b868e40c8512cc1a44dcc791f6168","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.4.1.tgz","fileCount":12,"integrity":"sha512-4Vvt/OSiGk4ZKZbHOqw6rIYQEVQAgB49d4VEXi3ZWYm8l/C6FUtOk6Ngy4gV/3zjiGDAJ6KloVWxBpZeIWxpBw==","signatures":[{"sig":"MEUCIQCJOwEnlkEUlUzDbYyidv+u45z+L4kMVs3cTnvJVrgauAIgVwX9GxqpkKdp/qd82a/Qxoj2JaMHIwr41YySlXZEVC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975943},"gitHead":"ffa8441d32df21e43837a377d09d7bba2bacf35b","scripts":{"build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-readme":"scrypted-readme","scrypted-changelog":"scrypted-changelog","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-package-json":"scrypted-package-json","scrypted-setup-project":"scrypted-setup-project","scrypted-vscode-launch":"scrypted-deploy-debug","prescrypted-setup-project":"scrypted-package-json","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack"},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"repository":{"url":"git+https://github.com/andygev35/smart-detection-relay.git","type":"git"},"_npmVersion":"11.18.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@scrypted/sdk":"^0.3.102"},"_npmOperationalInternal":{"tmp":"tmp/smart-detection-relay_0.4.1_1784561591108_0.8555521998283717","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@andygev35/smart-detection-relay","version":"0.5.0","license":"MIT","repository":{"type":"git","url":"git+https://github.com/andygev35/smart-detection-relay.git"},"bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"homepage":"https://github.com/andygev35/smart-detection-relay#readme","publishConfig":{"access":"public"},"scripts":{"scrypted-setup-project":"scrypted-setup-project","prescrypted-setup-project":"scrypted-package-json","build":"scrypted-webpack","prepublishOnly":"WEBPACK_DEVTOOL=nosources-source-map NODE_ENV=production scrypted-webpack","prescrypted-vscode-launch":"WEBPACK_DEVTOOL=nosources-source-map scrypted-webpack","scrypted-vscode-launch":"scrypted-deploy-debug","scrypted-deploy-debug":"scrypted-deploy-debug","scrypted-debug":"scrypted-debug","scrypted-deploy":"scrypted-deploy","scrypted-changelog":"scrypted-changelog","scrypted-package-json":"scrypted-package-json","scrypted-readme":"scrypted-readme"},"keywords":["scrypted","plugin","notification","detection","zones","nvr"],"scrypted":{"name":"Smart Detection Relay","type":"API","interfaces":["Settings","HttpRequestHandler"]},"devDependencies":{"@scrypted/sdk":"^0.3.102","@types/node":"^22.10.2"},"gitHead":"8321219548a7f7d113e039d4d5b21b63f608e66b","_id":"@andygev35/smart-detection-relay@0.5.0","description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","_nodeVersion":"26.4.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-1iJB7cNIHdQpjLESBJIc8I83dCyeTIxXqDHU9dvAR9Jyki07CmjZ00AgBSP9x2JTl+HT1TAkmNGg+xo783rIxQ==","shasum":"608c78bd419f59312b3672fb31565e5e633b7a66","tarball":"https://registry.npmjs.org/@andygev35/smart-detection-relay/-/smart-detection-relay-0.5.0.tgz","fileCount":14,"unpackedSize":1205229,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH+hbQDCI7Ah90L028S4g4QT5HUh3HnHjzPf897TTMhPAiEAys6kwHmYqpzpusIaKXTHZVPqMEr9nSae1+7HafT+7ko="}]},"_npmUser":{"name":"andygev35","email":"andygev35@gmail.com"},"directories":{},"maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smart-detection-relay_0.5.0_1786992779801_0.4360895981145163"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T20:19:40.649Z","modified":"2026-08-17T18:53:00.168Z","0.1.0":"2026-07-02T20:19:40.948Z","0.1.1":"2026-07-03T12:41:50.995Z","0.1.2":"2026-07-03T12:54:56.589Z","0.2.0":"2026-07-04T11:43:47.341Z","0.2.1":"2026-07-04T12:40:34.037Z","0.2.2":"2026-07-05T18:53:06.161Z","0.2.3":"2026-07-05T19:04:47.126Z","0.2.4":"2026-07-05T19:11:18.642Z","0.2.5":"2026-07-06T12:23:29.472Z","0.2.6":"2026-07-06T12:41:35.875Z","0.2.7":"2026-07-06T14:05:23.010Z","0.2.8":"2026-07-06T15:07:55.937Z","0.2.9":"2026-07-08T12:53:26.197Z","0.3.0":"2026-07-13T15:13:37.240Z","0.3.1":"2026-07-14T13:40:53.891Z","0.4.0":"2026-07-20T14:31:18.187Z","0.4.1":"2026-07-20T15:33:11.327Z","0.5.0":"2026-08-17T18:52:59.962Z"},"bugs":{"url":"https://github.com/andygev35/smart-detection-relay/issues"},"license":"MIT","homepage":"https://github.com/andygev35/smart-detection-relay#readme","keywords":["scrypted","plugin","notification","detection","zones","nvr"],"repository":{"type":"git","url":"git+https://github.com/andygev35/smart-detection-relay.git"},"description":"Routes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, wi","maintainers":[{"name":"andygev35","email":"andygev35@gmail.com"}],"readme":"# Smart Detection Relay\n\nRoutes Scrypted NVR's object-detection events to **Android TV overlays** and **phone push notifications** — with cropped thumbnails, snooze buttons, and tap-to-timeline deep links. Notifications are delivered through the native Scrypted SDK by default, with no third-party credentials required. Home Assistant and ntfy are both available as additional, fully optional notifiers. Home Assistant enabling lets you use HA-specific notification options (categories, icons, and a tap destination that opens Home Assistant's own Scrypted NVR timeline), and is the only case where this plugin stores Home Assistant credentials (a Home Assistant URL and Long-Lived Access Token, used solely to power snooze buttons on HA notifications). ntfy needs only a server URL and topic (and, optionally, an access token for a protected topic).\n\n[![npm version](https://img.shields.io/npm/v/@andygev35/smart-detection-relay.svg)](https://www.npmjs.com/package/@andygev35/smart-detection-relay)\n\n**Source & issues:** [github.com/andygev35/smart-detection-relay](https://github.com/andygev35/smart-detection-relay) — found a bug or have a feature request? [Open an issue](https://github.com/andygev35/smart-detection-relay/issues/new).\n\n## Requirements\n\n- **A Scrypted NVR license/subscription active on your Scrypted server.** This plugin relies entirely on Scrypted NVR's own object detection (bounding boxes, classes, scores) — it does not run its own detection model.\n- **Zones already defined on each camera you want to use**, via Scrypted's object detection settings for that camera. The plugin reads zone names directly from the camera; a rule can't match a zone that doesn't exist yet.\n- **TvOverlay installed and running on any Android/Google TV device(s)** you want overlays to appear on — only required if you use the TV overlay feature (it can be turned off entirely if you only want phone push). Install it from the [Google Play Store](https://play.google.com/store/apps/details?id=com.tabdeveloper.tvoverlay) on the TV itself; see the [TvOverlay GitHub repo](https://github.com/gugutab/TvOverlay) for its full REST API and setup docs.\n- **At least one Scrypted device implementing the `Notifier` interface**, for phone push — e.g. the native Scrypted app on your phone, linked via Scrypted Cloud. Only required if you use phone push (leave `Notify Services` empty if you only want TV overlays).\n- **Optional: Home Assistant**, if you want to use it as an additional notifier. Requires the [Scrypted Home Assistant plugin](https://github.com/scryptedapp/homeassistant) installed and configured (this syncs your HA `notify.` targets into Scrypted). For the \"Home Assistant\" tap destination and for snooze buttons on HA notifications, you'll also need a Scrypted Integration Token (from Home Assistant's own Scrypted custom component) and a Home Assistant URL + Long-Lived Access Token, respectively — see the Home Assistant Notifier section below. None of this is required if you only use the native Scrypted notifier.\n- **Optional: ntfy**, if you want to use it as an additional notifier. Just a Server URL and Topic (an [ntfy.sh](https://ntfy.sh) account isn't required — topics are created on the fly). If self-hosting, your server needs attachments enabled to receive thumbnails — see the ntfy Notifier section below.\n\n## Setup\n\n1. Install the plugin and open its settings.\n2. Under the **Cameras** tab, add a camera by picking it from the **Cameras** field - it appears as a chip, and a new tab named after that camera appears below.\n3. In that camera's tab, add a rule under **Rules**: type a name (e.g. \"Frontyard Person\") and press enter - it appears as a chip, and a settings section with that name appears below it.\n4. In that rule's section, pick a **Class Name** and **Zone** (zones populate automatically once the camera is selected), then set a **Score Threshold**. Optional filters (`Min Width/Height`, `Max X/Y`, `Fixed Crop`, `Critical Alert`) are available per rule.\n5. Repeat for each camera/rule you want. Remove a camera or rule at any time by removing its chip - this clears its settings. Each camera also has its own **Camera Enabled** switch, for turning detection off for just that camera without deleting its rules.\n6. Under the **Notifiers** tab, pick **Scrypted** for the native Scrypted app path (select which `Notifier` device(s) should receive phone push notifications), **Home Assistant** for the optional HA path (see the Home Assistant Notifier section below), and/or **ntfy** for the optional ntfy path (see the ntfy Notifier section below).\n7. Under the **TV Overlay** tab, enter the base URL(s) of your TvOverlay instance(s), comma-separated (e.g. `http://192.168.1.50:5001`).\n8. Adjust global options as needed — debounce, snooze durations (Android only, see below), bounding-box padding/crop ratio. Under the **Location** tab, Latitude/Longitude (used only for night-mode sunrise/sunset) are auto-detected from your server's public IP address on first install; use **Detect Location** to re-run that lookup anytime, or enter coordinates manually for more precision. **Clear Location** wipes both fields (night-mode-only cameras simply stop suppressing notifications until a location is set again).\n\n`Plugin Enabled` and `TV Overlay Enabled` are independent switches, both on by default: the former is a master kill switch for all detection processing, the latter only gates TV overlay delivery and can be left off if you're not using TvOverlay at all.\n\n## Home Assistant Notifier (optional)\n\nHome Assistant is not required, but can be enabled as an additional notifier under **Notifiers > Home Assistant**:\n\n- **Enabled** — toggle at the top of this tab. Turn off to pause the Home Assistant notifier without clearing anything below it.\n- **HA Notifier** — pick the HA-exposed `notify.` target (e.g. `mobile_app_yourphone`) to also receive phone push.\n- **Notification Category / Icon** — once an HA Notifier is selected, every detection rule (under that camera's own tab) gains optional **HA Notification Category** and **HA Notification Icon** fields, letting you assign a distinct notification channel/sound or a Material Design status-bar icon per rule.\n- **Tap Destination** — choose whether tapping an HA notification opens the Scrypted app (`nvr.scrypted.app`, the default) or Home Assistant's own Scrypted NVR timeline instead. The latter requires a **Scrypted Integration Token** (found in Home Assistant: open a camera's playback view, click the settings icon, and copy the token from the \"Integration URL\" shown there).\n- **Snooze buttons on HA notifications** require a **Home Assistant URL** and **Long-Lived Access Token** (generated from your HA profile → Security → Long-Lived Access Tokens). These power a direct connection this plugin opens to Home Assistant's own event stream so snooze taps are picked up immediately — no Home Assistant automation authoring, no MQTT broker.\n\nNone of these credentials are requested or stored unless you actually fill them in - the plugin works entirely without Home Assistant if you don't need it.\n\n## ntfy Notifier (optional)\n\n[ntfy](https://ntfy.sh) is not required, but can be enabled as an additional notifier under **Notifiers > ntfy**:\n\n- **Enabled** — toggle at the top of this tab. Turn off to pause ntfy without clearing your Server URL/Topic below it.\n- **Server URL** — `https://ntfy.sh` for the free public service, or your own self-hosted URL.\n- **Topic** — the ntfy topic to publish detections to. On a public server, anyone who knows the exact topic name can subscribe to it, so pick something hard to guess rather than something obvious.\n- **Access Token** (optional) — only needed for a protected topic or a self-hosted server with auth enabled.\n\nOnce ntfy is configured, each detection rule (under that camera's own tab) gains an optional **ntfy Priority** field (Min/Low/Default/High/Max) for controlling vibration/sound behavior per rule on Android (untested on iOS - ntfy's docs don't call out iOS-specific differences by priority). Left on \"Auto\" (the default), it falls back to the rule's existing **Critical Alert** setting instead (Critical → Max, otherwise Default).\n\nNotifications include the same cropped thumbnail, tap-to-timeline link, and snooze buttons as the other notifiers. A few things worth knowing:\n\n- **Self-hosted servers need attachments enabled to receive thumbnails.** If yours doesn't, notifications automatically fall back to text-only (title/tap/snooze still work) rather than failing outright — you'll see a warning in the log if this happens. To enable attachments, add `base-url` and `attachment-cache-dir` to your server's `server.yml` and restart the service. See [ntfy's attachments docs](https://docs.ntfy.sh/config/#attachments) for the full option list (size/expiry limits, etc.). On Windows, the config file defaults to `%ProgramData%\\ntfy\\server.yml`.\n- **Self-hosted servers may not push to iOS at all without extra config.** Apple requires push to go through APNs using a signing key only ntfy's own maintainers have, so a self-hosted server can't push directly to an iPhone — messages will still show up when you manually open the ntfy app, but no notification (lock screen or otherwise) arrives on its own. To fix this: add `upstream-base-url: \"https://ntfy.sh\"` to your server's `server.yml` and restart, **and** make sure the ntfy iOS app's own Settings → Default Server exactly matches your server's `base-url` (protocol, host, and port all have to match — a mismatch is a common cause of this same symptom persisting). If you instead start seeing generic \"New message\" notifications with no real content after this fix, that's a different, separate problem — your phone can reach ntfy.sh for the push nudge but not your own server afterward to fetch the actual message (a network/firewall/DNS issue reaching your server from outside your LAN).\n- **Only one snooze button shows in the pushed notification itself.** ntfy's Android app reserves two of its three available button slots for its own built-in \"Open\"/\"Browse\" actions whenever a notification has both an attachment and a tap-through link — this is a known ntfy client limitation, not something this plugin can control (see [ntfy issue #1641](https://github.com/binwiederhier/ntfy/issues/1641)). All configured snooze durations are still available and working, though — they're just accessible from within the ntfy app's own notification list rather than the push itself. Tapping the notification's title/body opens the Scrypted timeline; tapping the thumbnail image opens ntfy's own image preview.\n\nPer-rule notification category/icon customization (available for Home Assistant) isn't offered for ntfy — testing found neither has any effect in the ntfy client.\n\n## Features\n\n- **Chip-based settings UI** — add/remove cameras and rules as removable chips (the same pattern Scrypted's own built-in object detection settings use for zones); each addition reveals its own settings section automatically, no raw JSON editing.\n- **Organized settings tabs** — General, TV Overlay, Location, and Notifiers (with sub-tabs per notifier type) keep global options grouped by what they affect, instead of one long list.\n- **Optional Home Assistant notifier** — send to an HA `notify.` target alongside or instead of the native Scrypted app, with per-rule notification category/icon, a choice of tap destination (Scrypted app or Home Assistant's own NVR timeline), and working snooze buttons via a direct connection to HA's event stream. Entirely opt-in; no HA credentials are requested unless you configure it.\n- **Optional ntfy notifier** — send to any ntfy server (ntfy.sh or self-hosted) alongside the other notifiers, with the same thumbnail, tap-to-timeline, and snooze buttons, plus a per-rule Priority setting (Min/Low/Default/High/Max). Just a server URL and topic; no account required.\n- **Per-camera enable/disable** — each camera has its own `Camera Enabled` switch, independent of the global `Plugin Enabled` switch, for turning off just one camera's detections temporarily without losing its configured rules.\n- **Smart thumbnail cropping** — crops are centered on the detected subject and fit to a configurable aspect ratio (square by default), always growing to fully contain the subject rather than cropping into it.\n- **Snooze buttons (Android only)** — configurable durations, delivered as native notification actions; tapping one suppresses further notifications for that camera/class. On iOS, the Scrypted app uses its own fixed, built-in snooze action instead of these custom buttons - see Notes below.\n- **Tap-to-timeline** — tapping a notification opens directly to that detection's event in the Scrypted app.\n- **Per-rule critical alerts** — flag specific rules (e.g. a person at the front door) to send with a higher-priority alert tier.\n- **Night-mode-only cameras** — suppress notifications during the day for cameras where you only care about after-dark activity, based on sunrise/sunset for your configured location. Location is auto-detected from your server's public IP on first install (city-level accuracy), with a **Detect Location** button to re-run it and a **Clear Location** button to reset it.\n- **Debounce & duplicate suppression** — configurable per-camera/class cooldown, plus detection-ID deduplication.\n- **Multiple notify targets** — select any number of `Notifier` devices to push to simultaneously.\n\n## Notes\n\n- This plugin does not perform its own image analysis — it relies entirely on detection results and zone definitions already configured in Scrypted NVR.\n- If you rename a `Notifier` device in Scrypted, you'll need to reselect it under **Notify Services** — the dropdown is keyed on the device's display name for readability.\n- Plugin restarts reset in-memory debounce and snooze state.\n- **Snooze duration configuration only applies on Android.** The Scrypted iOS app doesn't render this plugin's custom snooze buttons at all - it substitutes its own fixed, built-in snooze action instead. Snoozing still works on iOS, but at whatever duration the Scrypted app itself hardcodes, not the `Snooze Durations` setting.\n- **Home Assistant credentials are opt-in.** The Scrypted Integration Token and Home Assistant URL/Long-Lived Access Token are only requested if you actually configure the Home Assistant Tap Destination or want HA snooze buttons - the plugin never asks for or stores them otherwise.\n- **ntfy attachments require server-side config.** A self-hosted ntfy server without `attachment-cache-dir` set will reject the thumbnail; notifications fall back to text-only automatically rather than failing. See the ntfy Notifier section above.\n\n## Issues & Contributing\n\nFound a bug, have a feature request, or hit unexpected behavior? Please [open an issue on GitHub](https://github.com/andygev35/smart-detection-relay/issues/new) rather than leaving an npm review — it's much easier to track and follow up on there. Include your Scrypted server version, camera/device type, and any relevant log output if you can.\n\nThe full source is available at [github.com/andygev35/smart-detection-relay](https://github.com/andygev35/smart-detection-relay). Pull requests are welcome, but please open an issue first to discuss any non-trivial change before putting in the work.\n","readmeFilename":"README.md"}