UNPKG

@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-запуска.

45 lines 2.31 kB
/** * Tier matrix MCP — single source of truth. * * Поля: * - reqPerDay — основной cut-off limit для tool-calls * - concurrentSse — SSE-сессий per app * - aiPerDay — лимит на AI-explain (отдельный counter) * - graceFraction — 10 % grace выше дневного лимита перед hard cut-off */ export type Tier = 'FREE' | 'STANDARD' | 'PREMIUM' | 'UNLIMITED'; export interface TierLimits { reqPerDay: number; concurrentSse: number; aiPerDay: number; graceFraction: number; } export declare const TIER_LIMITS: Record<Tier, TierLimits>; export interface QuotaDecision { /** True → запрос можно пропускать. */ allowed: boolean; /** Сколько req осталось до дневного лимита (или Infinity для UNLIMITED). */ remaining: number; /** True → клиент уже в grace-зоне (warning, но allowed). */ overage?: boolean; /** Если !allowed — сколько секунд до сброса. */ retryAfter?: number; /** Текущий tier (echo back). */ tier: Tier; } /** Секунд до конца текущих UTC-суток. */ export declare function secondsUntilUtcMidnight(now?: Date): number; /** Чистое решение: принимает текущий счётчик и tier, возвращает decision. */ export declare function decideQuota(currentUsed: number, tier: Tier): QuotaDecision; /** * Чистое решение для AI-quota: принимает текущий AI-счётчик и tier. * Используется только для tools, помеченных как AI (например, `explain_error`). * * Семантика отличается от `decideQuota`: AI-quota — hard cut-off без grace * (генерация дорогая, нет смысла превышать). */ export declare function decideAiQuota(currentUsed: number, tier: Tier): QuotaDecision; /** Список tool-имён, считающихся AI (используют отдельную AI-квоту). */ export declare const AI_TOOL_NAMES: ReadonlySet<string>; export declare function isAiTool(toolName: string): boolean; //# sourceMappingURL=limits.d.ts.map