v0-ui-reviewer
Version:
Next-gen UI/UX reviewer with multi-model AI support (OpenAI, Claude, v0), style extraction, and live preview sandbox
44 lines (43 loc) • 1.34 kB
TypeScript
import { PromptVariables } from './prompts.js';
export type AIModel = 'v0' | 'gpt-4' | 'gpt-4-turbo' | 'gpt-3.5-turbo' | 'o3-mini' | 'claude-3-opus' | 'claude-3-sonnet' | 'claude-3-haiku' | 'claude-sonnet-4';
export interface AIServiceConfig {
openaiApiKey?: string;
anthropicApiKey?: string;
v0ApiKey?: string;
defaultModel?: AIModel;
verbose?: boolean;
}
export interface ChatMessage {
role: 'system' | 'user' | 'assistant';
content: string;
imageUrl?: string;
}
export interface ChatOptions {
model?: AIModel;
temperature?: number;
maxTokens?: number;
systemPrompt?: string;
promptVariables?: PromptVariables;
}
export declare class MultiModelAIService {
private openai?;
private anthropic?;
private v0ApiKey?;
private defaultModel;
private verbose;
private rateLimiter;
constructor(config?: AIServiceConfig);
private log;
chat(messages: ChatMessage[], options?: ChatOptions): Promise<string>;
private chatWithV0;
private chatWithOpenAI;
private chatWithClaude;
isModelAvailable(model: AIModel): Promise<boolean>;
private getServiceForModel;
getAvailableModels(): AIModel[];
getModelCapabilities(model: AIModel): {
supportsImages: boolean;
maxTokens: number;
};
}
export default MultiModelAIService;