codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
151 lines • 4.28 kB
TypeScript
export interface HuggingFaceConfig {
enabled: boolean;
apiKey?: string;
baseUrl: string;
timeout: number;
}
export interface ModelInfo {
id: string;
name: string;
description: string;
downloads: number;
likes: number;
tags: string[];
pipeline_tag?: string;
library_name?: string;
language?: string[];
license?: string;
modelType: 'text-generation' | 'text-classification' | 'translation' | 'summarization' | 'question-answering' | 'other';
}
export interface DatasetInfo {
id: string;
name: string;
description: string;
downloads: number;
likes: number;
tags: string[];
size?: string;
language?: string[];
license?: string;
}
export interface SpaceInfo {
id: string;
name: string;
description: string;
likes: number;
sdk?: string;
tags: string[];
runtime?: string;
}
/**
* Hugging Face MCP Tool Integration
*
* Provides access to Hugging Face Hub for model discovery,
* dataset exploration, and space browsing.
*/
export declare class HuggingFaceTool {
private config;
private requestCount;
constructor(config: HuggingFaceConfig);
/**
* Search for models with advanced filtering
*/
searchModels(query: string, options?: {
task?: string;
library?: string;
language?: string;
license?: string;
sort?: 'downloads' | 'likes' | 'updated' | 'created';
direction?: 'asc' | 'desc';
limit?: number;
filter?: string;
}): Promise<ModelInfo[]>;
/**
* Get detailed information about a specific model
*/
getModelInfo(modelId: string): Promise<ModelInfo>;
/**
* Search for datasets
*/
searchDatasets(query: string, options?: {
task?: string;
language?: string;
size?: string;
license?: string;
sort?: 'downloads' | 'likes' | 'updated' | 'created';
direction?: 'asc' | 'desc';
limit?: number;
}): Promise<DatasetInfo[]>;
/**
* Search for Spaces (demos/applications)
*/
searchSpaces(query: string, options?: {
sdk?: string;
sort?: 'likes' | 'updated' | 'created';
direction?: 'asc' | 'desc';
limit?: number;
}): Promise<SpaceInfo[]>;
/**
* Find models suitable for a specific coding task
*/
findCodeModels(task: 'code-generation' | 'code-completion' | 'code-explanation' | 'bug-fixing' | 'code-translation', language?: string): Promise<ModelInfo[]>;
/**
* Get trending models in a specific category
*/
getTrendingModels(category?: string, timeframe?: 'day' | 'week' | 'month'): Promise<ModelInfo[]>;
/**
* Find models by specific criteria for coding assistance
*/
findModelsByCriteria(criteria: {
language?: string[];
size?: 'small' | 'medium' | 'large';
performance?: 'fast' | 'balanced' | 'quality';
license?: 'commercial' | 'research' | 'open';
task?: string;
}): Promise<ModelInfo[]>;
/**
* Get model recommendations based on a use case description
*/
getModelRecommendations(useCase: string, constraints?: {
maxSize?: string;
requiresCommercialLicense?: boolean;
preferredLibrary?: string;
performanceRequirement?: 'speed' | 'quality' | 'balanced';
}): Promise<{
recommended: ModelInfo[];
alternatives: ModelInfo[];
reasoning: string;
}>;
/**
* Private helper methods
*/
private processModelInfo;
private processDatasetInfo;
private processSpaceInfo;
private categorizeModel;
private analyzeUseCase;
private filterModelsByConstraints;
private generateRecommendationReasoning;
private getHeaders;
private handleError;
/**
* Public utility methods
*/
/**
* Test API connectivity
*/
testConnection(): Promise<boolean>;
/**
* Get usage statistics
*/
getUsageStats(): any;
/**
* Get model download URL for local use
*/
getModelDownloadUrl(modelId: string): string;
/**
* Get model card URL for detailed information
*/
getModelCardUrl(modelId: string): string;
}
//# sourceMappingURL=huggingface-tool.d.ts.map