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

@buberlo/dsh-jev

v0.1.4

Published

Jev-powered decision layer plugin for DeepSeek Harness

Readme

@buberlo/dsh-jev

The Jev decision layer plugin and bundle for DeepSeek Harness (DSH).

DSH plans, calls tools, and runs them. Jev makes the small, fast decisions in between — and this plugin maps those decisions onto supported DSH behavior. It can only narrow or gate, never widen a permission.

pre-step  ──▶ Jev: which tools are relevant?   ──▶ tools.restrict
tool call ──▶ Jev: is this call safe to run?   ──▶ ask / hold / deny
result    ──▶ deterministic loop guard (no model)
request   ──▶ Jev: which configured model?     ──▶ verified route

Install

dsh plugin --profile <name> add @buberlo/dsh-jev
dsh --profile <name> --dump-config   # shows the "# == @buberlo/dsh-jev" layer

The bundle inserts one row; defaults are provider: mock + mode: shadow: deterministic, offline, and behavior-neutral.

Configure

- id: jev
  name: '@buberlo/dsh-jev'
  config:
    provider: mock            # mock | live
    mode: shadow              # off | shadow | enforce
    selection:                # dynamic tool preselection
      enabled: true
      alwaysAllow: [read_file]
      categories:
        files: 'Reading or writing workspace files'
        tests: 'Running or inspecting tests'
      toolCategories:
        read_file: [files]
        run_tests: [tests]
    assessment:               # per-call semantic check
      enabled: true
      onFailure: ask          # ask | hold  (never an allow)
    skills:
      enabled: true
    modelRouting:
      enabled: false
      routes:
        fast: { provider: deepseek-official, model: deepseek-v4-flash }
        reasoning: { provider: deepseek-official, model: deepseek-v4-pro }

Live API — two explicit settings, never implicit:

    provider: live
    mode: shadow              # live + shadow still transmits state
    apiKey: !!js process.env.TYPESAFE_API_KEY

Web client

In a web/desktop profile the bundle ships a configuration page on the Plugins page: provider, live mode selector, a write-only API key field, and the five feature toggles. Writes go to the host settings document and reconfigure the running service immediately.

What it does

| Extension point | Decision | |---|---| | agent/pre-step | tool selection across independent categories; scoped tools.restrict, recomputed every turn | | tools/pre-execute | call assessment: task fit, missing information, explicit restriction conflict | | tools/result + tools/guard | bounded loop detection; identical repeated calls are denied | | agent/request | model routing to a configured route, only when verified available | | ctx.skills | at most one skill hint per turn; bodies are never auto-loaded |

Guarantees

  • No implicit live access. provider: live without an explicit key fails at plugin load.
  • No model-derived permissions. Failures, timeouts, stale snapshots, and validation errors produce ask/hold.
  • No premature allow. The listener always delegates first and composes monotonically; later policies are never skipped.
  • No widening. A Jev selection intersects with existing restrictions.
  • No stale decisions, no cache. Decisions are bound to a turn/catalog snapshot; changed arguments are assessed again.
  • Bounded data. Only task text, tool metadata, and bounded/redacted arguments leave the process.

Documentation

  • Project: https://github.com/buberlo/dsh-jev
  • docs/policy.md · docs/architecture.md · docs/upstream-compatibility.md
  • docs/getting-started.md · docs/skills.md · docs/publishing.md

License

MIT