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

@lmzhen/dsh-evolution-threat

v0.26.26

Published

Write-time threat guard for evolution tools (community build)

Readme

@lmzhen/dsh-evolution-threat

Write-time threat guard for evolution tools: one monotonic tools.guard() scans the payload of every evolution write tool and refuses the call on a pattern hit. It registers no prompt or tool schema — a denial is its only model-visible effect.

Model surface

  • Model-visible: nothing of its own: a refused write is the only thing the model notices.
  • Prompt prefix / KV cache: unchanged by this package: family-level rules single-sourced in packages/README.md §"Model-visible prompt prefix and the KV cache".
  • Mount it? yes — the evolution-threat row, in evolution-host/evolution-all/one-click evolution-preset.

Configuration

  • enabled (default true): master switch; off installs no guard.
  • maxScanChars — 65536 — the scan window size in normalized characters. Legal range is >= 4097 — a smaller window cannot guarantee full-coverage scanning (the overlap floor is PATTERN_OVERLAP + 1 in evolution-core), so the schema rejects it at load and the assembly clamp falls back to the default. The whole text is always scanned in overlapping windows; this value is not a total cap.
  • threatExemptLabels (default []): pattern labels the deployment knows to be benign. The exemption surface is per config site: this guard row, the tool-skill-manage row, the evolution-commands row (its own SkillLibrary for the command write paths), the evolution-learning-graph row (its own SkillLibrary for the graph edit/delete write channel) and the memory store options each carry their OWN list and must be set separately. A label exempted only on the store side still blocks here.

Known limitations

  • No known durable consumer gaps at this time. Runtime contracts are covered by package and boundary tests.

Runtime invariant: No companion is published. The platform auto-assembles nothing and the family mounts no <pkg>/invariant cordis row, so a companion here would never execute (v37 S2.1 / I-3).

Notes and history

  • P2-4 (v14) closed the store-vs-guard asymmetry for the STORE gates (SkillLibrary/MemoryStore options)
  • (v17 audit: the evolution-commands site was missing from this enumeration; the evolution-learning-graph site was missing from it as well.)