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

@agenticprimitives/identity-directory

v1.0.0-alpha.9

Published

Evidence-backed read model over canonical agents and their facets (ADR-0015 / spec 223). Declares the ports (NamingPort / OnChainReadPort / IndexerPort) + the query API with provenance + assurance. Not an authority; no eth_getLogs; no fallback. Adapters l

Readme

@agenticprimitives/identity-directory

Fast lookups that cannot mint trust. Every identity system eventually grows a directory — and most directories quietly become a second authority: a cache that sessions get issued against, an index whose stale row revives a revoked credential. This package is the read side of the identity stack built so that failure mode is structurally impossible. It answers "which agent(s) does this name / credential / OIDC subject resolve to, and on what evidence?" — every association carries provenance and an assurance level, the indexer only ever proposes, and on-chain state confirms. The output accelerates discovery; it never grants custody or value (ADR-0015, spec 223).

Part of agenticprimitives — the trust substrate for the agent economy: one canonical Smart Agent identity with custody, delegation, naming, credentials, and audit evidence designed as one system.

Everything keys on CanonicalAgentId (CAIP-10) — because the address IS the identity, and names, credentials, and OIDC subjects are facets the directory resolves back to that anchor.

Ports + adapters

The core declares the ports; the implementations live in @agenticprimitives/identity-directory-adapters:

NamingPort      forward/reverse name ↔ agent (wraps agent-naming)
OnChainReadPort exists / confirmsCredential — readContract only, NEVER getLogs
IndexerPort     agentsByCredential / agentsByOidcSubject — the "indexed registry" home

The core imports no source SDK — only types, audit, and ontology. That firewall is what keeps the read model honest about where each piece of evidence came from.

Usage

import { createDirectory } from '@agenticprimitives/identity-directory';
import { makeAdapters } from '@agenticprimitives/identity-directory-adapters'; // (separate pkg)

const dir = createDirectory(makeAdapters({ /* viem client, naming, indexer */ }));
const r = await dir.resolveByCredential(principal); // 0 | 1 | many agents, each with evidence

Queries: resolveByName, resolveByCredential, resolveByOidcSubject, agent. Each result is a Resolution of AgentWithEvidence — provenance, Assurance ordering (ASSURANCE_ORDER, compareAssurance, maxAssurance), and block numbers, not bare addresses.

How it's different

The competing category is indexers and directory products — subgraph-style indexes, registry crawlers, identity-resolution APIs. They optimize for recall; this package optimizes for not being lied to:

  • Indexer proposes, on-chain confirms. resolveByCredential / resolveByOidcSubject upgrade to onchain-confirmed only when the credential is in the agent's current on-chain set. A revoked credential is dropped — a poisoned or stale index entry can never, by itself, resolve.
  • Evidence is the product. A typical directory returns matches; this one returns matches with provenance and assurance on every association, so the consumer (e.g. the session broker, spec 224) can branch on what kind of proof it is holding.
  • No silent fallbacks, no log walks. One mechanism per query; an empty port result is terminal, never an excuse to escalate to a different, weaker mechanism (ADR-0013). Indexed reads go through IndexerPort only — no eth_getLogs in product read paths (ADR-0012).
  • Explicitly not an authority. Resolution output is never the gate for custody or value; consumers re-read on-chain for those decisions. Most directory products cannot make that promise because nothing in their architecture enforces it. Here it is the design.

Convergence

Resolution.agents.length is the convergence cardinality the broker (spec 224) branches on: 0 → bootstrap, 1 → the common case, many → disambiguate.

Validation

pnpm --filter @agenticprimitives/identity-directory typecheck
pnpm --filter @agenticprimitives/identity-directory test
pnpm check:forbidden-terms

Status

Testnet/pilot-ready. Production launch is gated on the public checklist in the root README.md — including third-party contract audit and governance key rotation. Track every security finding live in docs/audits/findings.yaml. Note the production SPARQL/GraphDB indexer adapter is roadmap (spec 225 §7); today's reference indexer is in-memory, in the adapters package.

License

UNLICENSED (internal monorepo, not published).