mirror of
https://github.com/hanzoai/catalog.git
synced 2026-10-30 18:46:06 +00:00
This worker served two hosts and gave one of them two different documents.
On catalog.hanzo.ai it is a public read-only edge cache, which is what it is for.
On api.hanzo.ai it was a second implementation of paths the cloud origin owns and
publishes, reached by an ingress carve of /v1/models* + /v1/pricing* — so all 23
of apps/pricing's pricing routes were described and unreachable (14 of the 21
literal GETs answered this worker's 404: the registry holds 10 addresses, the
document holds 23, and they overlap in 7), and GET/POST /v1/models/{model}/access
were uncallable in production — 404 on GET, 405 on POST, since this worker allows
only GET, HEAD, OPTIONS.
`authedOrigin` was the shape of the problem, not a feature. A request WITH a token
was proxied to api.cloud.hanzo.ai and one WITHOUT got the marketing catalog: one
URL, two documents, chosen by a header no OpenAPI document can express and no SDK
can predict — plus a second API host to keep alive. Both are deleted with the
ingress carve (hanzoai/universe fd18448).
The test that pinned the fork is replaced by one that pins its absence: a token
changes nothing here, and no upstream is dialled.
Co-authored-by: Hanzo Dev <[email protected]>
980 B
980 B
Hanzo Public Catalog
Cloudflare edge-cached, daily-refreshed public read-only catalog for Hanzo.
Serves the model + pricing catalog to public consumers (marketing site, pre-login
model browsing, docs) without a token, so api.hanzo.ai can stay fully authenticated.
Live: https://catalog.hanzo.ai
curl https://catalog.hanzo.ai/v1/models # OpenAI-compatible model catalog
curl https://catalog.hanzo.ai/v1/pricing # full pricing catalog
curl https://catalog.hanzo.ai/v1/plans # subscription / cloud plans
curl https://catalog.hanzo.ai/ # self-describing index
This is the only host it serves. api.hanzo.ai is the authenticated API and the cloud
origin owns every path on it — including /v1/models and /v1/pricing/*, which this
worker used to intercept at the ingress. See LLM.md for what that cost.
See LLM.md for architecture, the resource registry, routing, and how to
add a new cached resource.