Repository navigation
feat(llm): add Atlas Cloud provider preset - #630
binyangzhu000-sudo wants to merge 1 commit into
Conversation
Add an "Atlas Cloud" entry to the vendor presets so it can be picked in the providers wizard instead of typing the base URL by hand. - baseUrl https://api.atlascloud.ai (call sites append /v1) - ATLASCLOUD_API_KEY, standard Bearer auth, no extra headers - GET /v1/models answers 200 with a `data` array and no key, so the preset is marked listsModelsWithoutKey; chat is served at /v1/chat/completions like every other preset Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
|
Thanks for the PR, and for the clear disclosure and the probe table. That made this quick to review. We reran the checks from the admission bar and the endpoint works as described. We are still going to pass on adding it as a preset: the catalog includes Anthropic, OpenAI, Google and xAI models next to the open-weight ones, which puts Atlas Cloud in the routing gateway group, and we made the same call on OrcaRouter in #89. Atlas Cloud users can already connect today through the manual OpenAI-compatible entry in the provider wizard, with base URL That said, since you work at Atlas Cloud, we'd be glad to look at other ways to work together. For example: a short "use Atlas Cloud with Atomic Agent" guide, a mention on your integrations page or in your newsletter, or credits for our community to try your open-weight models, with us sharing it on our side. If any of that sounds interesting, drop us a line at nadya@atomicagent.io and we can talk it through. Closing this PR, with thanks for the careful work. |
Summary
Adds an Atlas Cloud entry to
PROVIDER_PRESETSso it can be picked in the providers wizard instead of typing the base URL by hand.Disclosure: I work at Atlas Cloud.
src/llm/provider/presets/provider-presets.ts:id: "atlas-cloud",baseUrl: "https://api.atlascloud.ai"(no/v1, per the stored-root convention),envVar: "ATLASCLOUD_API_KEY",listsModelsWithoutKey: true. Placed between "Anthropic (Claude)" and "Atomic Chat (local)" to keep the label sort order the existing test enforces. Standard Bearer auth, so noapiKeyHeader/headers.src/tui/providers/provider-presets.test.ts: added the preset to the "names every hosted vendor preset after its own service" table and to the keyless-listing presence checks.Admission bar from
provider-presets.tsProbed 2026-10-10 with the headers the preset sends (plain
Authorization: Bearer):GET https://api.atlascloud.ai/v1/models, no key200,dataarray with 117 entries (branch 1: keyless listing)POST /v1/chat/completions, bogus key401 {"code":401,"msg":"unauthorized"}, chat is under/v1like every other preset (noopenai-chat-path.tsentry needed)/zzz-bogus,/v1/models/zzz,/v1zzz/models404/v1/zzz401(the/v1prefix is auth-gated before routing)The last row is the one place I am not sure the bar is met as you intend it: the host does answer 404 for bogus siblings, but a bogus path directly under
/v1gets the auth401rather than a404. Branch 1 (200 with adataarray) does not depend on that, so I read the preset as admissible, but I'm happy to drop it if you read the sibling rule more strictly.Test plan
npx vitest run src/tui/providers src/llm/provider: 91 files, 1233 passed, 1 skipped.npm run lint,npm run imports:check,npm run docs:checkpass;npm run typecheck:tests: no new errors (773 existing debt diagnostics unchanged).baseUrl:fetchOpenAiCompatModelsreturned the 117 ids without a key, andOpenAiProvider.completereturned the expected reply fordeepseek-ai/deepseek-v4-flash,zai-org/glm-5.2andmoonshotai/kimi-k3.npm test/test:cisuite and the evals (they need local servers or other paid providers). I ran Node 24.14 rather than the>=25.7the repo asks for; the commands above passed there.🤖 Generated with Claude Code