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

@tenetkit/cloudflare

v0.34.1

Published

Cloudflare Workers and Durable Objects adapters for TenetKit

Readme

@tenetkit/cloudflare

Cloudflare Workers and Durable Objects adapters for TenetKit.

Durable Run activation

@tenetkit/cloudflare/durable-objects stores only its scheduling projection in tenetkit_activations. Run authority remains in the existing tenetkit_* tables. Construct makeProjection(sql, rearm) with the same full-storage SQLite client used by layerRunStore; rearm must synchronously compute the host-wide minimum due time and call the top-level Durable Object storage alarm API. The Run change, candidate change, and alarm then share one storage transaction. It must not await network work. Final-state projection is limited to Runs touched by that mutation; an inactive final state deletes its candidate before rearm runs.

Call migrateAndBackfill(rearm) once inside a SQL transaction to reconstruct candidates after the runtime has verified its schema metadata and checksum. The runtime schema is one baseline, migration 1 tenetkit_runtime at version 1. The adapter table is not part of that schema and does not change its version. On each fresh exclusive host incarnation, call makeExclusiveExecutionRecovery(...).recoverClaims(...) before drain(...). Drains are deterministic and fuel-bounded. Execute candidates pass through the normal claim and execution host; cancellation candidates use point cancellation reconciliation and are conditionally deferred without recreating deleted rows.

Each runtime surface is an independent export so Workers bundle only the capabilities they use:

  • @tenetkit/cloudflare/workers
  • @tenetkit/cloudflare/durable-objects
  • @tenetkit/cloudflare/dynamic-workers
  • @tenetkit/cloudflare/testing

Dynamic Program Workers

@tenetkit/cloudflare/dynamic-workers provides make(options) and layer(options) for a configured Cloudflare Worker Loader binding. make calls loader.load() for every execution, validates the complete module graph and content digest before loading, disables global outbound access, and supplies only one request-scoped capability RPC binding plus non-secret protocol identity constants. The host must turn the supplied RPC implementation into a Cloudflare service binding, normally with a request-scoped ctx.exports loopback binding.

The adapter passes limits.cpuMs and limits.subrequests as the dynamic-worker stage contract. The pinned local workerd does not currently provide observable enforcement evidence for these two WorkerCode fields, so releases that require those resource guarantees must remain disabled until the target Cloudflare environment confirms them. Deadline, cancellation, output size, source identity, codec identity, and closed capability authority are enforced by the adapter independently.