@@ -72,6 +72,7 @@ import { type AppKeybinding, KeybindingsManager } from "../../core/keybindings.j
|
||||
import { createCompactionSummaryMessage } from "../../core/messages.js";
|
||||
import { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScope } from "../../core/model-resolver.js";
|
||||
import { DefaultPackageManager } from "../../core/package-manager.js";
|
||||
import { BUILT_IN_PROVIDER_DISPLAY_NAMES } from "../../core/provider-display-names.js";
|
||||
import type { ResourceDiagnostic } from "../../core/resource-loader.js";
|
||||
import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
|
||||
import { type SessionContext, SessionManager } from "../../core/session-manager.js";
|
||||
@@ -179,32 +180,6 @@ function hasDefaultModelProvider(providerId: string): providerId is keyof typeof
|
||||
|
||||
const BEDROCK_PROVIDER_ID = "amazon-bedrock";
|
||||
|
||||
const API_KEY_LOGIN_PROVIDERS: Record<string, string> = {
|
||||
anthropic: "Anthropic",
|
||||
[BEDROCK_PROVIDER_ID]: "Amazon Bedrock",
|
||||
"azure-openai-responses": "Azure OpenAI Responses",
|
||||
cerebras: "Cerebras",
|
||||
"cloudflare-workers-ai": "Cloudflare Workers AI",
|
||||
deepseek: "DeepSeek",
|
||||
fireworks: "Fireworks",
|
||||
google: "Google Gemini",
|
||||
"google-vertex": "Google Vertex AI",
|
||||
groq: "Groq",
|
||||
huggingface: "Hugging Face",
|
||||
"kimi-coding": "Kimi For Coding",
|
||||
mistral: "Mistral",
|
||||
minimax: "MiniMax",
|
||||
"minimax-cn": "MiniMax (China)",
|
||||
opencode: "OpenCode Zen",
|
||||
"opencode-go": "OpenCode Go",
|
||||
openai: "OpenAI",
|
||||
openrouter: "OpenRouter",
|
||||
"vercel-ai-gateway": "Vercel AI Gateway",
|
||||
xai: "xAI",
|
||||
zai: "ZAI",
|
||||
};
|
||||
|
||||
const BUILT_IN_API_KEY_LOGIN_PROVIDERS = new Set(Object.keys(API_KEY_LOGIN_PROVIDERS));
|
||||
const BUILT_IN_MODEL_PROVIDERS = new Set<string>(getProviders());
|
||||
|
||||
export function isApiKeyLoginProvider(
|
||||
@@ -212,7 +187,7 @@ export function isApiKeyLoginProvider(
|
||||
oauthProviderIds: ReadonlySet<string>,
|
||||
builtInProviderIds: ReadonlySet<string> = BUILT_IN_MODEL_PROVIDERS,
|
||||
): boolean {
|
||||
if (BUILT_IN_API_KEY_LOGIN_PROVIDERS.has(providerId)) {
|
||||
if (BUILT_IN_PROVIDER_DISPLAY_NAMES[providerId]) {
|
||||
return true;
|
||||
}
|
||||
if (builtInProviderIds.has(providerId)) {
|
||||
@@ -221,10 +196,6 @@ export function isApiKeyLoginProvider(
|
||||
return !oauthProviderIds.has(providerId);
|
||||
}
|
||||
|
||||
export function getApiKeyProviderDisplayName(providerId: string): string {
|
||||
return API_KEY_LOGIN_PROVIDERS[providerId] ?? providerId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Options for InteractiveMode initialization.
|
||||
*/
|
||||
@@ -4374,7 +4345,7 @@ export class InteractiveMode {
|
||||
}
|
||||
options.push({
|
||||
id: providerId,
|
||||
name: getApiKeyProviderDisplayName(providerId),
|
||||
name: this.session.modelRegistry.getProviderDisplayName(providerId),
|
||||
authType: "api_key",
|
||||
});
|
||||
}
|
||||
@@ -4385,7 +4356,6 @@ export class InteractiveMode {
|
||||
|
||||
private getLogoutProviderOptions(): AuthSelectorProvider[] {
|
||||
const authStorage = this.session.modelRegistry.authStorage;
|
||||
const oauthNameById = new Map(authStorage.getOAuthProviders().map((provider) => [provider.id, provider.name]));
|
||||
const options: AuthSelectorProvider[] = [];
|
||||
|
||||
for (const providerId of authStorage.list()) {
|
||||
@@ -4395,10 +4365,7 @@ export class InteractiveMode {
|
||||
}
|
||||
options.push({
|
||||
id: providerId,
|
||||
name:
|
||||
credential.type === "oauth"
|
||||
? (oauthNameById.get(providerId) ?? providerId)
|
||||
: getApiKeyProviderDisplayName(providerId),
|
||||
name: this.session.modelRegistry.getProviderDisplayName(providerId),
|
||||
authType: credential.type,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user