@wiselaw-ai/provider-catalog
v0.1.5
Published
WiseLaw provider catalog — verified provider endpoints + model metadata, distributed as a pure-JSON npm data package
Readme
@wiselaw-ai/provider-catalog
WiseLaw provider catalog — a pure-JSON data package: verified AI provider endpoints (Anthropic-messages / OpenAI-responses / chat-completions) plus curated model metadata (context limits, per-MTok pricing) snapshotted from models.dev.
Subscription-only products such as Kimi Code and GLM Coding Plan omit metered token prices and may carry explicit model metadata when their request model IDs do not exist in models.dev.
The npm artifact contains no executable code — only catalog.json and its
schema.json. Consumers fetch the latest published version at runtime, so the
catalog updates by npm publish alone, decoupled from any software release.
Contents
catalog.json— the catalog (seeschema.jsonfor the JSON Schema)schema.json— generated from the zod source of truth (src/types.ts)
baseUrl convention
Each endpoint's baseUrl is the base to which a fixed per-protocol suffix
yields the wire URL:
| protocol | wire URL | harness usage |
| --- | --- | --- |
| messages | baseUrl + /v1/messages | Claude Code: ANTHROPIC_BASE_URL=baseUrl |
| responses | baseUrl + /v1/responses | Codex: base_url = baseUrl + "/v1", wire_api = "responses" |
| chat-completions | baseUrl + /chat/completions | Codex: base_url = baseUrl, wire_api = "chat" |
Maintenance (monorepo)
src/overrides.json— hand-maintained layer: provider list, verified endpoints (verifiedAtper endpoint), and either a models.dev whitelist or explicit subscription-product modelsbun run refresh— pulls models.dev, merges whitelisted model metadata, validates, rewritescatalog.json/schema.json, bumps the patch version- publish with
npm publish --access public; roll back bad data by moving thelatestdist-tag, never by unpublishing
Live verification
Put credentials in the monorepo root .env.local; the file is ignored by Git.
Use one variable per catalog provider:
VERIFY_KEY_KIMI_CODE=
VERIFY_KEY_ZHIPUAI=
VERIFY_KEY_ALIBABA_CN=
VERIFY_KEY_OPENROUTER=
VERIFY_KEY_MINIMAX=From apps/provider-catalog, verify both layers:
# Every published protocol with one known model
bun --env-file=../../.env.local src/verify-endpoints.ts \
kimi-code zhipuai alibaba-cn openrouter
# Every model through one preferred verified protocol
bun --env-file=../../.env.local src/verify-models.ts \
kimi-code zhipuai alibaba-cn openrouterAn endpoint receives a new verifiedAt date only after a minimal authenticated
request succeeds. A model is published only after its exact request ID also
succeeds. The scripts never print keys and redact them from provider errors.
VERIFY_KEY_MOONSHOTAI remains an accepted local fallback for the renamed
kimi-code product preset, so existing ignored env files continue to work.
Kimi credentials require special care:
api.kimi.com/codingis the Kimi Code membership product, not an overseas alias for the Open Platform.- China Open Platform uses
api.moonshot.cn; international Open Platform usesapi.moonshot.ai. Accounts, balances, and keys are region-isolated. - Only protocols represented by verified endpoint entries are published.
Official references:
