{"_id":"@alexgorbatchev/pi-cmux-notify","name":"@alexgorbatchev/pi-cmux-notify","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alexgorbatchev/pi-cmux-notify","version":"1.0.0","description":"pi package for cmux notifications","scripts":{"test":"PI_OFFLINE=1 pi --no-extensions -e ./extensions/index.ts --list-models > /dev/null"},"author":{"name":"Alex Gorbatchev","email":"alex.gorbatchev@gmail.com"},"contributors":[{"name":"Javi Molina","email":"javimolina@fastmail.com"}],"license":"MIT","type":"module","keywords":["pi-package","pi","pi-coding-agent","cmux","terminal","notifications"],"homepage":"https://github.com/alexgorbatchev/pi-cmux-notify#readme","repository":{"type":"git","url":"git+https://github.com/alexgorbatchev/pi-cmux-notify.git"},"bugs":{"url":"https://github.com/alexgorbatchev/pi-cmux-notify/issues"},"publishConfig":{"access":"public"},"pi":{"extensions":["./extensions/index.ts"]},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"devDependencies":{"@mariozechner/pi-coding-agent":"*"},"gitHead":"b2ae510fa0f4a635fb12e5b5780cb6e02e144978","_id":"@alexgorbatchev/pi-cmux-notify@1.0.0","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-aPdoiVI2M2bV/30e+c/AR8IKSoC70pAkp8FDvS81A7HN8yJYfzFDM3rLkuRhHmd7hpEA7MYffUJIvVkzSrYcVA==","shasum":"083bd73521accd24abd32a148358837a7d286b85","tarball":"https://registry.npmjs.org/@alexgorbatchev/pi-cmux-notify/-/pi-cmux-notify-1.0.0.tgz","fileCount":4,"unpackedSize":15624,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGl4WmZImCEMRzGGK9ZUo9frfthHChooafyIkHIPPyKDAiEA9CcZrcusao6f3pjYVL/K5OPGZuh2rZuPBcd7C6DfjXc="}]},"_npmUser":{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"},"directories":{},"maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-cmux-notify_1.0.0_1774896995925_0.1122546578683199"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T18:56:35.805Z","1.0.0":"2026-03-30T18:56:36.069Z","modified":"2026-03-30T18:56:36.408Z"},"maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"description":"pi package for cmux notifications","homepage":"https://github.com/alexgorbatchev/pi-cmux-notify#readme","keywords":["pi-package","pi","pi-coding-agent","cmux","terminal","notifications"],"repository":{"type":"git","url":"git+https://github.com/alexgorbatchev/pi-cmux-notify.git"},"contributors":[{"name":"Javi Molina","email":"javimolina@fastmail.com"}],"author":{"name":"Alex Gorbatchev","email":"alex.gorbatchev@gmail.com"},"bugs":{"url":"https://github.com/alexgorbatchev/pi-cmux-notify/issues"},"license":"MIT","readme":"# @alexgorbatchev/pi-cmux-notify\n\n[pi](https://pi.dev) package for [cmux](https://cmux.com) notifications.\n\n## Why\n\nPi already knows what happened during a run. `@alexgorbatchev/pi-cmux-notify` turns that into\nterminal-native `cmux notify` alerts so you can notice when Pi is waiting, completed work, or ended\nin error.\n\n## Usage\n\nInstall with Pi:\n\n```bash\npi install npm:@alexgorbatchev/pi-cmux-notify\n```\n\nIf Pi is already running, reload extensions:\n\n```text\n/reload\n```\n\n## Included extension\n\n- `cmux-notify` — sends `cmux notify` alerts when Pi finishes a run\n\n## Notification behavior\n\nAll notifications use:\n- title: `Pi` by default\n- subtitle: current run state\n- body: a short summary of what Pi just did\n\nCurrent notification types:\n\n- `Waiting`\n  - sent when Pi finishes a short run and is waiting for input\n  - typical bodies:\n    - `Finished and waiting for input`\n    - `Reviewed README.md`\n    - `Reviewed 3 files`\n    - `Searched the codebase`\n\n- `Task Complete`\n  - sent when the run changed files, or when the run took at least the configured threshold\n  - typical bodies:\n    - `Updated package.json`\n    - `Updated 2 files`\n    - `Finished in 42s`\n    - `Updated 3 files in 1m 12s`\n\n- `Error`\n  - sent when the run itself ends in error or abort\n  - typical bodies:\n    - `read failed for config.json`\n    - `edit failed for README.md`\n    - `bash command failed`\n\nNotification bodies are summarized from the run itself:\n- changed files from `edit` and `write`\n- reviewed files from `read`\n- searches from `grep` and `find`\n- shell activity from `bash`\n- the final agent error, with the first tool failure used as a fallback summary when needed\n\n## Settings\n\nConfigure notifications in Pi settings instead of environment variables.\n\nGlobal settings live in `~/.pi/agent/settings.json`.\nProject settings live in `.pi/settings.json` and override global settings.\n\nUse this package-scoped key:\n\n```json\n{\n  \"@alexgorbatchev/pi-cmux-notify\": {\n    \"level\": \"all\",\n    \"thresholdMs\": 15000,\n    \"debounceMs\": 3000,\n    \"title\": \"Pi\"\n  }\n}\n```\n\nSupported fields:\n- `level` — `all`, `medium`, `low`, or `disabled` (default: `all`)\n- `thresholdMs` — duration threshold before a run is labeled `Task Complete` instead of `Waiting` (default: `15000`)\n- `debounceMs` — minimum delay between duplicate notifications (default: `3000`)\n- `title` — notification title override (default: `Pi`)\n\n`cmux` must be available in `PATH` for notifications to work. Pi uses the current\n`CMUX_WORKSPACE_ID` / `CMUX_SURFACE_ID` automatically when cmux is running.\n","readmeFilename":"README.md","_rev":"1-6d4f1e6ecd58dba52f0cca701d9ee9bb"}