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

@siere.ai/core

v0.4.0

Published

Shared core for AEO middleware — agent detection, transform, analytics, licensing

Readme

@siere.ai/core

Core building blocks for Siere AI agent detection, content transformation, analytics, health checks, and licensing.

npm install @siere.ai/core

See Siere documentation for integration guidance.

Agent response caching

Transformed Markdown responses default to Cache-Control: private, no-store and Vary: User-Agent, Accept. Custom Vary values are preserved and normalized with those required fields. A custom Cache-Control header cannot weaken this default unless unsafePublicAgentCaching: true is set explicitly.

That advanced escape hatch is only for deployments whose shared-cache key has been verified to separate every agent representation by both User-Agent and Accept; the internal Hermes transformation cache remains available without it.

Detection contract

detectAgent() always returns a typed result. A User-Agent match is classified as unverified; it is not proof of the crawler's identity. The canonical classification is purpose (search-index, user-retrieval, model-training, other, or unknown). The legacy type projection remains available for the 0.x compatibility cycle. Every result also exposes the registry version and evidence level used for the classification.

import { detectAgent } from "@siere.ai/core";

const detection = detectAgent(request.headers.get("user-agent") ?? "");
if (detection.matchedAgent) {
  console.log(detection.detectionMethod, detection.verificationStatus);
}

Delivery decision contract

decideDeliveryAction() is the framework-neutral authority for whether a request passes through to the origin or receives Markdown. It returns a typed action, reason, strategy, purpose, evidence level, detection method, and verification status so adapters can expose the decision without retaining raw request headers.

import { decideDeliveryAction, detectAgent } from "@siere.ai/core";

const detection = detectAgent(request.headers.get("user-agent") ?? "");
const decision = decideDeliveryAction({
  strategy: "observe",
  detection,
  acceptHeader: request.headers.get("accept"),
});

The strategies are:

  • observe: always pass through while recording the classified request.
  • negotiate-markdown: serve Markdown only when Accept negotiates it.
  • recognized-agent-markdown: serve recognized User-Agent or negotiated requests; this remains the omitted-config default for existing integrations.
  • verified-agent-markdown: reserved for a future verified-identity provider; unverified requests currently pass through.

Missing, stale, unknown, transform-error, fidelity-drifted, and fidelity-unverifiable content always fails open to the origin. Adapter response headers and /__aeo/health expose the active strategy, and onDeliveryDecision can receive the typed decision for structured logging.