rcc-pipeline
Version:
RCC Pipeline Module - Pipeline system and workflow management based on pipeline-framework
96 lines • 2.88 kB
TypeScript
/**
* Module Scanner - Discovers and manages available providers
* 模块扫描器 - 发现并管理可用的provider
*/
import BaseProvider from './BaseProvider';
import { PipelineTarget } from './Pipeline';
import { VirtualModelConfig } from '../types/virtual-model';
export interface ProviderDiscoveryOptions {
enabledProviders?: string[];
excludeProviders?: string[];
includeTestProviders?: boolean;
}
export interface ProviderInfo {
id: string;
name: string;
version: string;
type: string;
capabilities: string[];
enabled: boolean;
className: string;
modulePath?: string;
}
export interface DiscoveredProvider {
info: ProviderInfo;
instance: BaseProvider | null;
status: 'available' | 'unavailable' | 'error';
error?: string;
}
export declare class ModuleScanner {
private availableProviders;
private providerInstances;
private isInitialized;
constructor();
/**
* Initialize provider registry with known providers
* 用已知的provider初始化注册表
*/
private initializeProviderRegistry;
/**
* Scan and discover available providers based on options
* 根据选项扫描并发现可用的provider
*/
scan(options?: ProviderDiscoveryOptions): Promise<DiscoveredProvider[]>;
/**
* Load provider instance using imported classes
* 使用导入的类加载provider实例
*/
private loadProvider;
/**
* Get discovered provider by ID
* 通过ID获取发现的provider
*/
getProvider(providerId: string): BaseProvider | null;
/**
* Get all discovered providers
* 获取所有发现的provider
*/
getAllProviders(): Map<string, BaseProvider>;
/**
* Get provider information
* 获取provider信息
*/
getProviderInfo(providerId: string): ProviderInfo | null;
/**
* Select providers based on criteria (provider + model + compatibility)
* 根据条件选择provider(provider + 模型 + 兼容性)
*/
selectProviders(criteria?: {
provider?: string;
model?: string;
compatibility?: string;
capability?: string;
}): BaseProvider[];
/**
* Create pipeline targets from virtual model configuration and discovered providers
* 从虚拟模型配置和发现的provider创建流水线目标
*/
createTargetsFromVirtualModel(virtualModel: VirtualModelConfig): PipelineTarget[];
/**
* Get scanner status
* 获取扫描器状态
*/
getStatus(): {
initialized: boolean;
totalProviders: number;
availableProviders: number;
providerIds: string[];
};
/**
* Clear all cached providers
* 清空所有缓存的provider
*/
clear(): void;
}
export default ModuleScanner;
//# sourceMappingURL=ModuleScanner.d.ts.map