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

@relkit/providers-local

v0.5.1

Published

Local runtime providers for RELKIT development and testing.

Readme

@relkit/providers-local

Local generations own .relkit/state/buckets and .relkit/state/cache (or the configured state root). Bucket objects and cache snapshots use atomic commits; malformed records are moved into a provider-owned .relkit-quarantine directory and do not prevent the rest of the generation from starting.

The local cache remains bounded and generation-local. Direct construction without stateRoot is memory-only; generation startup supplies a profile root, enables restart recovery, and reports persistence: "restart-recovery". Canonical cache keys, deterministic clock expiry, LRU bounds, and the metadata-only onSnapshot hook remain unchanged. Provider objects expose typed bucket/cache operations only; application code does not receive file readers.

Durable job queue entries retain validated idempotency keys for their configured retention. A duplicate enqueue returns the retained instance and acceptance metadata; delivery remains at-least-once after the record expires or an acknowledgement gap.

Ephemeral event delivery is memory-only and has no restart recovery. Each trigger admits at most 100 simultaneous deliveries by default; the router can configure the capacity, drops newest overflow, and reports the capacity/drop policy instead of creating a hidden backlog or recovery claim.

Durable event delivery reuses the job store/queue/retry seams for one trigger ledger. Accepted envelopes are available only after durable append, handler success is acknowledged through a completed transition, expired leases recover after restart, and retries become delayed or dead-lettered with safe failure metadata. Delivery is at-least-once, exactly-once is false, and per-key ordering is explicitly unsupported.

The local event admin contract is versioned and inspector-safe: queries expose event contracts, exact event bindings, publication metadata, delivery state, dead letters, and honest capability flags without payload projection. Only a validated local dead-letter retry is mutating; it is disabled in production and records an audit action.

Agent tests use the ai/test MockLanguageModelV3 surface with a finite script of validated tool-call, final, error, or cancelled turns. Its recorded calls make merge-blocking tests deterministic without model network calls.