@inso_web/els-mcp
Version:
MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.
38 lines • 1.47 kB
TypeScript
import type { Logger } from 'pino';
import type { RedisService } from './redis.js';
export interface CacheServiceDeps {
redis: RedisService;
log?: Logger;
/** Tool-class label, используется в метриках. По умолчанию — извлекается из key. */
toolClass?: string;
}
export interface CacheOptions {
/** Tool-class для метрик. Если не задан — берётся из CacheServiceDeps. */
toolClass?: string;
/** Bypass cache (всегда вызывать loader). */
bypass?: boolean;
}
export declare class CacheService {
private readonly deps;
constructor(deps: CacheServiceDeps);
/**
* Lookup-aside fetch.
*
* Loader НЕ вызывается, если был cache hit. Ошибки loader'а — пробрасываются
* (не кэшируем negative result).
*/
cached<T>(key: string, ttlSec: number, loader: () => Promise<T>, opts?: CacheOptions): Promise<{
value: T;
cached: boolean;
}>;
}
/**
* Static convenience helper (для случаев без CacheService instance).
*
* НЕ рекомендуется в production коде — используйте `CacheService.cached()`.
*/
export declare function cached<T>(redis: RedisService, key: string, ttlSec: number, loader: () => Promise<T>, log?: Logger): Promise<{
value: T;
cached: boolean;
}>;
//# sourceMappingURL=wrapper.d.ts.map