@marckrenn/pi-sub-status

Compact status-line client for pi subscription usage

Package details

extension

Install @marckrenn/pi-sub-status from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@marckrenn/pi-sub-status
Package
@marckrenn/pi-sub-status
Version
1.5.0
Published
Mar 25, 2026
Downloads
66/mo · 16/wk
Author
marc_krenn
License
MIT
Types
extension
Size
25.5 KB
Dependencies
2 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./index.ts",
    "node_modules/@marckrenn/pi-sub-core/index.ts",
    "../pi-sub-core/index.ts"
  ]
}

Security note

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

README

sub-status

Compact status-line client for pi-coding-agent.

sub-status is a small passive companion to sub-core: it renders current quota usage via ctx.ui.setStatus(...), without widget UI, commands, or settings UI in v1.

On startup it follows the same bootstrap pattern as sub-bar, requests the current sub-core state, and then listens for sub-core:ready / sub-core:update-current to keep the compact line up to date. It stays deliberately quiet: no placeholder text when state is unavailable, and the status clears entirely when no usable usage snapshot exists.

Installation

Install via the pi package manager:

pi install npm:@marckrenn/pi-sub-status

Use -l to install into project settings instead of global:

pi install -l npm:@marckrenn/pi-sub-status

sub-status follows the same package metadata/bootstrap pattern as sub-bar: it depends on sub-core, declares the same extra extension paths in package metadata, and probes/auto-loads sub-core at runtime for resilience.

Relationship to the other packages

  • sub-core is the shared source of truth for provider detection, fetching, cache/state, and events.
  • sub-bar is the rich widget UI and remains the default visual package.
  • sub-status is an optional compact client for status-line-friendly and RPC-friendly hosts.

Installing sub-status alongside sub-bar is expected to be supported: sub-bar owns the rich widget, while sub-status owns a compact status line.

Current v1 scope

  • Shows windows only
  • Shows the first two windows only
  • Prefers reset descriptions when available, otherwise falls back to window labels
  • Shows percentages for each window
  • Appends compact stale / incident suffix text when relevant
  • Updates from sub-core startup/current-state events
  • Clears the status entirely when no usable current state exists

Not in v1

  • Commands
  • Settings UI
  • setWidget
  • ctx.ui.custom(...)
  • Provider/model labels in the compact line
  • Hybrid label + reset output in the compact line

Development

npm run check -w @marckrenn/pi-sub-status
npm run test -w @marckrenn/pi-sub-status