llmxml
Version:
Convert between markdown and LLM-friendly pseudo-XML
30 lines (28 loc) • 950 B
text/typescript
export interface LLMXMLOptions {
/** Default threshold for fuzzy matching (0-1, default: 0.7) */
defaultFuzzyThreshold?: number;
/** Warning emission level (default: 'all') */
warningLevel?: 'all' | 'none' | 'ambiguous-only';
/** Include hlevel attribute in XML output (default: false) */
includeHlevel?: boolean;
/** Include title attribute in XML output (default: false) */
includeTitle?: boolean;
/** Include both hlevel and title attributes (default: false) */
verbose?: boolean;
/** Tag name format (default: 'PascalCase') */
tagFormat?: 'snake_case' | 'SCREAMING_SNAKE' | 'camelCase' | 'PascalCase' | 'UPPERCASE';
}
export interface Warning {
/** Warning code */
code: string;
/** Human-readable message */
message: string;
/** Additional context */
details?: any;
}
export type ErrorCode =
| 'SECTION_NOT_FOUND'
| 'PARSE_ERROR'
| 'INVALID_FORMAT'
| 'INVALID_LEVEL'
| 'INVALID_SECTION_OPTIONS';