/** * 릴리스 노트 / What's New 텍스트 사전 검증. * * 스토어 측 거부 패턴(HTML 마크업, 길이 초과, 백슬래시 가격 표기 등)을 * API 호출 전에 잡아 round-trip 낭비와 무지한 재시도를 차단. * * 모든 detection 은 정규식 기반 단순 휴리스틱 — false positive 최소화를 * 위해 실측으로 거부된 패턴만 포함한다. */ export type ValidationCode = "HTML_TAG" | "LENGTH_EXCEEDED" | "BACKSLASH_PRICE"; export interface ValidationIssue { code: ValidationCode; message: string; /** 0-based 문자 인덱스. LENGTH_EXCEEDED 에는 없음. */ position?: number; /** 문제 구간 ±10자 잘라낸 문자열 (HTML/BACKSLASH 위치 표시용). */ excerpt?: string; } export interface ValidationResult { ok: boolean; issues: ValidationIssue[]; } /** App Store What's New 검증 — 길이(≤4000) + HTML 태그 거부. */ export declare function validateAppStoreWhatsNew(text: string): ValidationResult; /** Play release notes 검증 — 길이(≤500) + HTML + 백슬래시 가격. */ export declare function validatePlayReleaseNotes(text: string): ValidationResult; /** 사용자 친화 메시지로 포맷. MCP 도구가 거부 응답에 그대로 노출. */ export declare function formatIssuesForUser(issues: ValidationIssue[]): string; export declare const __testing: { MAX_APPSTORE_WHATSNEW: number; MAX_PLAY_RELEASE_NOTES: number; HTML_TAG_PATTERN: RegExp; BACKSLASH_PRICE_PATTERN: RegExp; };