flappa-doormal 2.19.0 → 2.20.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
@@ -122,6 +122,150 @@ type BreakpointRule = PageRangeConstraintWithExclude & {
122
122
  */
123
123
  type Breakpoint = string | BreakpointRule;
124
124
  //#endregion
125
+ //#region src/types/dictionary.d.ts
126
+ /**
127
+ * Dictionary v2 profile types for Shamela-style Arabic dictionary segmentation.
128
+ */
129
+ type DictionaryHeadingClass = 'chapter' | 'entry' | 'marker' | 'cluster';
130
+ type DictionaryHeadingScanClass = DictionaryHeadingClass | 'noise';
131
+ type DictionarySegmentKind = 'chapter' | 'entry' | 'marker';
132
+ type DictionarySegmentMeta = {
133
+ kind: DictionarySegmentKind;
134
+ lemma?: string;
135
+ };
136
+ /** Family key used by diagnostics and authoring tools. */
137
+ type DictionaryFamilyUse = DictionaryFamily['use'];
138
+ /** Rejection reason emitted by dictionary-profile diagnostics. */
139
+ type DictionaryDiagnosticReason = 'qualifierTail' | 'structuralLeak' | 'intro' | 'authorityIntro' | 'stopLemma' | 'previousWord' | 'previousChar' | 'pageContinuation';
140
+ type DictionaryGate = {
141
+ use: 'headingText';
142
+ match: string;
143
+ fuzzy?: boolean;
144
+ } | {
145
+ use: 'headingToken';
146
+ token: 'bab' | 'fasl' | 'kitab';
147
+ };
148
+ type DictionaryProfileValidationIssueCode = 'invalid_version' | 'missing_zones' | 'duplicate_zone_name' | 'empty_zone_name' | 'empty_zone_families' | 'invalid_zone_page_range' | 'empty_heading_classes' | 'inert_heading_family' | 'empty_inline_prefixes' | 'invalid_gate_match' | 'invalid_gate_fuzzy' | 'duplicate_activate_after_gate' | 'invalid_stop_words' | 'invalid_previous_words' | 'invalid_previous_chars';
149
+ type DictionaryProfileValidationIssue = {
150
+ code: DictionaryProfileValidationIssueCode;
151
+ message: string;
152
+ path: string;
153
+ zoneName?: string;
154
+ };
155
+ type HeadingFamily = {
156
+ use: 'heading';
157
+ classes: DictionaryHeadingClass[];
158
+ emit: DictionarySegmentKind;
159
+ allowNextLineColon?: boolean;
160
+ allowSingleLetter?: boolean;
161
+ };
162
+ type LineEntryFamily = {
163
+ use: 'lineEntry';
164
+ wrappers?: 'none' | 'parentheses' | 'brackets' | 'curly' | 'any';
165
+ allowWhitespaceBeforeColon?: boolean;
166
+ allowMultiWord?: boolean;
167
+ emit: 'entry';
168
+ };
169
+ type InlineSubentryFamily = {
170
+ use: 'inlineSubentry';
171
+ prefixes?: string[];
172
+ stripPrefixesFromLemma?: boolean;
173
+ emit: 'entry';
174
+ };
175
+ type CodeLineFamily = {
176
+ use: 'codeLine';
177
+ wrappers?: 'none' | 'paired' | 'mismatched' | 'either';
178
+ emit: 'marker';
179
+ };
180
+ type PairedFormsFamily = {
181
+ use: 'pairedForms';
182
+ separator?: 'comma' | 'space';
183
+ emit: 'marker' | 'entry';
184
+ requireStatusTail?: boolean;
185
+ };
186
+ type DictionaryFamily = HeadingFamily | LineEntryFamily | InlineSubentryFamily | CodeLineFamily | PairedFormsFamily;
187
+ type PageContinuationBlocker = {
188
+ use: 'pageContinuation';
189
+ appliesTo?: DictionaryFamily['use'][];
190
+ };
191
+ type IntroBlocker = {
192
+ use: 'intro';
193
+ appliesTo?: DictionaryFamily['use'][];
194
+ };
195
+ type AuthorityIntroBlocker = {
196
+ use: 'authorityIntro';
197
+ appliesTo?: DictionaryFamily['use'][];
198
+ precision?: 'high' | 'aggressive';
199
+ };
200
+ type StopLemmaBlocker = {
201
+ use: 'stopLemma';
202
+ appliesTo?: DictionaryFamily['use'][];
203
+ words: string[];
204
+ };
205
+ type PreviousWordBlocker = {
206
+ use: 'previousWord';
207
+ appliesTo?: DictionaryFamily['use'][];
208
+ words: string[];
209
+ };
210
+ type PreviousCharBlocker = {
211
+ use: 'previousChar';
212
+ appliesTo?: DictionaryFamily['use'][];
213
+ chars: string[];
214
+ };
215
+ type DictionaryBlocker = PageContinuationBlocker | IntroBlocker | AuthorityIntroBlocker | StopLemmaBlocker | PreviousWordBlocker | PreviousCharBlocker;
216
+ type DictionaryZone = {
217
+ name: string;
218
+ when?: {
219
+ minPageId?: number;
220
+ maxPageId?: number;
221
+ activateAfter?: DictionaryGate[];
222
+ };
223
+ families: DictionaryFamily[];
224
+ blockers?: DictionaryBlocker[];
225
+ };
226
+ type ArabicDictionaryProfile = {
227
+ version: 2;
228
+ zones: DictionaryZone[];
229
+ };
230
+ /** Sampled accepted or rejected candidate from dictionary-profile diagnostics. */
231
+ type DictionaryDiagnosticSample = {
232
+ accepted: boolean;
233
+ absoluteIndex: number;
234
+ family: DictionaryFamilyUse;
235
+ kind: DictionarySegmentKind;
236
+ lemma?: string;
237
+ line: number;
238
+ pageId: number;
239
+ reason?: DictionaryDiagnosticReason;
240
+ text: string;
241
+ zone: string;
242
+ };
243
+ /** Options for dictionary-profile diagnostics collection. */
244
+ type DictionaryProfileDiagnosticsOptions = {
245
+ sampleLimit?: number;
246
+ };
247
+ /** Aggregate diagnostics for tuning a dictionary profile. */
248
+ type DictionaryProfileDiagnostics = {
249
+ acceptedCount: number;
250
+ acceptedKinds: Record<DictionarySegmentKind, number>;
251
+ blockerHits: Record<DictionaryDiagnosticReason, number>;
252
+ familyCounts: Record<DictionaryFamilyUse, {
253
+ accepted: number;
254
+ rejected: number;
255
+ }>;
256
+ pageCount: number;
257
+ rejectedCount: number;
258
+ rejectedLemmas: Array<{
259
+ count: number;
260
+ lemma: string;
261
+ }>;
262
+ samples: DictionaryDiagnosticSample[];
263
+ zoneCounts: Record<string, {
264
+ accepted: number;
265
+ rejected: number;
266
+ }>;
267
+ };
268
+ //#endregion
125
269
  //#region src/types/rules.d.ts
126
270
  /**
127
271
  * Literal regex pattern rule - no token expansion or auto-escaping is applied.
@@ -265,7 +409,7 @@ type LineEndsWithPattern = {
265
409
  * This captures authoring intent in a serializable shape and is compiled into
266
410
  * a regex internally by the rule compiler.
267
411
  */
268
- interface DictionaryEntryPatternOptions {
412
+ type DictionaryEntryPatternOptions = {
269
413
  /**
270
414
  * Words that should never be treated as lemmas when followed by a colon.
271
415
  *
@@ -310,7 +454,7 @@ interface DictionaryEntryPatternOptions {
310
454
  * @default 10
311
455
  */
312
456
  maxLetters?: number;
313
- }
457
+ };
314
458
  /**
315
459
  * Arabic dictionary entry pattern rule - serializable headword matcher compiled internally.
316
460
  *
@@ -632,18 +776,13 @@ type PreprocessTransform = 'removeZeroWidth' | 'condenseEllipsis' | 'fixTrailing
632
776
  * error: (msg, ...args) => myLoggingService.error(msg, args),
633
777
  * };
634
778
  */
635
- interface Logger {
636
- /** Log a debug message (verbose debugging output) */
637
- debug?: (message: string, ...args: unknown[]) => void;
638
- /** Log an error message (critical failures) */
639
- error?: (message: string, ...args: unknown[]) => void;
640
- /** Log an informational message (key progress points) */
641
- info?: (message: string, ...args: unknown[]) => void;
642
- /** Log a trace message (extremely verbose, per-iteration details) */
643
- trace?: (message: string, ...args: unknown[]) => void;
644
- /** Log a warning message (potential issues) */
779
+ type Logger = {
780
+ /** Log a debug message (verbose debugging output) */debug?: (message: string, ...args: unknown[]) => void; /** Log an error message (critical failures) */
781
+ error?: (message: string, ...args: unknown[]) => void; /** Log an informational message (key progress points) */
782
+ info?: (message: string, ...args: unknown[]) => void; /** Log a trace message (extremely verbose, per-iteration details) */
783
+ trace?: (message: string, ...args: unknown[]) => void; /** Log a warning message (potential issues) */
645
784
  warn?: (message: string, ...args: unknown[]) => void;
646
- }
785
+ };
647
786
  /**
648
787
  * Segmentation options controlling how pages are split.
649
788
  *
@@ -677,6 +816,13 @@ interface Logger {
677
816
  * };
678
817
  */
679
818
  type SegmentationOptions = {
819
+ /**
820
+ * Dictionary profile for Shamela-style Arabic dictionaries.
821
+ *
822
+ * This authoring contract is compiled into internal matchers and merged
823
+ * with any regular `rules`.
824
+ */
825
+ dictionary?: ArabicDictionaryProfile;
680
826
  /**
681
827
  * Rules applied in order to find split points.
682
828
  *
@@ -1135,6 +1281,111 @@ declare const analyzeTextForRule: (text: string) => {
1135
1281
  detected: DetectedPattern[];
1136
1282
  } | null;
1137
1283
  //#endregion
1284
+ //#region src/dictionary/arabic-dictionary-rule.d.ts
1285
+ interface ArabicDictionaryEntryRuleOptions extends DictionaryEntryPatternOptions {
1286
+ /**
1287
+ * Suppress page-start matches when the previous page's last Arabic word
1288
+ * is in this stoplist, unless that page ends with strong sentence punctuation.
1289
+ */
1290
+ pageStartPrevWordStoplist?: string[];
1291
+ /**
1292
+ * Suppress non-page-start matches when the immediately previous Arabic word
1293
+ * on the same page is in this stoplist.
1294
+ */
1295
+ samePagePrevWordStoplist?: string[];
1296
+ /**
1297
+ * Static metadata merged into matching segments.
1298
+ */
1299
+ meta?: Record<string, unknown>;
1300
+ }
1301
+ /**
1302
+ * Creates a reusable split rule for Arabic dictionary entries.
1303
+ *
1304
+ * The returned rule preserves authoring intent as a serializable
1305
+ * `{ dictionaryEntry: ... }` pattern rather than eagerly compiling to a raw
1306
+ * regex string.
1307
+ *
1308
+ * @example
1309
+ * createArabicDictionaryEntryRule({
1310
+ * stopWords: ['وقيل', 'ويقال', 'قال'],
1311
+ * pageStartPrevWordStoplist: ['قال', 'وقيل', 'ويقال'],
1312
+ * })
1313
+ *
1314
+ * @example
1315
+ * createArabicDictionaryEntryRule({
1316
+ * allowParenthesized: true,
1317
+ * allowWhitespaceBeforeColon: true,
1318
+ * allowCommaSeparated: true,
1319
+ * stopWords: ['الليث', 'العجاج'],
1320
+ * })
1321
+ */
1322
+ /**
1323
+ * @deprecated Prefer the top-level `SegmentationOptions.dictionary` profile for
1324
+ * whole-book dictionary segmentation. Keep this helper for advanced single-rule
1325
+ * composition inside a broader `SplitRule[]` pipeline.
1326
+ */
1327
+ declare const createArabicDictionaryEntryRule: ({
1328
+ allowCommaSeparated,
1329
+ allowParenthesized,
1330
+ allowWhitespaceBeforeColon,
1331
+ captureName,
1332
+ maxLetters,
1333
+ meta,
1334
+ midLineSubentries,
1335
+ minLetters,
1336
+ pageStartPrevWordStoplist,
1337
+ samePagePrevWordStoplist,
1338
+ stopWords
1339
+ }: ArabicDictionaryEntryRuleOptions) => SplitRule;
1340
+ //#endregion
1341
+ //#region src/dictionary/heading-classifier.d.ts
1342
+ type DictionarySurfaceKind = DictionaryHeadingScanClass | 'lineEntry' | 'inlineSubentry' | 'codeLine' | 'pairedForms';
1343
+ type DictionarySurfaceMatch = {
1344
+ kind: DictionarySurfaceKind;
1345
+ pageId: number;
1346
+ text: string;
1347
+ lemma?: string;
1348
+ line: number;
1349
+ };
1350
+ type DictionaryMarkdownPage = {
1351
+ content: string;
1352
+ id: number;
1353
+ };
1354
+ type DictionarySurfaceReport = {
1355
+ counts: Record<DictionarySurfaceKind, number>;
1356
+ matches: DictionarySurfaceMatch[];
1357
+ };
1358
+ /**
1359
+ * Classifies a markdown heading line produced by `convertContentToMarkdown()`.
1360
+ */
1361
+ declare const classifyDictionaryHeading: (line: string) => DictionaryHeadingScanClass;
1362
+ /**
1363
+ * Extracts dictionary surface matches from a markdown page.
1364
+ */
1365
+ declare const scanDictionaryMarkdownPage: (page: DictionaryMarkdownPage) => DictionarySurfaceMatch[];
1366
+ /**
1367
+ * Aggregates dictionary surface counts across markdown pages.
1368
+ */
1369
+ declare const analyzeDictionaryMarkdownPages: (pages: DictionaryMarkdownPage[]) => DictionarySurfaceReport;
1370
+ //#endregion
1371
+ //#region src/dictionary/profile.d.ts
1372
+ declare class DictionaryProfileValidationError extends Error {
1373
+ readonly issues: DictionaryProfileValidationIssue[];
1374
+ constructor(issues: DictionaryProfileValidationIssue[]);
1375
+ }
1376
+ /**
1377
+ * Validates a dictionary profile without normalizing it.
1378
+ */
1379
+ declare const validateDictionaryProfile: (profile: ArabicDictionaryProfile) => DictionaryProfileValidationIssue[];
1380
+ //#endregion
1381
+ //#region src/dictionary/runtime.d.ts
1382
+ /**
1383
+ * Collects authoring diagnostics for a dictionary profile without creating segments.
1384
+ *
1385
+ * This is useful when tuning blockers and family choices for a new dictionary.
1386
+ */
1387
+ declare const diagnoseDictionaryProfile: (pages: Page[], profile: ArabicDictionaryProfile, options?: DictionaryProfileDiagnosticsOptions) => DictionaryProfileDiagnostics;
1388
+ //#endregion
1138
1389
  //#region src/optimization/optimize-rules.d.ts
1139
1390
  /**
1140
1391
  * Result from optimizing rules.
@@ -1189,58 +1440,6 @@ declare const fixTrailingWaw: (text: string) => string;
1189
1440
  */
1190
1441
  declare const applyPreprocessToPage: (content: string, pageId: number, transforms: PreprocessTransform[]) => string;
1191
1442
  //#endregion
1192
- //#region src/segmentation/arabic-dictionary-rule.d.ts
1193
- interface ArabicDictionaryEntryRuleOptions extends DictionaryEntryPatternOptions {
1194
- /**
1195
- * Suppress page-start matches when the previous page's last Arabic word
1196
- * is in this stoplist, unless that page ends with strong sentence punctuation.
1197
- */
1198
- pageStartPrevWordStoplist?: string[];
1199
- /**
1200
- * Suppress non-page-start matches when the immediately previous Arabic word
1201
- * on the same page is in this stoplist.
1202
- */
1203
- samePagePrevWordStoplist?: string[];
1204
- /**
1205
- * Static metadata merged into matching segments.
1206
- */
1207
- meta?: Record<string, unknown>;
1208
- }
1209
- /**
1210
- * Creates a reusable split rule for Arabic dictionary entries.
1211
- *
1212
- * The returned rule preserves authoring intent as a serializable
1213
- * `{ dictionaryEntry: ... }` pattern rather than eagerly compiling to a raw
1214
- * regex string.
1215
- *
1216
- * @example
1217
- * createArabicDictionaryEntryRule({
1218
- * stopWords: ['وقيل', 'ويقال', 'قال'],
1219
- * pageStartPrevWordStoplist: ['قال', 'وقيل', 'ويقال'],
1220
- * })
1221
- *
1222
- * @example
1223
- * createArabicDictionaryEntryRule({
1224
- * allowParenthesized: true,
1225
- * allowWhitespaceBeforeColon: true,
1226
- * allowCommaSeparated: true,
1227
- * stopWords: ['الليث', 'العجاج'],
1228
- * })
1229
- */
1230
- declare const createArabicDictionaryEntryRule: ({
1231
- allowCommaSeparated,
1232
- allowParenthesized,
1233
- allowWhitespaceBeforeColon,
1234
- captureName,
1235
- maxLetters,
1236
- meta,
1237
- midLineSubentries,
1238
- minLetters,
1239
- pageStartPrevWordStoplist,
1240
- samePagePrevWordStoplist,
1241
- stopWords
1242
- }: ArabicDictionaryEntryRuleOptions) => SplitRule;
1243
- //#endregion
1244
1443
  //#region src/segmentation/breakpoint-utils.d.ts
1245
1444
  /**
1246
1445
  * Escapes regex metacharacters outside of `{{token}}` delimiters.
@@ -1420,6 +1619,25 @@ declare const ARABIC_LETTER_WITH_OPTIONAL_MARKS_PATTERN = "[\u0621-\u063A\u0641-
1420
1619
  * One or more Arabic letters, where each letter may carry combining marks.
1421
1620
  */
1422
1621
  declare const ARABIC_WORD_WITH_OPTIONAL_MARKS_PATTERN = "(?:[\u0621-\u063A\u0641-\u064A][\\u0610-\\u061A\\u0640\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]*)+";
1622
+ declare const BASE_TOKENS: {
1623
+ /** Chapter marker (باب). */readonly bab: "باب"; /** Basmala (بسم الله). Also matches ﷽. */
1624
+ readonly basmalah: string; /** Bullet point variants: `•`, `*`, `°`. */
1625
+ readonly bullet: "[•*°]"; /** Dash variants: `-` (U+002D), `–` (U+2013), `—` (U+2014), `ـ` (tatweel U+0640). */
1626
+ readonly dash: "[-–—ـ]"; /** Section marker (فصل / مسألة). */
1627
+ readonly fasl: string; /** Single Arabic letter (أ-ي). Does NOT include diacritics. */
1628
+ 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}}`. */
1629
+ 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. */
1630
+ readonly hr: "[-–—ـ_=]{5,}"; /** Book marker (كتاب). */
1631
+ readonly kitab: "كتاب"; /** Hadith transmission phrases (حدثنا, أخبرنا, حدثني, etc.). */
1632
+ readonly naql: string; /** Newline character. Useful for breakpoints that split on line boundaries. */
1633
+ readonly newline: "\\n"; /** Single ASCII digit (0-9). */
1634
+ readonly num: "\\d"; /** One or more ASCII digits (0-9)+. */
1635
+ readonly nums: "\\d+"; /** Single Arabic-Indic digit (٠-٩, U+0660-U+0669). */
1636
+ readonly raqm: "[\\u0660-\\u0669]"; /** One or more Arabic-Indic digits (٠-٩)+. */
1637
+ readonly raqms: "[\\u0660-\\u0669]+"; /** Rijāl/takhrīj source abbreviations. Matches one or more codes separated by whitespace. */
1638
+ readonly rumuz: string; /** Arabic/common punctuation: `.`, `!`, `?`, `؟`, `؛`. */
1639
+ readonly tarqim: "[.!?؟؛]";
1640
+ };
1423
1641
  /** Pre-defined token constants for use in patterns. */
1424
1642
  declare const Token: {
1425
1643
  /** Chapter marker - باب */readonly BAB: "{{bab}}"; /** Basmala - بسم الله */
@@ -1445,12 +1663,18 @@ declare const Token: {
1445
1663
  * Type representing valid token constant keys.
1446
1664
  */
1447
1665
  type TokenKey = keyof typeof Token;
1666
+ /** Wraps a token constant with a named capture: `{{token}}` → `{{token:name}}`. */
1667
+ declare const withCapture: (token: string, name: string) => string;
1668
+ /** Composite tokens that reference base tokens. Pre-expanded at load time. @internal */
1669
+ declare const COMPOSITE_TOKENS: {
1670
+ /** Common hadith numbering format: Arabic-Indic digits + dash + space. */readonly numbered: "{{raqms}} {{dash}} ";
1671
+ };
1672
+ type BaseTokenName = keyof typeof BASE_TOKENS;
1673
+ type CompositeTokenName = keyof typeof COMPOSITE_TOKENS;
1448
1674
  /**
1449
1675
  * Type representing valid token pattern names for `getTokenPattern()`.
1450
1676
  */
1451
- type TokenPatternName = keyof typeof TOKEN_PATTERNS;
1452
- /** Wraps a token constant with a named capture: `{{token}}` → `{{token:name}}`. */
1453
- declare const withCapture: (token: string, name: string) => string;
1677
+ type TokenPatternName = BaseTokenName | CompositeTokenName;
1454
1678
  /** Expands composite tokens (e.g. `{{numbered}}`) to their underlying template form. */
1455
1679
  declare const expandCompositeTokensInTemplate: (template: string) => string;
1456
1680
  /**
@@ -1479,7 +1703,8 @@ declare const expandCompositeTokensInTemplate: (template: string) => string;
1479
1703
  * { lineStartsAfter: ['{{numbered}}'], split: 'at' }
1480
1704
  */
1481
1705
  declare const TOKEN_PATTERNS: {
1482
- /** Chapter marker (باب). */readonly bab: "باب"; /** Basmala (بسم الله). Also matches ﷽. */
1706
+ readonly numbered: string; /** Chapter marker (باب). */
1707
+ readonly bab: "باب"; /** Basmala (بسم الله). Also matches ﷽. */
1483
1708
  readonly basmalah: string; /** Bullet point variants: `•`, `*`, `°`. */
1484
1709
  readonly bullet: "[•*°]"; /** Dash variants: `-` (U+002D), `–` (U+2013), `—` (U+2014), `ـ` (tatweel U+0640). */
1485
1710
  readonly dash: "[-–—ـ]"; /** Section marker (فصل / مسألة). */
@@ -1784,5 +2009,5 @@ type ValidationOptions = {
1784
2009
  */
1785
2010
  declare const validateSegments: (pages: Page[], options: SegmentationOptions, segments: Segment[], validationOptions?: ValidationOptions) => SegmentValidationReport;
1786
2011
  //#endregion
1787
- 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 DictionaryEntryPatternOptions, 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 };
2012
+ export { ARABIC_BASE_LETTER_CLASS, ARABIC_LETTER_WITH_OPTIONAL_MARKS_PATTERN, ARABIC_MARKS_CLASS, ARABIC_WORD_WITH_OPTIONAL_MARKS_PATTERN, type ArabicDictionaryEntryRuleOptions, type ArabicDictionaryProfile, type Breakpoint, type BreakpointRule, type CommonLineStartPattern, type CondenseEllipsisRule, type DetectedPattern, type DictionaryBlocker, type DictionaryDiagnosticReason, type DictionaryDiagnosticSample, type DictionaryEntryPatternOptions, type DictionaryFamily, type DictionaryFamilyUse, type DictionaryGate, type DictionaryHeadingClass, type DictionaryHeadingScanClass, type DictionaryMarkdownPage, type DictionaryProfileDiagnostics, type DictionaryProfileDiagnosticsOptions, DictionaryProfileValidationError, type DictionaryProfileValidationIssue, type DictionaryProfileValidationIssueCode, type DictionarySegmentKind, type DictionarySegmentMeta, type DictionarySurfaceKind, type DictionarySurfaceMatch, type DictionarySurfaceReport, type DictionaryZone, 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, analyzeDictionaryMarkdownPages, analyzeRepeatingSequences, analyzeTextForRule, applyPreprocessToPage, applyTokenMappings, classifyDictionaryHeading, condenseEllipsis, containsTokens, createArabicDictionaryEntryRule, detectTokenPatterns, diagnoseDictionaryProfile, escapeRegex, escapeTemplateBrackets, escapeWordsOutsideTokens, expandCompositeTokensInTemplate, expandTokens, expandTokensWithCaptures, fixTrailingWaw, formatValidationReport, generateTemplateFromText, getAvailableTokens, getDebugReason, getSegmentDebugReason, getTokenPattern, makeDiacriticInsensitive, normalizeArabicForComparison, optimizeRules, removeZeroWidth, scanDictionaryMarkdownPage, segmentPages, shouldDefaultToFuzzy, stripTokenMappings, suggestPatternConfig, templateToRegex, validateDictionaryProfile, validateRules, validateSegments, withCapture };
1788
2013
  //# 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/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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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/breakpoints.ts","../src/types/dictionary.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/dictionary/arabic-dictionary-rule.ts","../src/dictionary/heading-classifier.ts","../src/dictionary/profile.ts","../src/dictionary/runtime.ts","../src/optimization/optimize-rules.ts","../src/preprocessing/transforms.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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"}