diff --git a/apps/supercode-cli/server/package.json b/apps/supercode-cli/server/package.json index 2321061..4fcac14 100644 --- a/apps/supercode-cli/server/package.json +++ b/apps/supercode-cli/server/package.json @@ -1,6 +1,6 @@ { "name": "supercode-cli", - "version": "0.1.70", + "version": "0.1.71", "description": "AI-powered coding agent CLI", "main": "dist/main.js", "bin": { diff --git a/apps/supercode-cli/server/src/cli/commands/slashCommands/connect.ts b/apps/supercode-cli/server/src/cli/commands/slashCommands/connect.ts index 56c0991..795ffdc 100644 --- a/apps/supercode-cli/server/src/cli/commands/slashCommands/connect.ts +++ b/apps/supercode-cli/server/src/cli/commands/slashCommands/connect.ts @@ -7,14 +7,14 @@ import { getProviderApiKeys, } from "src/lib/cli-config.ts" import type { ModelProvider } from "src/cli/ai/provider.ts" -import { BYOK_MODELS } from "./model.ts" +import { BYOK_MODELS, ALL_SECTIONS } from "./model.ts" const PROVIDERS: Array<{ value: ModelProvider; label: string; hint: string; link: string }> = [ + { value: "concentrateai", label: "ConcentrateAI", hint: "deepseek-v4 & glm models", link: "https://concentrate.ai" }, + { value: "mergedev", label: "Merge Dev Gateway", hint: "unified API gateway", link: "https://app.merge.dev" }, { value: "google", label: "Google Gemini", hint: "gemini-2.5 models", link: "https://aistudio.google.com/apikey" }, { value: "openrouter", label: "OpenRouter", hint: "multi-provider access", link: "https://openrouter.ai/keys" }, { value: "nvidia", label: "NVIDIA NIM", hint: "free NVIDIA hosted models", link: "https://build.nvidia.com/explore/discover" }, - { value: "concentrateai", label: "ConcentrateAI", hint: "deepseek-v4 & glm models", link: "https://concentrate.ai" }, - { value: "mergedev", label: "Merge Dev Gateway", hint: "unified API gateway", link: "https://app.merge.dev" }, ] export async function connectProvider(): Promise<{ type: "connect"; provider?: ModelProvider; model?: string }> { @@ -63,7 +63,7 @@ export async function connectProvider(): Promise<{ type: "connect"; provider?: M } // Model selection via @clack — safe with the chat loop's stdin management - const modelsForProvider = BYOK_MODELS.filter((m) => m.provider === provider.value) + const modelsForProvider = BYOK_MODELS.filter((m) => m.provider === provider.value && !ALL_SECTIONS.has(m.value)) let chosenModel: string | undefined if (modelsForProvider.length > 0) { diff --git a/apps/supercode-cli/server/src/cli/commands/slashCommands/model.ts b/apps/supercode-cli/server/src/cli/commands/slashCommands/model.ts index 37e8f02..f150d04 100644 --- a/apps/supercode-cli/server/src/cli/commands/slashCommands/model.ts +++ b/apps/supercode-cli/server/src/cli/commands/slashCommands/model.ts @@ -22,7 +22,7 @@ const SECTION_MINIMAX = "__section_minimax__" const SECTION_NVIDIA = "__section_nvidia__" const SECTION_OPENROUTER = "__section_openrouter__" -const ALL_SECTIONS = new Set([ +export const ALL_SECTIONS = new Set([ SECTION_CLOUD, SECTION_BYOK, SECTION_CONCENTRATEAI, SECTION_MERGEDEV, SECTION_GOOGLE, SECTION_MINIMAX,