flappa-doormal 2.17.1 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -372,6 +372,45 @@ type RuleConstraints = PageRangeConstraintWithExclude & {
372
372
  * { lineStartsWith: ['{{naql}}'], fuzzy: true, pageStartGuard: '{{tarqim}}' }
373
373
  */
374
374
  pageStartGuard?: string;
375
+ /**
376
+ * Suppress page-start matches when the previous page's last Arabic word
377
+ * is in this stoplist, unless that page ends with strong sentence punctuation.
378
+ *
379
+ * This is useful for dictionary-like content where a page break can split
380
+ * a phrase such as `قال` / `العجاج:` across two pages, causing a false entry
381
+ * start at the top of the next page.
382
+ *
383
+ * Notes:
384
+ * - Applies ONLY at page starts, not to mid-page matches.
385
+ * - Matching is exact after Arabic normalization:
386
+ * diacritics are ignored and common variants like ا/أ/إ/آ are tolerated.
387
+ *
388
+ * @example
389
+ * {
390
+ * regex: '^(?<lemma>[ء-غف-ي]+):',
391
+ * pageStartPrevWordStoplist: ['قال', 'وقيل', 'ويقال']
392
+ * }
393
+ */
394
+ pageStartPrevWordStoplist?: string[];
395
+ /**
396
+ * Suppress matches when the immediately previous Arabic word on the SAME page
397
+ * is in this stoplist.
398
+ *
399
+ * This is useful for dictionary-like content where phrases such as
400
+ * `جلّ وعزّ:` should not be treated as a new entry starting at `وعزّ:`.
401
+ *
402
+ * Notes:
403
+ * - Applies only to non-page-start matches.
404
+ * - Matching is exact after Arabic normalization:
405
+ * diacritics are ignored and common variants like ا/أ/إ/آ are tolerated.
406
+ *
407
+ * @example
408
+ * {
409
+ * regex: '(?<lemma>وعزّ):',
410
+ * samePagePrevWordStoplist: ['جل']
411
+ * }
412
+ */
413
+ samePagePrevWordStoplist?: string[];
375
414
  };
376
415
  /**
377
416
  * A complete split rule combining pattern, behavior, and constraints.
@@ -633,7 +672,7 @@ type SegmentationOptions = {
633
672
  * - `\\n` - Break at line breaks (useful for OCR content)
634
673
  * - `''` - Break at page boundary (always works)
635
674
  *
636
- * Only applied to segments exceeding `maxPages`.
675
+ * Applied to segments that exceed `maxPages` or `maxContentLength`.
637
676
  *
638
677
  * @example
639
678
  * // Simple patterns (backward compatible)
@@ -1082,67 +1121,98 @@ declare const fixTrailingWaw: (text: string) => string;
1082
1121
  */
1083
1122
  declare const applyPreprocessToPage: (content: string, pageId: number, transforms: PreprocessTransform[]) => string;
1084
1123
  //#endregion
1085
- //#region src/recovery.d.ts
1086
- type MarkerRecoverySelector = {
1087
- type: 'rule_indices';
1088
- indices: number[];
1089
- } | {
1090
- type: 'lineStartsAfter_patterns';
1091
- match?: 'exact' | 'normalized';
1092
- patterns: string[];
1093
- } | {
1094
- type: 'predicate';
1095
- predicate: (rule: SplitRule, index: number) => boolean;
1096
- };
1097
- type MarkerRecoveryRun = {
1098
- options: SegmentationOptions;
1099
- pages: Page[];
1100
- segments: Segment[];
1101
- selector: MarkerRecoverySelector;
1102
- };
1103
- type MarkerRecoveryReport = {
1104
- summary: {
1105
- mode: 'rerun_only' | 'best_effort_then_rerun';
1106
- recovered: number;
1107
- totalSegments: number;
1108
- unchanged: number;
1109
- unresolved: number;
1110
- };
1111
- byRun?: Array<{
1112
- recovered: number;
1113
- runIndex: number;
1114
- totalSegments: number;
1115
- unresolved: number;
1116
- }>;
1117
- details: Array<{
1118
- from: number;
1119
- originalStartPreview: string;
1120
- recoveredPrefixPreview?: string;
1121
- recoveredStartPreview?: string;
1122
- segmentIndex: number;
1123
- status: 'recovered' | 'skipped_idempotent' | 'unchanged' | 'unresolved_alignment' | 'unresolved_selector';
1124
- strategy: 'rerun' | 'stage1' | 'none';
1125
- to?: number;
1126
- notes?: string[];
1127
- }>;
1128
- errors: string[];
1129
- warnings: string[];
1130
- };
1131
- type NormalizeCompareMode = 'none' | 'whitespace' | 'whitespace_and_nfkc';
1132
- declare function recoverMistakenLineStartsAfterMarkers(pages: Page[], segments: Segment[], options: SegmentationOptions, selector: MarkerRecoverySelector, opts?: {
1133
- mode?: 'rerun_only' | 'best_effort_then_rerun';
1134
- normalizeCompare?: NormalizeCompareMode;
1135
- }): {
1136
- report: MarkerRecoveryReport;
1137
- segments: Segment[];
1138
- };
1139
- declare function recoverMistakenMarkersForRuns(runs: MarkerRecoveryRun[], opts?: {
1140
- mode?: 'rerun_only' | 'best_effort_then_rerun';
1141
- normalizeCompare?: NormalizeCompareMode;
1142
- }): {
1143
- report: MarkerRecoveryReport;
1144
- segments: Segment[];
1145
- };
1124
+ //#region src/segmentation/arabic-dictionary-rule.d.ts
1125
+ interface ArabicDictionaryEntryRuleOptions {
1126
+ /**
1127
+ * Words that should never be treated as lemmas when followed by a colon.
1128
+ *
1129
+ * Matching is Arabic-normalized, diacritic-insensitive, and exact. Callers
1130
+ * should provide canonical forms only; vocalized variants do not need to be
1131
+ * listed separately.
1132
+ */
1133
+ stopWords: string[];
1134
+ /**
1135
+ * Allow balanced parenthesized headwords like `(عنبر):` or `(عنبر) :`.
1136
+ * @default false
1137
+ */
1138
+ allowParenthesized?: boolean;
1139
+ /**
1140
+ * Allow optional whitespace before the trailing colon.
1141
+ * @default false
1142
+ */
1143
+ allowWhitespaceBeforeColon?: boolean;
1144
+ /**
1145
+ * Allow comma-separated headword lists like `سبد، دبس:`.
1146
+ * @default false
1147
+ */
1148
+ allowCommaSeparated?: boolean;
1149
+ /**
1150
+ * Suppress page-start matches when the previous page's last Arabic word
1151
+ * is in this stoplist, unless that page ends with strong sentence punctuation.
1152
+ */
1153
+ pageStartPrevWordStoplist?: string[];
1154
+ /**
1155
+ * Suppress non-page-start matches when the immediately previous Arabic word
1156
+ * on the same page is in this stoplist.
1157
+ */
1158
+ samePagePrevWordStoplist?: string[];
1159
+ /**
1160
+ * Named capture key for the matched lemma.
1161
+ * @default 'lemma'
1162
+ */
1163
+ captureName?: string;
1164
+ /**
1165
+ * Minimum number of Arabic base letters in a lemma.
1166
+ * @default 2
1167
+ */
1168
+ minLetters?: number;
1169
+ /**
1170
+ * Maximum number of Arabic base letters in a lemma.
1171
+ * @default 10
1172
+ */
1173
+ maxLetters?: number;
1174
+ /**
1175
+ * Static metadata merged into matching segments.
1176
+ */
1177
+ meta?: Record<string, unknown>;
1178
+ }
1179
+ /**
1180
+ * Creates a reusable split rule for Arabic dictionary entries.
1181
+ *
1182
+ * The generated rule:
1183
+ * - keeps the lemma marker in `segment.content`
1184
+ * - stores the lemma in `segment.meta[captureName]`
1185
+ * - matches root entries at true line/page starts
1186
+ * - matches mid-line subentries conservatively when they begin with `و`
1187
+ * - can optionally support parenthesized headwords like `(عنبر) :`
1188
+ * - can optionally support comma-separated headword lists like `سبد، دبس:`
1189
+ *
1190
+ * @example
1191
+ * createArabicDictionaryEntryRule({
1192
+ * stopWords: ['وقيل', 'ويقال', 'قال'],
1193
+ * pageStartPrevWordStoplist: ['قال', 'وقيل', 'ويقال'],
1194
+ * })
1195
+ *
1196
+ * @example
1197
+ * createArabicDictionaryEntryRule({
1198
+ * allowParenthesized: true,
1199
+ * allowWhitespaceBeforeColon: true,
1200
+ * allowCommaSeparated: true,
1201
+ * stopWords: ['الليث', 'العجاج'],
1202
+ * })
1203
+ */
1204
+ declare const createArabicDictionaryEntryRule: ({
1205
+ allowCommaSeparated,
1206
+ allowParenthesized,
1207
+ allowWhitespaceBeforeColon,
1208
+ captureName,
1209
+ maxLetters,
1210
+ meta,
1211
+ minLetters,
1212
+ pageStartPrevWordStoplist,
1213
+ samePagePrevWordStoplist,
1214
+ stopWords
1215
+ }: ArabicDictionaryEntryRuleOptions) => SplitRule;
1146
1216
  //#endregion
1147
1217
  //#region src/segmentation/breakpoint-utils.d.ts
1148
1218
  /**
@@ -1199,7 +1269,7 @@ declare const getSegmentDebugReason: (segment: Segment, options?: DebugReasonOpt
1199
1269
  /**
1200
1270
  * Types of validation issues that can be detected.
1201
1271
  */
1202
- type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern';
1272
+ type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern' | 'invalid_regex';
1203
1273
  /**
1204
1274
  * A validation issue found in a pattern.
1205
1275
  */
@@ -1219,6 +1289,7 @@ type RuleValidationResult = {
1219
1289
  lineStartsAfter?: (ValidationIssue | undefined)[];
1220
1290
  lineEndsWith?: (ValidationIssue | undefined)[];
1221
1291
  template?: ValidationIssue;
1292
+ regex?: ValidationIssue;
1222
1293
  };
1223
1294
  /**
1224
1295
  * Validates split rules for common pattern issues.
@@ -1301,6 +1372,26 @@ declare const formatValidationReport: (results: (RuleValidationResult | undefine
1301
1372
  declare const segmentPages: (pages: Page[], options: SegmentationOptions) => Segment[];
1302
1373
  //#endregion
1303
1374
  //#region src/segmentation/tokens.d.ts
1375
+ /**
1376
+ * Arabic base letters used by low-level dictionary-style regex helpers.
1377
+ *
1378
+ * This is intentionally broader than `{{harf}}`:
1379
+ * - includes standalone hamza `ء`
1380
+ * - stays as a raw regex fragment rather than a template token
1381
+ */
1382
+ declare const ARABIC_BASE_LETTER_CLASS = "[\u0621-\u063A\u0641-\u064A]";
1383
+ /**
1384
+ * Arabic combining marks / annotation signs used by low-level regex helpers.
1385
+ */
1386
+ declare const ARABIC_MARKS_CLASS = "[\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]";
1387
+ /**
1388
+ * A single Arabic base letter followed by zero or more combining marks.
1389
+ */
1390
+ declare const ARABIC_LETTER_WITH_OPTIONAL_MARKS_PATTERN = "[\u0621-\u063A\u0641-\u064A][\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]*";
1391
+ /**
1392
+ * One or more Arabic letters, where each letter may carry combining marks.
1393
+ */
1394
+ declare const ARABIC_WORD_WITH_OPTIONAL_MARKS_PATTERN = "(?:[\u0621-\u063A\u0641-\u064A][\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]*)+";
1304
1395
  /** Pre-defined token constants for use in patterns. */
1305
1396
  declare const Token: {
1306
1397
  /** Chapter marker - باب */readonly BAB: "{{bab}}"; /** Basmala - بسم الله */
@@ -1308,7 +1399,7 @@ declare const Token: {
1308
1399
  readonly BULLET: "{{bullet}}"; /** Dash variants (hyphen, en-dash, em-dash, tatweel) */
1309
1400
  readonly DASH: "{{dash}}"; /** Section marker - فصل / مسألة */
1310
1401
  readonly FASL: "{{fasl}}"; /** Single Arabic letter */
1311
- readonly HARF: "{{harf}}"; /** Multiple Arabic letters separated by spaces */
1402
+ readonly HARF: "{{harf}}"; /** Multiple Arabic letters separated by spaces, allowing marks/tatweel on each isolated letter */
1312
1403
  readonly HARFS: "{{harfs}}"; /** Horizontal rule / separator (repeated dashes) */
1313
1404
  readonly HR: "{{hr}}"; /** Book marker - كتاب */
1314
1405
  readonly KITAB: "{{kitab}}"; /** Hadith transmission phrases */
@@ -1326,6 +1417,10 @@ declare const Token: {
1326
1417
  * Type representing valid token constant keys.
1327
1418
  */
1328
1419
  type TokenKey = keyof typeof Token;
1420
+ /**
1421
+ * Type representing valid token pattern names for `getTokenPattern()`.
1422
+ */
1423
+ type TokenPatternName = keyof typeof TOKEN_PATTERNS;
1329
1424
  /** Wraps a token constant with a named capture: `{{token}}` → `{{token:name}}`. */
1330
1425
  declare const withCapture: (token: string, name: string) => string;
1331
1426
  /** Expands composite tokens (e.g. `{{numbered}}`) to their underlying template form. */
@@ -1355,7 +1450,25 @@ declare const expandCompositeTokensInTemplate: (template: string) => string;
1355
1450
  * // Using the numbered convenience token
1356
1451
  * { lineStartsAfter: ['{{numbered}}'], split: 'at' }
1357
1452
  */
1358
- declare const TOKEN_PATTERNS: Record<string, string>;
1453
+ declare const TOKEN_PATTERNS: {
1454
+ /** Chapter marker (باب). */readonly bab: "باب"; /** Basmala (بسم الله). Also matches ﷽. */
1455
+ readonly basmalah: string; /** Bullet point variants: `•`, `*`, `°`. */
1456
+ readonly bullet: "[•*°]"; /** Dash variants: `-` (U+002D), `–` (U+2013), `—` (U+2014), `ـ` (tatweel U+0640). */
1457
+ readonly dash: "[-–—ـ]"; /** Section marker (فصل / مسألة). */
1458
+ readonly fasl: string; /** Single Arabic letter (أ-ي). Does NOT include diacritics. */
1459
+ readonly harf: "[أ-ي]"; /** One or more single Arabic letters separated by spaces, allowing marks/tatweel on each isolated letter (e.g. `د ت س`, `هـ ث`). For multi-letter codes use `{{rumuz}}`. */
1460
+ readonly harfs: "[أ-غف-ي][\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]*(?:\\s+[أ-غف-ي][\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]*)*"; /** Horizontal rule / separator: 5+ repeated dashes, underscores, equals, or tatweels. Mixed allowed. */
1461
+ readonly hr: "[-–—ـ_=]{5,}"; /** Book marker (كتاب). */
1462
+ readonly kitab: "كتاب"; /** Hadith transmission phrases (حدثنا, أخبرنا, حدثني, etc.). */
1463
+ readonly naql: string; /** Newline character. Useful for breakpoints that split on line boundaries. */
1464
+ readonly newline: "\\n"; /** Single ASCII digit (0-9). */
1465
+ readonly num: "\\d"; /** One or more ASCII digits (0-9)+. */
1466
+ readonly nums: "\\d+"; /** Single Arabic-Indic digit (٠-٩, U+0660-U+0669). */
1467
+ readonly raqm: "[\\u0660-\\u0669]"; /** One or more Arabic-Indic digits (٠-٩)+. */
1468
+ readonly raqms: "[\\u0660-\\u0669]+"; /** Rijāl/takhrīj source abbreviations. Matches one or more codes separated by whitespace. */
1469
+ readonly rumuz: string; /** Arabic/common punctuation: `.`, `!`, `?`, `؟`, `؛`. */
1470
+ readonly tarqim: "[.!?؟؛]";
1471
+ };
1359
1472
  /**
1360
1473
  * Checks if a query string contains template tokens.
1361
1474
  *
@@ -1487,28 +1600,28 @@ declare const templateToRegex: (template: string) => RegExp | null;
1487
1600
  * Useful for documentation, validation, or building user interfaces
1488
1601
  * that show available tokens.
1489
1602
  *
1490
- * @returns Array of token names (e.g., `['bab', 'basmala', 'bullet', ...]`)
1603
+ * @returns Array of token names (e.g., `['bab', 'basmalah', 'bullet', ...]`)
1491
1604
  *
1492
1605
  * @example
1493
1606
  * getAvailableTokens()
1494
- * // → ['bab', 'basmala', 'bullet', 'dash', 'harf', 'kitab', 'naql', 'raqm', 'raqms']
1607
+ * // → ['bab', 'basmalah', 'bullet', 'dash', 'harf', 'kitab', 'naql', 'raqm', 'raqms']
1495
1608
  */
1496
- declare const getAvailableTokens: () => string[];
1609
+ declare const getAvailableTokens: () => TokenPatternName[];
1497
1610
  /**
1498
1611
  * Gets the regex pattern for a specific token name.
1499
1612
  *
1500
1613
  * Returns the raw pattern string as defined in `TOKEN_PATTERNS`,
1501
1614
  * without any expansion or capture group wrapping.
1502
1615
  *
1503
- * @param tokenName - The token name to look up (e.g., 'raqms', 'dash')
1504
- * @returns The regex pattern string, or `undefined` if token doesn't exist
1616
+ * @param tokenName - The token name to look up (e.g., `'raqms'`, `'dash'`, `'harfs'`)
1617
+ * @returns The regex pattern string for that known token
1505
1618
  *
1506
1619
  * @example
1507
1620
  * getTokenPattern('raqms') // → '[\\u0660-\\u0669]+'
1508
1621
  * getTokenPattern('dash') // → '[-–—ـ]'
1509
- * getTokenPattern('unknown') // → undefined
1622
+ * getTokenPattern('harfs') // → pattern for spaced isolated Arabic letter codes
1510
1623
  */
1511
- declare const getTokenPattern: (tokenName: string) => string;
1624
+ declare const getTokenPattern: (tokenName: TokenPatternName) => string;
1512
1625
  /**
1513
1626
  * Checks if a pattern (or array of patterns) contains tokens that should
1514
1627
  * default to fuzzy matching.
@@ -1606,6 +1719,16 @@ declare const escapeTemplateBrackets: (pattern: string) => string;
1606
1719
  * escapeRegex('a+b*c?') // → 'a\\+b\\*c\\?'
1607
1720
  */
1608
1721
  declare const escapeRegex: (s: string) => string;
1722
+ /**
1723
+ * Normalizes Arabic text for exact comparisons while tolerating common variants.
1724
+ *
1725
+ * This removes Arabic diacritics, collapses whitespace, removes joiners, and
1726
+ * maps common equivalent letters to a shared canonical form:
1727
+ * - ا/آ/أ/إ -> ا
1728
+ * - ة/ه -> ه
1729
+ * - ى/ي -> ي
1730
+ */
1731
+ declare const normalizeArabicForComparison: (text: string) => string;
1609
1732
  declare const makeDiacriticInsensitive: (text: string) => string;
1610
1733
  //#endregion
1611
1734
  //#region src/validation/validate-segments.d.ts
@@ -1633,5 +1756,5 @@ type ValidationOptions = {
1633
1756
  */
1634
1757
  declare const validateSegments: (pages: Page[], options: SegmentationOptions, segments: Segment[], validationOptions?: ValidationOptions) => SegmentValidationReport;
1635
1758
  //#endregion
1636
- export { type Breakpoint, type BreakpointRule, type CommonLineStartPattern, type CondenseEllipsisRule, type DetectedPattern, type ExpandResult, type FixTrailingWawRule, type LineStartAnalysisOptions, type LineStartPatternExample, type Logger, type MarkerRecoveryReport, type MarkerRecoveryRun, type MarkerRecoverySelector, type OptimizeResult, PATTERN_TYPE_KEYS, type Page, type PageRange, type PageRangeConstraint, type PageRangeConstraintWithExclude, type PatternProcessor, type PatternTypeKey, type PreprocessTransform, type RemoveZeroWidthRule, type RepeatingSequenceExample, type RepeatingSequenceOptions, type RepeatingSequencePattern, type RuleValidationResult, type Segment, type SegmentValidationIssue, type SegmentValidationIssueSeverity, type SegmentValidationIssueType, type SegmentValidationReport, type SegmentationOptions, type SplitRule, TOKEN_PATTERNS, Token, type TokenKey, type TokenMapping, type ValidationIssue, type ValidationIssueType, type ValidationOptions, analyzeCommonLineStarts, analyzeRepeatingSequences, analyzeTextForRule, applyPreprocessToPage, applyTokenMappings, condenseEllipsis, containsTokens, detectTokenPatterns, escapeRegex, escapeTemplateBrackets, escapeWordsOutsideTokens, expandCompositeTokensInTemplate, expandTokens, expandTokensWithCaptures, fixTrailingWaw, formatValidationReport, generateTemplateFromText, getAvailableTokens, getDebugReason, getSegmentDebugReason, getTokenPattern, makeDiacriticInsensitive, optimizeRules, recoverMistakenLineStartsAfterMarkers, recoverMistakenMarkersForRuns, removeZeroWidth, segmentPages, shouldDefaultToFuzzy, stripTokenMappings, suggestPatternConfig, templateToRegex, validateRules, validateSegments, withCapture };
1759
+ export { ARABIC_BASE_LETTER_CLASS, ARABIC_LETTER_WITH_OPTIONAL_MARKS_PATTERN, ARABIC_MARKS_CLASS, ARABIC_WORD_WITH_OPTIONAL_MARKS_PATTERN, type ArabicDictionaryEntryRuleOptions, type Breakpoint, type BreakpointRule, type CommonLineStartPattern, type CondenseEllipsisRule, type DetectedPattern, type ExpandResult, type FixTrailingWawRule, type LineStartAnalysisOptions, type LineStartPatternExample, type Logger, type OptimizeResult, PATTERN_TYPE_KEYS, type Page, type PageRange, type PageRangeConstraint, type PageRangeConstraintWithExclude, type PatternProcessor, type PatternTypeKey, type PreprocessTransform, type RemoveZeroWidthRule, type RepeatingSequenceExample, type RepeatingSequenceOptions, type RepeatingSequencePattern, type RuleValidationResult, type Segment, type SegmentValidationIssue, type SegmentValidationIssueSeverity, type SegmentValidationIssueType, type SegmentValidationReport, type SegmentationOptions, type SplitRule, TOKEN_PATTERNS, Token, type TokenKey, type TokenMapping, type TokenPatternName, type ValidationIssue, type ValidationIssueType, type ValidationOptions, analyzeCommonLineStarts, analyzeRepeatingSequences, analyzeTextForRule, applyPreprocessToPage, applyTokenMappings, condenseEllipsis, containsTokens, createArabicDictionaryEntryRule, detectTokenPatterns, escapeRegex, escapeTemplateBrackets, escapeWordsOutsideTokens, expandCompositeTokensInTemplate, expandTokens, expandTokensWithCaptures, fixTrailingWaw, formatValidationReport, generateTemplateFromText, getAvailableTokens, getDebugReason, getSegmentDebugReason, getTokenPattern, makeDiacriticInsensitive, normalizeArabicForComparison, optimizeRules, removeZeroWidth, segmentPages, shouldDefaultToFuzzy, stripTokenMappings, suggestPatternConfig, templateToRegex, validateRules, validateSegments, withCapture };
1637
1760
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/breakpoints.ts","../src/types/rules.ts","../src/types/options.ts","../src/types/validation.ts","../src/types/index.ts","../src/analysis/line-starts.ts","../src/analysis/repeating-sequences.ts","../src/detection.ts","../src/optimization/optimize-rules.ts","../src/preprocessing/transforms.ts","../src/recovery.ts","../src/segmentation/breakpoint-utils.ts","../src/segmentation/debug-meta.ts","../src/segmentation/pattern-validator.ts","../src/segmentation/segmenter.ts","../src/segmentation/tokens.ts","../src/utils/textUtils.ts","../src/validation/validate-segments.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/breakpoints.ts","../src/types/rules.ts","../src/types/options.ts","../src/types/validation.ts","../src/types/index.ts","../src/analysis/line-starts.ts","../src/analysis/repeating-sequences.ts","../src/detection.ts","../src/optimization/optimize-rules.ts","../src/preprocessing/transforms.ts","../src/segmentation/arabic-dictionary-rule.ts","../src/segmentation/breakpoint-utils.ts","../src/segmentation/debug-meta.ts","../src/segmentation/pattern-validator.ts","../src/segmentation/segmenter.ts","../src/segmentation/tokens.ts","../src/utils/textUtils.ts","../src/validation/validate-segments.ts"],"mappings":"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"}