omp packages

pi-signal0.1.2

Simplified cockpit-style TUI for Pi agent workstreams, activated with /signal.

accolver Published 16 days ago MIT ~203 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-signal

A Pi extension that adds a simplified cockpit-style TUI for agent work.

pi-signal now carries the Pi Mode cockpit functionality. The old /pimode command is deprecated; use /signal instead.

Features

  • /signal toggles the cockpit UI on or off.
  • /signal off restores the native Pi UI pieces changed by the extension and clears the in-memory transcript.
  • Compact custom header, status panel, footer, and editor.
  • Tracked AI transcript panel below the editor.
  • Transcript keeps recent captured AI responses since activation or the last clear; tree navigation clears abandoned-branch capture.
  • Completion waits for Pi's final agent_settled boundary, including automatic retries and queued continuation. Model failures and aborts have distinct text states, separate from tool-error counts.
  • The cockpit is terminal-only. RPC receives a warning; JSON and print modes do not activate it.
  • Response panel dynamically resizes toward 60% of terminal height while leaving room for the rest of the cockpit.
  • Transcript display strips terminal control sequences, caps retained content, and caches wrapping work for long sessions.
  • ctrl+x transcript scroll mode with keyboard navigation.
  • Input box with side padding and rounded outer edges.
  • Hidden built-in working row and compact tool expansion while the cockpit is active.
  • Uses the public Pi extension API; it does not monkey-patch Pi internals.

Install

From this directory during development:

pi -e ./extensions/signal.ts

When the conventional installed Git copy exists, the checkout loading guard intentionally suppresses this local checkout to avoid duplicate commands. npm-installed paths are exempt, so a retained Git clone cannot suppress the registry package. For isolated validation, extract the tarball into a temporary package directory and load that path; /reload does not switch a live session from an installed copy to this checkout.

As an npm Pi package:

pi install npm:pi-signal

Or install directly from GitHub:

pi install git:github.com/accolver/pi-signal

Then restart Pi or run:

/reload

Usage

Toggle Pi Signal on or off (disabling also clears the in-memory transcript):

/signal

Explicitly disable it:

/signal off

Clear the transcript without disabling Pi Signal:

/signal clear

Toggle it:

/signal toggle

Keys

When Pi Signal is enabled:

  • ctrl+x enters transcript scroll mode.
  • In scroll mode: j/k line down/up, d/u page down/up, g top, G bottom.
  • esc, i, or ctrl+x exits scroll mode.

Captured transcript is transient: clear, disable, tree navigation, shutdown, or reload discards it. Signal does not reconstruct responses captured before activation or across session replacement.

Development and compatibility

Version 0.1.2 is checked against exact Pi 1.0.0 development packages; host packages remain optional wildcard peers and are not bundled. Preserve the npm lockfile and Node test runner:

npm ci --ignore-scripts
npm test
npm run check
npm pack --dry-run --ignore-scripts

A no-network Pi1 engine probe uses an extracted candidate package and local fixture responses only:

node scripts/pi1-runtime-probe.mjs /path/to/extracted/package

Current release, dependency, terminal QA, and red/green evidence is in .spec-to-ship/features/pi-1-compatibility/.

Package metadata

{
  "keywords": ["pi-package", "pi-extension"],
  "pi": {
    "extensions": ["./extensions/signal.ts"]
  }
}

License

MIT