@unified-llm/core
Version:
Unified LLM interface.
73 lines (72 loc) • 2.27 kB
TypeScript
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;
}[];
}