UNPKG

@unified-llm/core

Version:
73 lines (72 loc) 2.27 kB
import { LLMClientConfig } from './llm-client'; /** * ClientManager provides methods to manage LLMClient configurations, */ export declare class ClientManager { /** * Create a new LLMClient configuration */ static create(config: Omit<LLMClientConfig, 'id'>): Promise<string>; /** * Create a new LLMClient configuration preset */ static createPreset(preset: PresetName, customConfig?: Partial<LLMClientConfig>): Promise<string>; /** * Clone an existing LLMClient configuration */ static clone(sourceId: string, newName: string, updates?: Partial<LLMClientConfig>): Promise<string>; /** * Import an LLMClient configuration from JSON */ static import(configJson: string): Promise<string>; /** * Export an LLMClient configuration to JSON */ static export(id: string): Promise<string>; /** * Search for LLMClients based on various criteria */ static search(query: { name?: string; provider?: 'openai' | 'anthropic' | 'google' | 'deepseek'; tags?: string[]; model?: string; }): Promise<LLMClientConfig[]>; /** * Batch operations for creating, updating, deleting, activating, or deactivating LLMClients */ static batch(operations: BatchOperation[]): Promise<BatchResult[]>; /** * Get statistics about LLMClients */ static getStats(): Promise<ClientStats>; } export type PresetName = 'coding-agent' | 'creative-writer' | 'data-analyst' | 'translator' | 'customer-support' | 'research-agent'; export declare const CLIENT_PRESETS: Record<PresetName, Omit<LLMClientConfig, 'id'>>; export interface BatchOperation { type: 'create' | 'update' | 'delete' | 'activate' | 'deactivate'; id?: string; config?: LLMClientConfig; updates?: Partial<LLMClientConfig>; } export interface BatchResult { operation: BatchOperation; success: boolean; result?: any; error?: string; } export interface ClientStats { total: number; active: number; inactive: number; byProvider: Record<string, number>; popularTags: { tag: string; count: number; }[]; recentlyUpdated: { id: string; name: string; updatedAt?: Date; }[]; }