diff --git a/apps/vscode/src/sdk/model-catalog/provider-id.test.ts b/apps/vscode/src/sdk/model-catalog/provider-id.test.ts index 04cf0d292f..e53a47a5d6 100644 --- a/apps/vscode/src/sdk/model-catalog/provider-id.test.ts +++ b/apps/vscode/src/sdk/model-catalog/provider-id.test.ts @@ -57,6 +57,7 @@ describe("parseProviderId", () => { parseProviderId("xiaomi") parseProviderId("tencent-tokenhub") parseProviderId("chutes") + parseProviderId("aiand") expect(warnSpy).not.toHaveBeenCalled() }) @@ -74,6 +75,7 @@ describe("isKnownProviderId", () => { expect(isKnownProviderId(parseProviderId("xiaomi"))).toBe(true) expect(isKnownProviderId(parseProviderId("tencent-tokenhub"))).toBe(true) expect(isKnownProviderId(parseProviderId("chutes"))).toBe(true) + expect(isKnownProviderId(parseProviderId("aiand"))).toBe(true) }) it("returns false for a custom provider id", () => { diff --git a/apps/vscode/src/sdk/model-catalog/provider-id.ts b/apps/vscode/src/sdk/model-catalog/provider-id.ts index c39cf36f0f..cefc18e442 100644 --- a/apps/vscode/src/sdk/model-catalog/provider-id.ts +++ b/apps/vscode/src/sdk/model-catalog/provider-id.ts @@ -59,6 +59,7 @@ const KNOWN_API_PROVIDERS = { xiaomi: true, "tencent-tokenhub": true, chutes: true, + aiand: true, "cline-pass": true, } satisfies Record diff --git a/apps/vscode/src/shared/api.ts b/apps/vscode/src/shared/api.ts index 3b9dd2c0eb..8cf7bba8ca 100644 --- a/apps/vscode/src/shared/api.ts +++ b/apps/vscode/src/shared/api.ts @@ -52,6 +52,7 @@ export type ApiProvider = | "xiaomi" | "tencent-tokenhub" | "chutes" + | "aiand" export const DEFAULT_API_PROVIDER = "openrouter" as ApiProvider diff --git a/apps/vscode/src/shared/proto-conversions/models/api-configuration-conversion.test.ts b/apps/vscode/src/shared/proto-conversions/models/api-configuration-conversion.test.ts index a5f90e544c..e9dad80d47 100644 --- a/apps/vscode/src/shared/proto-conversions/models/api-configuration-conversion.test.ts +++ b/apps/vscode/src/shared/proto-conversions/models/api-configuration-conversion.test.ts @@ -4,7 +4,7 @@ import { convertApiConfigurationToProto, convertProtoToApiConfiguration } from " describe("api configuration provider conversion", () => { it("round-trips SDK provider ids added after the legacy enum list", () => { - const providers: ApiProvider[] = ["poolside", "v0", "xiaomi", "tencent-tokenhub", "chutes", "zai-coding-plan"] + const providers: ApiProvider[] = ["poolside", "v0", "xiaomi", "tencent-tokenhub", "chutes", "aiand", "zai-coding-plan"] for (const provider of providers) { const proto = convertApiConfigurationToProto({ diff --git a/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.test.ts b/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.test.ts index 2dbeb23a0f..3f04af1c90 100644 --- a/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.test.ts +++ b/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.test.ts @@ -57,6 +57,7 @@ describe("providerSettingsRegistry", () => { it("allows migrated simple SDK providers to use the generic fallback", () => { const migratedProviders = [ + ["aiand", "ai&", "https://console.aiand.com/"], ["baseten", "Baseten", "https://app.baseten.co/settings/api_keys"], ["cerebras", "Cerebras", "https://cloud.cerebras.ai/"], ["chutes", "Chutes", "https://chutes.ai/app/api"], @@ -206,6 +207,12 @@ describe("providerSettingsRegistry", () => { providerId: "zai-coding-plan", providerName: "Z.AI Coding Plan", }) + expect(getFallbackGenericProviderSettings("aiand")).toEqual({ + allowsCustomIds: false, + providerId: "aiand", + providerName: "ai&", + signupUrl: "https://console.aiand.com/", + }) expect(getFallbackGenericProviderSettings("openai")).toBeUndefined() }) }) diff --git a/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.ts b/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.ts index 2d70cd6142..891950f150 100644 --- a/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.ts +++ b/apps/vscode/webview-ui/src/components/settings/providers/providerSettingsRegistry.ts @@ -107,6 +107,9 @@ const GENERIC_PROVIDER_PRESENTATION_OVERRIDES: Record