capsule-ai-cli
Version:
The AI Model Orchestrator - Intelligent multi-model workflows with device-locked licensing
62 lines • 1.95 kB
TypeScript
export interface ModelArchitecture {
input_modalities: string[];
output_modalities: string[];
tokenizer: string;
instruct_type: string | null;
}
export interface ModelPricing {
prompt: string;
completion: string;
request: string;
image: string;
web_search: string;
internal_reasoning: string;
input_cache_read: string;
input_cache_write: string;
}
export interface TopProvider {
context_length: number;
max_completion_tokens: number;
is_moderated: boolean;
}
export interface OpenRouterModel {
id: string;
canonical_slug: string;
name: string;
created: number;
description: string;
context_length: number;
architecture: ModelArchitecture;
pricing: ModelPricing;
top_provider: TopProvider;
per_request_limits: any;
supported_parameters: string[];
}
export interface ModelsResponse {
data: OpenRouterModel[];
}
declare class OpenRouterModelsService {
private cache;
private toolSupportedCache;
private cacheTimestamp;
private readonly CACHE_DURATION;
private readonly API_URL;
fetchModels(forceRefresh?: boolean, toolsOnly?: boolean): Promise<OpenRouterModel[]>;
private saveToLocalCache;
private loadFromLocalCache;
private getDefaultModels;
getModelsByProvider(provider: string): OpenRouterModel[];
getModel(modelId: string): OpenRouterModel | undefined;
getAvailableProviders(): string[];
getModelPricing(modelId: string): {
prompt: number;
completion: number;
} | null;
getModelContextLength(modelId: string): number;
modelSupports(modelId: string, parameter: string): boolean;
isModelAvailable(modelId: string, _mode: 'agent' | 'plan' | 'orchestrator' | 'auto'): boolean;
getToolSupportedModels(): OpenRouterModel[];
}
export declare const openRouterModelsService: OpenRouterModelsService;
export {};
//# sourceMappingURL=openrouter-models.d.ts.map