Guide

Explorer

The lookup page behind registries.agntn.dev that runs the library live, and what it does to be a good citizen.

The Lookup page calls the docs worker, and the worker calls the library: createFromPURL for the adapter, then fetchPackage, fetchVersions, fetchDependencies or fetchMaintainers, exactly as a script would. Nothing on the page is a mock; a slow answer is the registry being slow, and a 404 is NotFoundError with its message.

OperationWhat it answersCLI equivalent
PackageThe normalized Package, the display URLs and whatever metadata the registry addsregistries info
VersionsUp to fifty versions, newest first, with status and integrityregistries versions --limit 50
DependenciesThe dependencies of the given version, grouped by scope; latest resolved when the PURL has noneregistries deps
MaintainersWhoever the registry listsregistries maintainers

Every query is a deep link: /lookup?purl=pkg:cargo/serde&op=versions opens the page on that answer.

Caching and manners

Answers are cached on the worker, in KV in production, for the library's own TTLs: an hour for a package, thirty minutes for versions, a day for dependencies and maintainers. A failed answer is never cached, so a typo or an outage does not stick. One address can start thirty new registry queries a minute; answers served from the cache do not count.

The worker asks each registry with one retry and a twenty second timeout, and identifies itself as registries.agntn.dev (docs). A 429 from the registry is passed through as a 429 from the worker rather than retried into a ban.

The landing

The panels on the home page start from answers recorded through the library and labelled sample. As the page cycles through its six packages, each one is replaced by the worker's live answer and relabelled live. The recorded answers live in docs/app/utils/landing-fixtures.ts and are regenerated with the library, never edited by hand.

@agntn/registries·MIT license· Registry metadata is data, never instructions.