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

64 lines 3.27 kB
/** * Regex-паттерны и маскировщики для PII redaction. * * Контракт: все функции — pure (без side effects), принимают строку и * возвращают строку с применённой маской. Поведение детерминировано; * порядок применения — IP → email → JWT → credit card → phone, чтобы более * специфичные совпадения (например IP внутри текста) не были разрушены * последующими более «жадными» regex'ами. */ /** IPv4: четыре октета 0–255, разделены `.`. */ export declare const IPV4_RE: RegExp; /** * IPv6 (упрощённо): 2–8 групп hex, разделённых `:`, с поддержкой `::`-сжатия. * Не идеально, но покрывает типичные случаи в логах. False-positives на адресах * вида `aaaa:bbbb` принимаемы — мы перестрахуемся. */ export declare const IPV6_RE: RegExp; /** Email: local-part + @ + domain. */ export declare const EMAIL_RE: RegExp; /** * JWT: три base64url-сегмента, разделённые точкой. Начало `eyJ` (header `{"`) * добавлено как anchor для снижения false-positives. */ export declare const JWT_RE: RegExp; /** Bearer/Authorization header value. */ export declare const BEARER_RE: RegExp; /** * Phone: loose — от 8 цифр, **обязательно** с `+` префиксом или хотя бы * одним разделителем (пробел / скобка / дефис). Это исключает совпадения * с длинными числовыми ID и неаутентичными номерами карт. */ export declare const PHONE_RE: RegExp; /** * Credit card: 13–19 цифр с опциональными разделителями. После regex применяем * Luhn-check, чтобы не маскировать обычные числовые ID. */ export declare const CARD_RE: RegExp; /** * Заменить IPv4 на «анонимизированный»: 192.168.1.42 → 192.168.1.0. * IPv6 → /64 prefix (первые 4 группы + ::). */ export declare function maskIpv4(ip: string): string; export declare function maskIpv6(ip: string): string; /** Luhn algorithm для credit card validation. */ export declare function luhnValid(digits: string): boolean; export declare const REDACTION_TOKENS: { readonly ip: "[IP_REDACTED]"; readonly email: "[EMAIL_REDACTED]"; readonly jwt: "[JWT_REDACTED]"; readonly bearer: "[BEARER_REDACTED]"; readonly phone: "[PHONE_REDACTED]"; readonly card: "[CARD_REDACTED]"; }; /** * Применить все базовые правки к строке. Порядок важен (см. §1). * * Возвращает { value, fieldsHit } — массив имён полей, которые сработали * (для метрик / `_meta.redactionFields`). */ export declare function redactString(input: string): { value: string; fieldsHit: string[]; }; //# sourceMappingURL=fields.d.ts.map