{"_id":"@arvoretech/pi-elevenlabs-stt","_rev":"8-41c5a815469be2cc70cd6f600a187294","name":"@arvoretech/pi-elevenlabs-stt","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@arvoretech/pi-elevenlabs-stt","version":"1.0.0","keywords":["pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-elevenlabs-stt@1.0.0","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"f3015bc0752eb1a1615599534b74bd21d30a6e1e","tarball":"https://registry.npmjs.org/@arvoretech/pi-elevenlabs-stt/-/pi-elevenlabs-stt-1.0.0.tgz","fileCount":10,"integrity":"sha512-fUcNrNinIB1YquasEUmUwi6HQ+Z7gcK+iGFX8XvNVBIRLkN12bk4f61J120boEy3Q4rPKgC2MKchj8S4d9HZNg==","signatures":[{"sig":"MEYCIQCB+JkybSOhNt/wDDx8sOWZN2t4ZOhA5PUVA35YxP9+LgIhAJgWu3V34hiMIVkHTQfNyMvdpPSdRYilAQ/L6TU3Ln9s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30506},"main":"dist/index.js","type":"module","_from":"file:arvoretech-pi-elevenlabs-stt-1.0.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},"_resolved":"/tmp/69ee191c4d17bdb1c0bc06ca56b8e84d/arvoretech-pi-elevenlabs-stt-1.0.0.tgz","_integrity":"sha512-fUcNrNinIB1YquasEUmUwi6HQ+Z7gcK+iGFX8XvNVBIRLkN12bk4f61J120boEy3Q4rPKgC2MKchj8S4d9HZNg==","repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/elevenlabs-stt"},"_npmVersion":"11.13.0","description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","directories":{},"_nodeVersion":"26.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"@earendil-works/pi-tui":">=0.74.0","@earendil-works/pi-coding-agent":">=0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-elevenlabs-stt_1.0.0_1780957260463_0.4599625002357579","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arvoretech/pi-elevenlabs-stt","version":"1.0.1","keywords":["pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-elevenlabs-stt@1.0.1","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"ef67f1104f151a1bd076b60ae166a1bf878ff47f","tarball":"https://registry.npmjs.org/@arvoretech/pi-elevenlabs-stt/-/pi-elevenlabs-stt-1.0.1.tgz","fileCount":10,"integrity":"sha512-e6+u3J94Gm23boTW1ZmqxQXRCficB2F5Xzppcj53FOuAjUfUhVaaSFn/k8zyVobOsi/niVwRPEfxMJx8PWQ/ww==","signatures":[{"sig":"MEQCIDHBSi2K5kGZe71ilG1TryHbj5xwRG9oIzWbPPQPUqNTAiB1eaqi6HU4iW4Y513RXkCbM2JuNvOJN7sLcVuHLuJiiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-elevenlabs-stt@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30601},"main":"dist/index.js","type":"module","_from":"file:/tmp/arvoretech-pi-elevenlabs-stt-1.0.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc68bfdd-a20c-4795-bdb9-4cd283948174"}},"_resolved":"/tmp/arvoretech-pi-elevenlabs-stt-1.0.1.tgz","_integrity":"sha512-e6+u3J94Gm23boTW1ZmqxQXRCficB2F5Xzppcj53FOuAjUfUhVaaSFn/k8zyVobOsi/niVwRPEfxMJx8PWQ/ww==","repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/elevenlabs-stt"},"_npmVersion":"11.16.0","description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"@earendil-works/pi-tui":">=0.74.0","@earendil-works/pi-coding-agent":">=0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-elevenlabs-stt_1.0.1_1781012189279_0.3794369167675302","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arvoretech/pi-elevenlabs-stt","version":"1.0.2","keywords":["pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-elevenlabs-stt@1.0.2","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"44cd8666594b875878d9f5753b2c60c20bf1dd48","tarball":"https://registry.npmjs.org/@arvoretech/pi-elevenlabs-stt/-/pi-elevenlabs-stt-1.0.2.tgz","fileCount":10,"integrity":"sha512-pUbnuW+cS9z/snpAqsehlkwpItFPmQvOxfT0WEuQmx9QJAWfbZ4KkZHTAbbRT+i/OEGoYqlh6j818i0S10wCEQ==","signatures":[{"sig":"MEQCIC52AUP5GHy8vDaVDuTvzH5xs99RlaJEryIyYnrp7coZAiAyqCMEsdUMs5qkoQXFIMJJhDu0ocmP5q1ZdzS4qpucoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-elevenlabs-stt@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30664},"main":"dist/index.js","type":"module","_from":"file:/tmp/arvoretech-pi-elevenlabs-stt-1.0.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc68bfdd-a20c-4795-bdb9-4cd283948174"}},"_resolved":"/tmp/arvoretech-pi-elevenlabs-stt-1.0.2.tgz","_integrity":"sha512-pUbnuW+cS9z/snpAqsehlkwpItFPmQvOxfT0WEuQmx9QJAWfbZ4KkZHTAbbRT+i/OEGoYqlh6j818i0S10wCEQ==","repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/elevenlabs-stt"},"_npmVersion":"11.17.0","description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"@earendil-works/pi-tui":">=0.74.0","@earendil-works/pi-coding-agent":">=0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-elevenlabs-stt_1.0.2_1781298435049_0.4750834460325617","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@arvoretech/pi-elevenlabs-stt","version":"1.0.3","keywords":["pi-package","pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-elevenlabs-stt@1.0.3","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"597a922bb35a631f6a3ebfefec400f95f7c12793","tarball":"https://registry.npmjs.org/@arvoretech/pi-elevenlabs-stt/-/pi-elevenlabs-stt-1.0.3.tgz","fileCount":10,"integrity":"sha512-L0jqTWgbyGFqOKIy89DWRhq83JV8CzVEw+jTKEbUZS3gN8S5YhSDZnP1qImu1Y1o+9Gm7c017WmlhZaRKq1Awg==","signatures":[{"sig":"MEQCIBXNgkzQA3WOL+3HnXaMM3gi2FeESv5o/fkcL3mn7/qdAiBQAFjAptM4U9HeGWprSo5xUp1qJhqCoz26Uht/10I3Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-elevenlabs-stt@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30682},"main":"dist/index.js","type":"module","_from":"file:/tmp/arvoretech-pi-elevenlabs-stt-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc68bfdd-a20c-4795-bdb9-4cd283948174"}},"_resolved":"/tmp/arvoretech-pi-elevenlabs-stt-1.0.3.tgz","_integrity":"sha512-L0jqTWgbyGFqOKIy89DWRhq83JV8CzVEw+jTKEbUZS3gN8S5YhSDZnP1qImu1Y1o+9Gm7c017WmlhZaRKq1Awg==","repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/elevenlabs-stt"},"_npmVersion":"11.17.0","description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"@earendil-works/pi-tui":">=0.74.0","@earendil-works/pi-coding-agent":">=0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-elevenlabs-stt_1.0.3_1782216704527_0.2140038448447148","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arvoretech/pi-elevenlabs-stt","version":"1.1.0","description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","main":"dist/index.js","types":"dist/index.d.ts","type":"module","peerDependencies":{"@earendil-works/pi-coding-agent":">=0.74.0","@earendil-works/pi-tui":">=0.74.0"},"devDependencies":{"@earendil-works/pi-coding-agent":"latest","@earendil-works/pi-tui":"latest","@types/node":"^20.10.0","typescript":"^5.3.0"},"pi":{"extensions":["./dist/index.js"]},"keywords":["pi-package","pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/elevenlabs-stt"},"author":{"name":"Arvore"},"license":"MIT","scripts":{"build":"tsc","dev":"tsc --watch","lint":"tsc --noEmit"},"_id":"@arvoretech/pi-elevenlabs-stt@1.1.0","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","_integrity":"sha512-kIw/cFjrmoBdPgNPKD2bdnh/qX3xAxmYCP0kdL/7l+wHWqSYpF6CrFO5faE3Ve6v5WubPHa3fPKEN6GXtxwRvA==","_resolved":"/tmp/arvoretech-pi-elevenlabs-stt-1.1.0.tgz","_from":"file:/tmp/arvoretech-pi-elevenlabs-stt-1.1.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-kIw/cFjrmoBdPgNPKD2bdnh/qX3xAxmYCP0kdL/7l+wHWqSYpF6CrFO5faE3Ve6v5WubPHa3fPKEN6GXtxwRvA==","shasum":"4ac5730c2e0b133c051a4b95c88492a3ca1cea6a","tarball":"https://registry.npmjs.org/@arvoretech/pi-elevenlabs-stt/-/pi-elevenlabs-stt-1.1.0.tgz","fileCount":10,"unpackedSize":31002,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-elevenlabs-stt@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDz2rZRqCBfGqq3su2oN30F1V2cOf6a9qc7jJWYbSbiHAIhALD+TmICJDRD3xxaOp2aTXgYcPbaGZfMK0/+5a7sExPn"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc68bfdd-a20c-4795-bdb9-4cd283948174"}},"directories":{},"maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-elevenlabs-stt_1.1.0_1782217851996_0.16934518437206147"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-08T22:21:00.249Z","modified":"2026-06-23T12:30:52.664Z","1.0.0":"2026-06-08T22:21:00.619Z","1.0.1":"2026-06-09T13:36:29.406Z","1.0.2":"2026-06-12T21:07:15.183Z","1.0.3":"2026-06-23T12:11:44.640Z","1.1.0":"2026-06-23T12:30:52.161Z"},"bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"author":{"name":"Arvore"},"license":"MIT","homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","keywords":["pi-package","pi","extension","speech-to-text","transcription","elevenlabs","scribe","push-to-talk"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/elevenlabs-stt"},"description":"PI extension for push-to-talk speech-to-text using the ElevenLabs Scribe API","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"readme":"# @arvoretech/pi-elevenlabs-stt\n\nPI extension for push-to-talk speech-to-text using the [ElevenLabs Scribe](https://elevenlabs.io/docs/api-reference/speech-to-text/convert) API.\n\n## What it does\n\nRegisters a keyboard shortcut that toggles microphone recording. Press once to start recording from your default mic, press again to stop and transcribe. The resulting text is appended to the editor input.\n\n- **First press**: starts recording from the selected microphone via `ffmpeg` (shows `🎙 recording` in the footer).\n- **Second press**: stops recording, sends the audio to ElevenLabs Scribe, and inserts the transcript at the cursor (`⏳ transcribing…`).\n\nThe transcript is inserted via the editor's paste pipeline (`pasteToEditor`), so it composes with custom editors such as [pi-vim](https://www.npmjs.com/package/pi-vim) instead of overwriting the input buffer. With a modal editor, dictate while in insert mode — text is inserted at the cursor and the editor's mode/cursor state is preserved.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/stt-devices` | List available microphone inputs and select one. The active device is marked with `✓`; the system default is marked `(default)`. |\n| `/stt-device-clear` | Reset back to the system default microphone. |\n\nThe selected device is persisted in the session and restored on `--resume`.\n\n## Requirements\n\n- [`ffmpeg`](https://ffmpeg.org/) on `PATH` (used to capture microphone audio).\n- An ElevenLabs API key exported as `ELEVENLABS_API_KEY`.\n\nThe extension auto-detects the audio input backend:\n\n| Platform | Backend |\n|----------|---------|\n| macOS | `avfoundation` |\n| Linux (PulseAudio / PipeWire) | `pulse` |\n| Linux (ALSA only) | `alsa` |\n\n## Configuration\n\n| Env var | Default | Description |\n|---------|---------|-------------|\n| `ELEVENLABS_API_KEY` | — | **Required.** ElevenLabs API key used for transcription. |\n| `ELEVENLABS_STT_SHORTCUT` | `ctrl+alt+t` (Linux/Windows), `ctrl+alt+r` (macOS) | Keyboard shortcut that toggles recording. On macOS, `alt` is the Option key. Avoid `super` (Cmd) — terminals usually don't forward it to pi. |\n\n> Some terminals and window managers reserve `ctrl+alt+t` / `ctrl+cmd+t`. If the shortcut doesn't reach pi, set `ELEVENLABS_STT_SHORTCUT` to another combination (e.g. `alt+t`, `ctrl+alt+r`).\n\n## Privacy\n\nRecorded microphone audio is sent to the ElevenLabs API for transcription. Recordings are written to a temporary file and deleted immediately after transcription (and on session shutdown). Nothing else is stored.\n\n## Notes\n\n- Recordings shorter than 400ms are ignored.\n- Uses the `scribe_v2` model with automatic language detection.\n- Requires interactive (TUI) mode for the shortcut and editor insertion.\n","readmeFilename":"README.md"}