{"_id":"@aefree/pi-qmk-led-notifier","_rev":"3-9d082a469b745345c6821be260abe177","name":"@aefree/pi-qmk-led-notifier","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.4":{"name":"@aefree/pi-qmk-led-notifier","version":"0.1.4","keywords":["pi-package","qmk","keyboard","notification"],"license":"MIT","_id":"@aefree/pi-qmk-led-notifier@0.1.4","maintainers":[{"name":"aefree","email":"aaron@secretcrush.net"}],"homepage":"https://github.com/aefreedman/pi-qmk-led-notifier#readme","bugs":{"url":"https://github.com/aefreedman/pi-qmk-led-notifier/issues"},"pi":{"extensions":["./extensions/qmk-led-notifier.ts"]},"dist":{"shasum":"b68df3a0e11a76697d5f2564a40651263207cce6","tarball":"https://registry.npmjs.org/@aefree/pi-qmk-led-notifier/-/pi-qmk-led-notifier-0.1.4.tgz","fileCount":10,"integrity":"sha512-mNMJSGqEXIsuJVBnrQ+xLJa342gCwEyQBCqgzPdHoDQ7ORIGbql0mH3xpRN9VC3RHEeClXEjHhZqXGwTcNij/A==","signatures":[{"sig":"MEUCIQCxGtIYCwL9mO5/Gga/At/YRmEkvKSiokRk1Er4iwgR0wIgFNNZKu6LPj9LZskdrz1mfS9GJmqmrbhVTZ+oUOqyraM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41614},"type":"module","gitHead":"9a99214043f4eca5d6c5e6ab7dd060055a0c4160","scripts":{"test":"node --test tests/python-settings.test.mjs"},"_npmUser":{"name":"aefree","email":"aaron@secretcrush.net"},"repository":{"url":"git+https://github.com/aefreedman/pi-qmk-led-notifier.git","type":"git"},"_npmVersion":"11.6.2","description":"Pi notifier package for QMK LED status notifications.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-qmk-led-notifier_0.1.4_1786018103187_0.9020306656678412","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aefree/pi-qmk-led-notifier","version":"0.1.5","keywords":["pi-package","qmk","keyboard","notification"],"license":"MIT","_id":"@aefree/pi-qmk-led-notifier@0.1.5","maintainers":[{"name":"aefree","email":"aaron@secretcrush.net"}],"homepage":"https://github.com/aefreedman/pi-qmk-led-notifier#readme","bugs":{"url":"https://github.com/aefreedman/pi-qmk-led-notifier/issues"},"pi":{"extensions":["./extensions/qmk-led-notifier.ts"]},"dist":{"shasum":"d5c8024b98d9a0eaef4978991005e0d9c626917d","tarball":"https://registry.npmjs.org/@aefree/pi-qmk-led-notifier/-/pi-qmk-led-notifier-0.1.5.tgz","fileCount":10,"integrity":"sha512-DYGo4SiLza4QVo1qSTgHalIJ4+w7dnSGyh69FLWMsLwnWgiZ/6aKO0FqXGT6xysXzmP0I6vKaYSXRjJtocYddw==","signatures":[{"sig":"MEYCIQCkqZgfU7XCIHxT4sXcGCcs3JNAOQ0KjG5T37LIhOcz4AIhAIcgcfYbgpb6Va5UPqNP1BgMYqS97AlMsV0SuxLcsabe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCJZ+osulLtF/OfY+JQmwnkOpajEWKxhGR/J3/oo8wfXQIgZPreI+uLpEJD2J7Um6zMEZBV2cEB+vMmlblv86ftNyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aefree%2fpi-qmk-led-notifier@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41178},"type":"module","gitHead":"3a71a14ef2ea2603386e69efadd5a3f52e1e91e1","scripts":{"test":"node --test tests/python-settings.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4836945-a096-45c6-9e6c-c77a3a8c2b41"}},"repository":{"url":"git+https://github.com/aefreedman/pi-qmk-led-notifier.git","type":"git"},"_npmVersion":"11.19.1","description":"Pi notifier package for QMK LED status notifications.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-coding-agent":"0.86.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-qmk-led-notifier_0.1.5_1789915620983_0.3578894340417762","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"pi":{"extensions":["./extensions/qmk-led-notifier.ts"]},"_id":"@aefree/pi-qmk-led-notifier@0.1.6","bugs":{"url":"https://github.com/aefreedman/pi-qmk-led-notifier/issues"},"dist":{"shasum":"10903383dbe48a144b9e1374f23a29c05eb1c581","tarball":"https://registry.npmjs.org/@aefree/pi-qmk-led-notifier/-/pi-qmk-led-notifier-0.1.6.tgz","fileCount":10,"integrity":"sha512-Y43u2xK6evcdTeoWPlBON5wDGr0KnCMNftdB2NhPd7gqlrh9VKqDYimgCdp5oeooKcRwZel0aGGGTPxbA6rKGw==","signatures":[{"sig":"MEQCIALIQmT70Vc0GtMgk3AGkLUUycp1fTgbITkWAOj/9SgrAiAiISZ/pzq6cduG0X2JrtjQlEA3xbRSMkAPzoFg4XogCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDWKaI1WImwevb2xXsURn9JGcIg33OGv89163fzSNscvAIgbQMaz5zpiNApgsON86IvYXh8Qiiru15GUZ1GPoaPkpY="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aefree%2fpi-qmk-led-notifier@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41178},"name":"@aefree/pi-qmk-led-notifier","type":"module","gitHead":"450876e22f387968c43590a7606ef18619710aea","license":"MIT","scripts":{"test":"node --test tests/python-settings.test.mjs"},"version":"0.1.6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4836945-a096-45c6-9e6c-c77a3a8c2b41"}},"homepage":"https://github.com/aefreedman/pi-qmk-led-notifier#readme","keywords":["pi-package","qmk","keyboard","notification"],"repository":{"url":"git+https://github.com/aefreedman/pi-qmk-led-notifier.git","type":"git"},"_npmVersion":"11.19.1","description":"Pi notifier package for QMK LED status notifications.","directories":{},"maintainers":[{"name":"aefree","email":"aaron@secretcrush.net"}],"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-qmk-led-notifier_0.1.6_1790020848456_0.9661403338258472"}}},"time":{"created":"2026-08-06T12:08:22.993Z","modified":"2026-09-21T20:00:48.948Z","0.1.4":"2026-08-06T12:08:23.336Z","0.1.5":"2026-09-20T14:47:01.058Z","0.1.6":"2026-09-21T20:00:48.562Z"},"bugs":{"url":"https://github.com/aefreedman/pi-qmk-led-notifier/issues"},"license":"MIT","homepage":"https://github.com/aefreedman/pi-qmk-led-notifier#readme","keywords":["pi-package","qmk","keyboard","notification"],"repository":{"url":"git+https://github.com/aefreedman/pi-qmk-led-notifier.git","type":"git"},"description":"Pi notifier package for QMK LED status notifications.","maintainers":[{"name":"aefree","email":"aaron@secretcrush.net"}],"readme":"# Pi QMK LED Notifier\n\nPi package that flashes a configured QMK RAW HID keyboard notification profile when Pi finishes a reply.\n\n## Behavior\n\nThe notifier classifies reply completion into broad categories:\n\n- normal reply\n- likely question / input-needed reply\n- reply with tool error\n- reply with assistant/session error\n\nIt then runs the bundled `scripts/qmk-led-notify.py` helper using the configured color/duration profile.\n\n## Files\n\n- `extensions/qmk-led-notifier.ts`\n- `qmk-notifier.settings.json`\n- `qmk-notifier.settings.md`\n- `scripts/qmk-led-notify.py`\n\n## Configuration\n\nPreferred environment variables:\n\n- `PI_QMK_NOTIFY_ENABLED`\n- `PI_QMK_NOTIFY_DRY_RUN`\n- `PI_QMK_NOTIFY_TIMEOUT_MS`\n- `PI_QMK_NOTIFY_PYTHON_EXE`\n- `PI_QMK_NOTIFY_PYTHON_ARGS` (a JSON array, such as `[\"-I\"]` or `[]`)\n\nThe following environment variable aliases are also accepted:\n\n- `OC_QMK_NOTIFY_ENABLED`\n- `OC_QMK_NOTIFY_DRY_RUN`\n- `OC_QMK_NOTIFY_TIMEOUT_MS`\n\nSee `qmk-notifier.settings.md` for settings-file details.\n\n## Install\n\nRecommended as a global package.\n\nFrom npm:\n\n```bash\npi install @aefree/pi-qmk-led-notifier\n```\n\nFrom GitHub:\n\n```bash\npi install git:https://github.com/aefreedman/pi-qmk-led-notifier.git\n```\n\nLocal development install:\n\n```bash\npi install <path-to-pi-qmk-led-notifier>\n```\n\n## Requirements\n\n- A QMK keyboard/firmware setup that supports the bundled RAW HID notifier workflow\n- Python and the `hidapi` package\n\nThe notifier defaults to `py -3` on Windows and `python3` with no launcher arguments on macOS/Linux.\n\n### Windows setup\n\n```powershell\npy -3 -m pip install --user hidapi\npy -3 scripts/qmk-led-notify.py --list\n```\n\n### macOS setup\n\nInstall Python 3 if `python3` is not already available. A dedicated virtual environment avoids externally-managed Python restrictions:\n\n```bash\npython3 -m venv \"$HOME/.local/share/pi-qmk-led-notifier/venv\"\n\"$HOME/.local/share/pi-qmk-led-notifier/venv/bin/python\" -m pip install hidapi\n\"$HOME/.local/share/pi-qmk-led-notifier/venv/bin/python\" scripts/qmk-led-notify.py --list\nexport PI_QMK_NOTIFY_PYTHON_EXE=\"$HOME/.local/share/pi-qmk-led-notifier/venv/bin/python\"\n```\n\nPersist the environment override in the shell configuration used to launch Pi. See `qmk-notifier.settings.md` for interpreter and launcher-argument details.\n\n## License\n\nMIT. See `LICENSE`.\n","readmeFilename":"README.md"}