Spaces:
Paused
Paused
Commit History
-
refactor(env): stop publishing credential file locations
crispasr integration +1: Claude Opus 5 (1M context)The README spelled out the exact .env lookup chain, and the loader hardcoded a sibling project's path — both public, and both a map of where to find credentials on a developer machine. The sibling path also leaked a private project name into a public repo. Locations now come from PROVIDERS_ENV_FILES instead of being baked in: the project .env is read first (so it can itself set that variable and point at files held outside the repo), then each listed file. Behaviour is otherwise unchanged — every existing file is read, earlier entries win, and the real environment is never overwritten. Docs and comments now name the mechanism, not any path. Also drops the sibling-path references that predated this branch in the OpenRouter and Nscale headers. Note for anyone who relied on the implicit sibling lookup: set PROVIDERS_ENV_FILES to that file and it works as before. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>764c374 -
feat(nscale): accept NSCALE_TOKEN, and read ~/.env so it is found
crispasr integration +1: Claude Opus 5 (1M context)Nscale has been empty in the published data since it was added — its catalog is only reachable through the authenticated API, and the key was never available to the fetcher. Two reasons, both fixed here. The variable name: Nscale's console issues the credential as NSCALE_TOKEN, while the fetcher only looked for NSCALE_API_KEY. Both are now accepted, the alias kept so any existing setup or CI secret of that name still works, and the health check's keyEnv now takes a list so "any one of these" counts as present rather than reporting a false SKIP. The location: load-env only read the project .env and ../AIToolkit/.env, so a credential shared across projects in ~/.env was invisible. It now reads every candidate that exists — project, AIToolkit, then home — instead of only the first one found, so a key present solely in the home file is picked up even when a project .env exists for other keys. Earlier files still win, a variable already set in the real environment is never overwritten, an…108f0f3
-
feat(providers): add OVHcloud, STACKIT, Nscale; fix Mistral & Nebius fetchers
CrispStrobe +1: Claude Opus 4.8 (1M context)New EU/EEA providers: - OVHcloud AI Endpoints (FR) — scrapes embedded Next.js catalog payload - STACKIT AI Model Serving (DE) — scrapes docs catalog, category→price map - Nscale Serverless (UK/Norway) — OpenAI-compatible /v1/models (NSCALE_API_KEY) Fetcher fixes (upstream pages changed): - Mistral: re-platformed to Astro; parse new /pricing/api/ price atoms - Nebius: rebranded to Token Factory; use documented /v1/models?verbose=true RichModel pricing (NEBIUS_API_KEY) Wire NSCALE_API_KEY + NEBIUS_API_KEY into the update workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>49e63bd