@baguskto/saham
Version:
MCP Server untuk data saham Indonesia (IDX) - Implementasi Node.js/TypeScript
36 lines • 1.68 kB
TypeScript
/**
* Base data source implementation
*/
import type { StockInfo, MarketOverview, HistoricalData, SectorPerformance, SearchResult, DataSourcePriority, DataSourceStats } from '../types';
export declare abstract class DataSource {
protected name: string;
protected priority: DataSourcePriority;
protected timeout: number;
protected stats: DataSourceStats;
constructor(name: string, priority: DataSourcePriority, timeout?: number);
abstract getStockInfo(ticker: string): Promise<StockInfo | null>;
abstract getMarketOverview(): Promise<MarketOverview | null>;
abstract getHistoricalData(ticker: string, period: string): Promise<HistoricalData | null>;
abstract getSectorPerformance(): Promise<SectorPerformance | null>;
abstract searchStocks(query: string): Promise<SearchResult[]>;
protected makeRequest<T>(requestName: string, requestFn: () => Promise<T>): Promise<T | null>;
private createTimeoutPromise;
private updateStats;
getStats(): DataSourceStats;
getName(): string;
getPriority(): DataSourcePriority;
isHealthy(): boolean;
}
export declare class DataSourceManager {
private sources;
addSource(source: DataSource): void;
getStockInfo(ticker: string): Promise<StockInfo | null>;
getMarketOverview(): Promise<MarketOverview | null>;
getHistoricalData(ticker: string, period: string): Promise<HistoricalData | null>;
getSectorPerformance(): Promise<SectorPerformance | null>;
searchStocks(query: string): Promise<SearchResult[]>;
private tryDataSources;
getStats(): Record<string, DataSourceStats>;
getHealthySources(): DataSource[];
}
//# sourceMappingURL=base.d.ts.map