herdr-signal-translator

Bridge Pi UI prompt events to Herdr blocked state from validated JSON settings.

Packages

Package details

extension

Install herdr-signal-translator from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:herdr-signal-translator
Package
herdr-signal-translator
Version
0.1.0
Published
Oct 5, 2026
Downloads
180/mo · 11/wk
Author
abhishek944
License
unknown
Types
extension
Size
5.5 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Herdr signal translator

A small Pi extension that reports blocking Pi UI prompts to Herdr's Pi integration without changing permission decisions or editing Herdr's managed extension.

Install

pi install npm:herdr-signal-translator
cp ~/.pi/agent/npm/node_modules/herdr-signal-translator/config.example.json ~/.pi/agent/herdr-signal-translator.json

Restart Pi after installing. If switching from a local installation, first remove its package entry with pi remove ~/Documents/pi-extensions/herdr-signal-translator; this preserves the local source folder. Do not also load the local package or index.ts separately, or Herdr's block counter may receive duplicate signals.

Settings

Pi reads <getAgentDir()>/herdr-signal-translator.json at each session start, including reload. An absent file disables the translator; malformed files produce a warning and disable it for that session. The only allowed mapping today is ui_prompt_start/ui_prompt_end to herdr:blocked; label is a nonempty string of at most 100 characters. This allowlist keeps configuration from emitting arbitrary Pi events. Edit the user file to change the label, then /reload Pi.

The translator only reports prompts that begin during an active agent run in a Herdr-hosted Pi TUI (HERDR_ENV=1 with Herdr pane/socket settings). Once reported, closing that prompt or ending the session releases the block. Pi's native prompt events cover ctx.ui.select, confirm, input, editor, and custom; non-UI waits are not covered. No external network calls or permission approvals are made by this extension.

Do not enable this mapping alongside a Herdr integration version that already reports native Pi UI prompts as blocked, or Herdr's block count may be doubled. Disable it by removing the user settings file and reloading Pi. Uninstall with pi remove npm:herdr-signal-translator.

Publish

From this package directory, inspect the payload and publish:

npm pack --dry-run
npm publish

The manifest sets public access. The package includes the extension, example settings, README, and package manifest; local var/ files and personal settings are excluded.