Files
george larson 1f404b3774 feat(llm): add Kimi Code membership as a first-class Moonshot option (#1844)
The Kimi Code membership (Moonshot) is reachable via a Console API key
against https://api.kimi.com/coding/v1 (model kimi-for-coding), distinct
from the OpenPlatform at api.moonshot.ai/v1. Two small canvas changes so
the membership endpoint behaves like a first-class provider rather than a
custom one:

- map-provider: label the moonshot provider as Moonshot (was the raw id)
- llm-settings: treat api.kimi.com/coding/v1 as a known provider default
  base_url so the LLM form opens in basic view instead of the advanced view

Pairs with a software-agent-sdk change that verifies kimi-for-coding in
VERIFIED_MOONSHOT_MODELS, earning it the Verified badge in the model list.
2026-07-18 18:50:29 +01:00

30 lines
1.4 KiB
TypeScript

import { test, expect } from "vitest";
import { mapProvider } from "../../src/utils/map-provider";
test("mapProvider", () => {
expect(mapProvider("azure")).toBe("Azure");
expect(mapProvider("azure_ai")).toBe("Azure AI Studio");
expect(mapProvider("vertex_ai")).toBe("VertexAI");
expect(mapProvider("palm")).toBe("PaLM");
expect(mapProvider("gemini")).toBe("Gemini");
expect(mapProvider("anthropic")).toBe("Anthropic");
expect(mapProvider("sagemaker")).toBe("AWS SageMaker");
expect(mapProvider("bedrock")).toBe("AWS Bedrock");
expect(mapProvider("mistral")).toBe("Mistral AI");
expect(mapProvider("anyscale")).toBe("Anyscale");
expect(mapProvider("databricks")).toBe("Databricks");
expect(mapProvider("ollama")).toBe("Ollama");
expect(mapProvider("perlexity")).toBe("Perplexity AI");
expect(mapProvider("friendliai")).toBe("FriendliAI");
expect(mapProvider("groq")).toBe("Groq");
expect(mapProvider("fireworks_ai")).toBe("Fireworks AI");
expect(mapProvider("cloudflare")).toBe("Cloudflare Workers AI");
expect(mapProvider("deepinfra")).toBe("DeepInfra");
expect(mapProvider("ai21")).toBe("AI21");
expect(mapProvider("replicate")).toBe("Replicate");
expect(mapProvider("voyage")).toBe("Voyage AI");
expect(mapProvider("openrouter")).toBe("OpenRouter");
expect(mapProvider("clarifai")).toBe("Clarifai");
expect(mapProvider("moonshot")).toBe("Moonshot");
});