Files
claudecodeui/server/modules/providers/shared/base/abstract.provider.ts

21 lines
651 B
TypeScript

import type { IProvider, IProviderAuth, IProviderMcp, IProviderSessions } from '@/shared/interfaces.js';
import type { LLMProvider } from '@/shared/types.js';
/**
* Shared provider base.
*
* Concrete providers must expose auth/MCP handlers and implement message
* normalization/history loading because those behaviors depend on native
* SDK/CLI formats.
*/
export abstract class AbstractProvider implements IProvider {
readonly id: LLMProvider;
abstract readonly mcp: IProviderMcp;
abstract readonly auth: IProviderAuth;
abstract readonly sessions: IProviderSessions;
protected constructor(id: LLMProvider) {
this.id = id;
}
}