flappa-doormal 2.18.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/AGENTS.md +40 -11
- package/README.md +313 -10
- package/dist/index.d.mts +366 -113
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1396 -202
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -3
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.
|
|
@@ -259,6 +403,73 @@ type LineStartsAfterPattern = {
|
|
|
259
403
|
type LineEndsWithPattern = {
|
|
260
404
|
/** Array of patterns that mark line endings. Brackets `()[]` are auto-escaped. */lineEndsWith: string[];
|
|
261
405
|
};
|
|
406
|
+
/**
|
|
407
|
+
* Dictionary entry pattern options for Arabic lexicon-style headword matching.
|
|
408
|
+
*
|
|
409
|
+
* This captures authoring intent in a serializable shape and is compiled into
|
|
410
|
+
* a regex internally by the rule compiler.
|
|
411
|
+
*/
|
|
412
|
+
type DictionaryEntryPatternOptions = {
|
|
413
|
+
/**
|
|
414
|
+
* Words that should never be treated as lemmas when followed by a colon.
|
|
415
|
+
*
|
|
416
|
+
* Matching is Arabic-normalized, diacritic-insensitive, and exact. Callers
|
|
417
|
+
* should provide canonical forms only; vocalized variants do not need to be
|
|
418
|
+
* listed separately.
|
|
419
|
+
*/
|
|
420
|
+
stopWords: string[];
|
|
421
|
+
/**
|
|
422
|
+
* Allow balanced parenthesized headwords like `(عنبر):` or `(عنبر) :`.
|
|
423
|
+
* @default false
|
|
424
|
+
*/
|
|
425
|
+
allowParenthesized?: boolean;
|
|
426
|
+
/**
|
|
427
|
+
* Allow optional whitespace before the trailing colon.
|
|
428
|
+
* @default false
|
|
429
|
+
*/
|
|
430
|
+
allowWhitespaceBeforeColon?: boolean;
|
|
431
|
+
/**
|
|
432
|
+
* Allow comma-separated headword lists like `سبد، دبس:`.
|
|
433
|
+
* @default false
|
|
434
|
+
*/
|
|
435
|
+
allowCommaSeparated?: boolean;
|
|
436
|
+
/**
|
|
437
|
+
* Allow conservative mid-line subentries that begin with `و`.
|
|
438
|
+
* Disable this when the rule should only split true line/page starts.
|
|
439
|
+
* @default true
|
|
440
|
+
*/
|
|
441
|
+
midLineSubentries?: boolean;
|
|
442
|
+
/**
|
|
443
|
+
* Named capture key for the matched lemma metadata.
|
|
444
|
+
* @default 'lemma'
|
|
445
|
+
*/
|
|
446
|
+
captureName?: string;
|
|
447
|
+
/**
|
|
448
|
+
* Minimum number of Arabic base letters in a lemma.
|
|
449
|
+
* @default 2
|
|
450
|
+
*/
|
|
451
|
+
minLetters?: number;
|
|
452
|
+
/**
|
|
453
|
+
* Maximum number of Arabic base letters in a lemma.
|
|
454
|
+
* @default 10
|
|
455
|
+
*/
|
|
456
|
+
maxLetters?: number;
|
|
457
|
+
};
|
|
458
|
+
/**
|
|
459
|
+
* Arabic dictionary entry pattern rule - serializable headword matcher compiled internally.
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* {
|
|
463
|
+
* dictionaryEntry: {
|
|
464
|
+
* stopWords: ['قال', 'وقيل'],
|
|
465
|
+
* allowCommaSeparated: true,
|
|
466
|
+
* },
|
|
467
|
+
* meta: { type: 'entry' }
|
|
468
|
+
* }
|
|
469
|
+
*/
|
|
470
|
+
type DictionaryEntryPattern = {
|
|
471
|
+
dictionaryEntry: DictionaryEntryPatternOptions;
|
|
472
|
+
};
|
|
262
473
|
/**
|
|
263
474
|
* Union of all pattern types for split rules.
|
|
264
475
|
*
|
|
@@ -268,8 +479,9 @@ type LineEndsWithPattern = {
|
|
|
268
479
|
* - `lineStartsWith` - Match line beginnings (marker included)
|
|
269
480
|
* - `lineStartsAfter` - Match line beginnings (marker excluded)
|
|
270
481
|
* - `lineEndsWith` - Match line endings
|
|
482
|
+
* - `dictionaryEntry` - Arabic dictionary headword matching
|
|
271
483
|
*/
|
|
272
|
-
type PatternType = RegexPattern | TemplatePattern | LineStartsWithPattern | LineStartsAfterPattern | LineEndsWithPattern;
|
|
484
|
+
type PatternType = RegexPattern | TemplatePattern | LineStartsWithPattern | LineStartsAfterPattern | LineEndsWithPattern | DictionaryEntryPattern;
|
|
273
485
|
/**
|
|
274
486
|
* Pattern type key names for split rules.
|
|
275
487
|
*
|
|
@@ -285,7 +497,7 @@ type PatternType = RegexPattern | TemplatePattern | LineStartsWithPattern | Line
|
|
|
285
497
|
* const validateKey = (k: string): k is PatternTypeKey =>
|
|
286
498
|
* (PATTERN_TYPE_KEYS as readonly string[]).includes(k);
|
|
287
499
|
*/
|
|
288
|
-
declare const PATTERN_TYPE_KEYS: readonly ["lineStartsWith", "lineStartsAfter", "lineEndsWith", "template", "regex"];
|
|
500
|
+
declare const PATTERN_TYPE_KEYS: readonly ["lineStartsWith", "lineStartsAfter", "lineEndsWith", "template", "regex", "dictionaryEntry"];
|
|
289
501
|
/**
|
|
290
502
|
* String union of pattern type key names.
|
|
291
503
|
*
|
|
@@ -417,7 +629,7 @@ type RuleConstraints = PageRangeConstraintWithExclude & {
|
|
|
417
629
|
*
|
|
418
630
|
* Each rule must specify:
|
|
419
631
|
* - **Pattern** (exactly one): `regex`, `template`, `lineStartsWith`,
|
|
420
|
-
* `lineStartsAfter`, or `
|
|
632
|
+
* `lineStartsAfter`, `lineEndsWith`, or `dictionaryEntry`
|
|
421
633
|
* - **Split behavior**: `split` (optional, defaults to `'at'`), `occurrence`, `fuzzy`
|
|
422
634
|
* - **Constraints** (optional): `min`, `max`, `meta`
|
|
423
635
|
*
|
|
@@ -564,18 +776,13 @@ type PreprocessTransform = 'removeZeroWidth' | 'condenseEllipsis' | 'fixTrailing
|
|
|
564
776
|
* error: (msg, ...args) => myLoggingService.error(msg, args),
|
|
565
777
|
* };
|
|
566
778
|
*/
|
|
567
|
-
|
|
568
|
-
/** Log a debug message (verbose debugging output) */
|
|
569
|
-
|
|
570
|
-
/** Log
|
|
571
|
-
|
|
572
|
-
/** Log an informational message (key progress points) */
|
|
573
|
-
info?: (message: string, ...args: unknown[]) => void;
|
|
574
|
-
/** Log a trace message (extremely verbose, per-iteration details) */
|
|
575
|
-
trace?: (message: string, ...args: unknown[]) => void;
|
|
576
|
-
/** 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) */
|
|
577
784
|
warn?: (message: string, ...args: unknown[]) => void;
|
|
578
|
-
}
|
|
785
|
+
};
|
|
579
786
|
/**
|
|
580
787
|
* Segmentation options controlling how pages are split.
|
|
581
788
|
*
|
|
@@ -609,6 +816,13 @@ interface Logger {
|
|
|
609
816
|
* };
|
|
610
817
|
*/
|
|
611
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;
|
|
612
826
|
/**
|
|
613
827
|
* Rules applied in order to find split points.
|
|
614
828
|
*
|
|
@@ -1067,6 +1281,111 @@ declare const analyzeTextForRule: (text: string) => {
|
|
|
1067
1281
|
detected: DetectedPattern[];
|
|
1068
1282
|
} | null;
|
|
1069
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
|
|
1070
1389
|
//#region src/optimization/optimize-rules.d.ts
|
|
1071
1390
|
/**
|
|
1072
1391
|
* Result from optimizing rules.
|
|
@@ -1121,99 +1440,6 @@ declare const fixTrailingWaw: (text: string) => string;
|
|
|
1121
1440
|
*/
|
|
1122
1441
|
declare const applyPreprocessToPage: (content: string, pageId: number, transforms: PreprocessTransform[]) => string;
|
|
1123
1442
|
//#endregion
|
|
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;
|
|
1216
|
-
//#endregion
|
|
1217
1443
|
//#region src/segmentation/breakpoint-utils.d.ts
|
|
1218
1444
|
/**
|
|
1219
1445
|
* Escapes regex metacharacters outside of `{{token}}` delimiters.
|
|
@@ -1269,7 +1495,7 @@ declare const getSegmentDebugReason: (segment: Segment, options?: DebugReasonOpt
|
|
|
1269
1495
|
/**
|
|
1270
1496
|
* Types of validation issues that can be detected.
|
|
1271
1497
|
*/
|
|
1272
|
-
type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern' | 'invalid_regex';
|
|
1498
|
+
type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern' | 'invalid_regex' | 'invalid_option';
|
|
1273
1499
|
/**
|
|
1274
1500
|
* A validation issue found in a pattern.
|
|
1275
1501
|
*/
|
|
@@ -1290,6 +1516,7 @@ type RuleValidationResult = {
|
|
|
1290
1516
|
lineEndsWith?: (ValidationIssue | undefined)[];
|
|
1291
1517
|
template?: ValidationIssue;
|
|
1292
1518
|
regex?: ValidationIssue;
|
|
1519
|
+
dictionaryEntry?: Partial<Record<keyof DictionaryEntryPatternOptions, ValidationIssue>>;
|
|
1293
1520
|
};
|
|
1294
1521
|
/**
|
|
1295
1522
|
* Validates split rules for common pattern issues.
|
|
@@ -1392,6 +1619,25 @@ declare const ARABIC_LETTER_WITH_OPTIONAL_MARKS_PATTERN = "[\u0621-\u063A\u0641-
|
|
|
1392
1619
|
* One or more Arabic letters, where each letter may carry combining marks.
|
|
1393
1620
|
*/
|
|
1394
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
|
+
};
|
|
1395
1641
|
/** Pre-defined token constants for use in patterns. */
|
|
1396
1642
|
declare const Token: {
|
|
1397
1643
|
/** Chapter marker - باب */readonly BAB: "{{bab}}"; /** Basmala - بسم الله */
|
|
@@ -1417,12 +1663,18 @@ declare const Token: {
|
|
|
1417
1663
|
* Type representing valid token constant keys.
|
|
1418
1664
|
*/
|
|
1419
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;
|
|
1420
1674
|
/**
|
|
1421
1675
|
* Type representing valid token pattern names for `getTokenPattern()`.
|
|
1422
1676
|
*/
|
|
1423
|
-
type TokenPatternName =
|
|
1424
|
-
/** Wraps a token constant with a named capture: `{{token}}` → `{{token:name}}`. */
|
|
1425
|
-
declare const withCapture: (token: string, name: string) => string;
|
|
1677
|
+
type TokenPatternName = BaseTokenName | CompositeTokenName;
|
|
1426
1678
|
/** Expands composite tokens (e.g. `{{numbered}}`) to their underlying template form. */
|
|
1427
1679
|
declare const expandCompositeTokensInTemplate: (template: string) => string;
|
|
1428
1680
|
/**
|
|
@@ -1451,7 +1703,8 @@ declare const expandCompositeTokensInTemplate: (template: string) => string;
|
|
|
1451
1703
|
* { lineStartsAfter: ['{{numbered}}'], split: 'at' }
|
|
1452
1704
|
*/
|
|
1453
1705
|
declare const TOKEN_PATTERNS: {
|
|
1454
|
-
|
|
1706
|
+
readonly numbered: string; /** Chapter marker (باب). */
|
|
1707
|
+
readonly bab: "باب"; /** Basmala (بسم الله). Also matches ﷽. */
|
|
1455
1708
|
readonly basmalah: string; /** Bullet point variants: `•`, `*`, `°`. */
|
|
1456
1709
|
readonly bullet: "[•*°]"; /** Dash variants: `-` (U+002D), `–` (U+2013), `—` (U+2014), `ـ` (tatweel U+0640). */
|
|
1457
1710
|
readonly dash: "[-–—ـ]"; /** Section marker (فصل / مسألة). */
|
|
@@ -1756,5 +2009,5 @@ type ValidationOptions = {
|
|
|
1756
2009
|
*/
|
|
1757
2010
|
declare const validateSegments: (pages: Page[], options: SegmentationOptions, segments: Segment[], validationOptions?: ValidationOptions) => SegmentValidationReport;
|
|
1758
2011
|
//#endregion
|
|
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 };
|
|
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 };
|
|
1760
2013
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -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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"}
|