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.44.0

Published

Cloudflare Workers and Durable Objects adapters for TenetKit

Readme

@tenetkit/cloudflare

Cloudflare Workers and Durable Objects adapters for TenetKit.

bun add [email protected] [email protected] @tenetkit/[email protected]

The package root is intentionally not exported. Import only @tenetkit/cloudflare/workers, @tenetkit/cloudflare/durable-objects, or @tenetkit/cloudflare/dynamic-workers; these are Worker entrypoints, not Node or Bun runtime claims.

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

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 executor identity is a schema-backed, immutable declaration of the provider, adapter/runtime/template versions, fresh-worker persistence, physical isolation boundary, default-deny network posture, exact enforcement owner for each limit, and bounded known limitations. It contains no credentials or mutable Worker IDs. Admission runs before module normalization or loader.load() and fails rather than weakening any requested guarantee. makeUnavailable() declares every guarantee unenforced and cannot admit production execution.

The adapter passes limits.cpuMs and limits.subRequests to Worker Loader for every fresh execution. Deadline and caller cancellation abort the guest request and active host callbacks; the callback fence closes before return. Output is counted while reading the response stream and the reader is cancelled on overflow, deadline, or caller cancellation. The complete protocol version, request, source digest, and input/output codec identity must match the response envelope.

The exported tenetkit/test provider suite and the VM Worker Loader fixture prove adapter protocol semantics, fresh module/global state, exact capability closure, ambient host denial, bounded output, interruption, and cleanup. The pinned local workerd --experimental test proves the real Worker Loader accepts subRequests, creates a fresh worker for each load(), exposes no parent environment or process-spawn API, and enforces globalOutbound: null. Neither test proves Cloudflare's production physical-isolation implementation or production CPU/subrequest governors.

Production CPU/subrequest enforcement and production-observable freshness and egress behavior require the opt-in credentialed gate. Set TENETKIT_CLOUDFLARE_DYNAMIC_WORKER_CONFORMANCE_URL and TENETKIT_CLOUDFLARE_DYNAMIC_WORKER_CONFORMANCE_TOKEN for a deployed harness that exposes /sandbox-conformance/{cpu,subrequests,isolation} with the response contract in test/dynamic-workers-live.test.ts. Without that gate, local results are protocol/runtime evidence only and must not be reported as production resource-enforcement evidence. Even the live gate proves only behavior visible through the request boundary; Cloudflare's documentation and assurance material, not this suite, own the physical-isolate claim.