export interface EnhancementVariant {
readonly id: string;
readonly label: string;
readonly description: string;
readonly prompt: string;
readonly icon?: string;
readonly timestamp?: number;
}
export interface EnhancementResult {
success: boolean;
variant?: EnhancementVariant;
error?: string;
duration?: number;
}
export interface LLMClient {
call(options: {
systemPrompt: string;
userPrompt: string;
temperature: number;
}): Promise<string>;
isAvailable(): Promise<boolean>;
getModelInfo(): Promise<any>;
}
export class EnhancerError extends Error {
constructor(
public enhancerId: string,
public originalPrompt: string,
public retryCount: number,
message: string,
) {
super(message);
this.name = "EnhancerError";
}
}
export interface GenerationOptions {
input: string;
temperature: number;
maxRetries?: number;
timeout?: number;
}
export interface Enhancer {
readonly id: string;
readonly label: string;
readonly description: string;
readonly systemPrompt: string;
readonly icon: string;
generate(
originalPrompt: string,
options: GenerationOptions,
): Promise<EnhancementVariant>;
}
export interface PluginConfig {
enabledEnhancers: string[];
temperature: number;
maxVariants: number;
}