UNPKG

@hashbrownai/core

Version:

Runtime helpers for Hashbrown AI

133 lines 3.07 kB
type MagicParseResult = { fragments: Fragment[]; warnings: ParseWarning[]; meta: { citationOrder: string[]; citationNumbers: Record<string, number | string>; stats: { chars: number; runs: number; fragments: number; }; }; }; type BaseFragment = { id: string; range: { start: number; end: number; }; state: 'final' | 'provisional'; rev: number; }; type LinkMark = { href: string; title?: string; ariaLabel?: string; target?: string; rel?: string; unknownAttrs?: Record<string, string>; policy: 'allowed'; }; type MarkSet = { strong?: true; em?: true; code?: true; link?: LinkMark; }; type TextFragment = BaseFragment & { kind: 'text'; text: string; marks: MarkSet; }; type CitationFragment = BaseFragment & { kind: 'citation'; text: string; marks: Record<string, never>; citation: { id: string; number: number | string; }; }; type Fragment = TextFragment | CitationFragment; type ParseWarning = { code: 'unknown_link_attr'; key: string; range: [number, number]; } | { code: 'disallowed_protocol'; href: string; range: [number, number]; } | { code: 'unmatched_closer'; token: string; range: [number, number]; } | { code: 'unterminated_construct'; kind: 'em' | 'strong' | 'link' | 'citation' | 'attrs' | 'title' | 'code'; at: number; }; /** * Supported MagicText formatting tags. * @public */ export type MagicTextTag = 'strong' | 'em'; /** * Whitespace flags attached to fragments for rendering fidelity. * @public */ export type MagicTextHasWhitespace = { before: boolean; after: boolean; }; /** * Renderable text fragment produced by MagicText parsing. * @public */ export type MagicTextFragmentText = TextFragment & { type: 'text'; key: string; tags: MagicTextTag[]; wrappers: MagicTextTag[]; whitespace: FragmentWhitespace; renderWhitespace: MagicTextHasWhitespace; isCode: boolean; isStatic: boolean; }; /** * Citation fragment produced by MagicText parsing. * @public */ export type MagicTextFragmentCitation = CitationFragment & { type: 'citation'; key: string; wrappers?: undefined; whitespace: FragmentWhitespace; renderWhitespace: MagicTextHasWhitespace; isStatic: boolean; }; /** * Union of all MagicText fragment variants. * @public */ export type MagicTextFragment = MagicTextFragmentText | MagicTextFragmentCitation; /** * Parsed MagicText result including fragments and warnings. * @public */ export type MagicTextResult = { fragments: MagicTextFragment[]; warnings: ParseWarning[]; meta: MagicParseResult['meta']; }; type FragmentWhitespace = { before: boolean; after: boolean; }; /** * Parses raw MagicText into renderable fragments with whitespace hints. * @public */ export declare function prepareMagicText(input: string): MagicTextResult; export {}; //# sourceMappingURL=magic-text.d.ts.map