npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pi-harness/plugin-history-compressor

v0.1.33

Published

Compact the current Pi session automatically when context usage approaches a configured threshold.

Readme

@pi-harness/plugin-history-compressor

History Compressor — Compact the current Pi session automatically when context usage approaches a configured threshold.

Install

npm install --save-exact @pi-harness/plugin-history-compressor

Enable

Add the entry to the Cordis profile the harness starts from:

- id: history-compressor
  name: "@pi-harness/plugin-history-compressor"
  config: {}

The Pi Harness plugin marketplace installs and enables this package for you; the steps above are the manual equivalent.

Scheduling and cancellation

thresholdPercent defaults to 85 and is clamped to 1–100. After an agent run reports usage at or above the threshold, automatic compaction waits for the authoritative agent_settled event instead of interrupting the turn. It rechecks current usage at settlement and drops the queued request if another operation already reduced the context. Set enabled: false to disable only automatic threshold compaction.

compress_history requires exactly { "confirm": true } because native model-backed compaction can make multiple provider requests and incur usage or cost. Unknown, accessor-backed, and otherwise malformed runtime parameters are rejected before compaction. Explicit requests remain unconditional after a busy turn settles. The panel reports the active session ID, latest observed usage, queued state, successful plugin-owned compactions, and a bounded error. These metrics are stored separately for each runtime session and session ID; switching sessions starts with clean panel metrics, while late completion or failure from an old session updates only that old session's state. The web client rejects a retained panel snapshot whose session ID does not match the active session.

Caller cancellation, plugin disposal, and detected session replacement return promptly and use the SDK's dedicated compaction abort. The native Promise keeps the session-level single-flight slot until it actually settles, so a provider that ignores cancellation cannot permit overlapping compactions. History Compressor, Session Insights, and Context Doctor share that per-session slot; a request made while another plugin owns it reports that compaction is already running. A late SDK compaction_start event re-applies cancellation when its controller did not exist at the first abort request.