mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-04-18 19:41:31 +00:00
Move provider authentication status logic out of the CLI auth route so auth checks live with the provider implementations that understand each provider's install and credential model. Add provider-specific auth runtime classes for Claude, Codex, Cursor, and Gemini, and expose them through the shared provider contract as `provider.auth`. Add a provider auth service that resolves providers through the registry and delegates status checks via `auth.getStatus()`. Keep the existing `/api/cli/<provider>/status` endpoints, but make them thin route adapters over the new provider auth service. This removes duplicated route-local credential parsing and makes auth status a first-class provider capability beside MCP and message handling.
13 lines
463 B
TypeScript
13 lines
463 B
TypeScript
import { providerRegistry } from '@/modules/providers/provider.registry.js';
|
|
import type { ProviderAuthStatus } from '@/shared/types.js';
|
|
|
|
export const providerAuthService = {
|
|
/**
|
|
* Resolves a provider and returns its installation/authentication status.
|
|
*/
|
|
async getProviderAuthStatus(providerName: string): Promise<ProviderAuthStatus> {
|
|
const provider = providerRegistry.resolveProvider(providerName);
|
|
return provider.auth.getStatus();
|
|
},
|
|
};
|