• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

VolvoxLLC / volvox-bot / 24867835378

24 Apr 2026 01:40AM UTC coverage: 90.04% (-0.08%) from 90.115%
24867835378

push

github

web-flow
feat: introduce providers.json unified catalog (#553) (#584)

* feat: introduce providers.json unified catalog (#553)

Collapse provider + model metadata into a single src/data/providers.json
catalog consumed via src/utils/providerRegistry.js. Delete the now-redundant
model-pricing.json. Add moonshot and openrouter as first-class providers;
drop dead anthropic/openai catalog entries.

Key changes:

- New providerRegistry with fail-fast loader (apiShape allow-list enforced
  at import); exports getProviderConfig, getModelConfig, getCapabilities,
  supportsShape, listProviders. Unblocks #530 (multi-shape SDKs).
- aiClient.js: drop KNOWN_BASE_URLS, isAnthropicAuthToken, sk-ant detection,
  and Anthropic-vendor branching. Every credential is passed as authToken;
  provider resolution goes through the registry; WebSearch/thinking gated
  by registry capabilities.
- modelString.parseProviderModel throws on bare strings (D1). All callsites
  updated to provider:model form (tldr, triage-config, aiAutoMod, ready,
  config.json, tests).
- aiCost.js sources pricing from the registry; case-insensitive + date-suffix
  lookup preserved.
- debugFooter.extractStats requires explicit providerName; drops silent
  anthropic fallback.
- logger.js: pattern-based sensitive-field redaction
  (/_api_key$|_auth_token$/i) so new providers are scrubbed by default.
- Docs: .env.example, README, copilot-instructions updated. Anthropic-direct
  env var is now commented/optional (reserved for future #553 work).

Deviations from #553 AC (approved in plan):
- Dropped dead anthropic/openai catalog entries; catalog ships as
  minimax + moonshot + openrouter.
- OpenAI-apiShape runtime rejected by the allow-list until #530 lands;
  schema accommodates it already.

Tests: 242/242 pass across all 9 modified/new test files. New:
providerRegistry.test.js, modelString.test.js.

* fix: address PR #584 review feedback + hardening pass

Implements 40 unique review items from 5 automated reviewer... (continued)

7189 of 8450 branches covered (85.08%)

Branch coverage included in aggregate %.

238 of 261 new or added lines in 14 files covered. (91.19%)

3 existing lines in 3 files now uncovered.

11822 of 12664 relevant lines covered (93.35%)

217.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.7
/src/utils/aiClient.js


Build SHA Not Found

The commit SHA "ad0a05a05ab10cd464164d3ed95362cf14b6d212" was not found in your repository, so the file cannot be loaded. This may be because you posted from a local development environment, or your CI created an ephemeral commit.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc