flappa-doormal 2.20.0 → 2.21.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 +23 -0
- package/README.md +94 -3
- package/dist/index.d.mts +150 -67
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -5580
- package/dist/index.mjs.map +1 -1
- package/dist/mcp/server.d.mts +1 -0
- package/dist/mcp/server.mjs +156 -0
- package/dist/mcp/server.mjs.map +1 -0
- package/dist/segmentation-advisor-D375TL8-.mjs +6128 -0
- package/dist/segmentation-advisor-D375TL8-.mjs.map +1 -0
- package/package.json +12 -2
package/AGENTS.md
CHANGED
|
@@ -32,6 +32,11 @@ src/
|
|
|
32
32
|
│ └── segmenter.ts # Internal segmenter types
|
|
33
33
|
├── dictionary/ # Dictionary-specific compiler, runtime, profiles, diagnostics
|
|
34
34
|
│ ├── arabic-dictionary-rule.ts
|
|
35
|
+
│ ├── constants.ts
|
|
36
|
+
│ ├── dictionary-blockers.ts
|
|
37
|
+
│ ├── dictionary-candidates.ts
|
|
38
|
+
│ ├── dictionary-diagnostics.ts
|
|
39
|
+
│ ├── dictionary-zones.ts
|
|
35
40
|
│ ├── heading-classifier.ts
|
|
36
41
|
│ ├── profile.ts
|
|
37
42
|
│ ├── profiles.ts
|
|
@@ -122,6 +127,24 @@ scripts/
|
|
|
122
127
|
- `options.ts`: Comprehensive `SegmentationOptions` and `Logger` definitions
|
|
123
128
|
- `index.ts`: Public API types for consumers
|
|
124
129
|
|
|
130
|
+
### Dictionary Blocker Notes
|
|
131
|
+
|
|
132
|
+
- `previousWord.scope` defaults to `'samePage'` and only checks the same page's
|
|
133
|
+
preceding Arabic word unless you opt into cross-page behavior.
|
|
134
|
+
- `previousWord.scope: 'pageStart'` only runs for page-start candidates and
|
|
135
|
+
compares against the previous page's last Arabic word, skipping the check when
|
|
136
|
+
the previous page ends with strong sentence punctuation.
|
|
137
|
+
- `previousWord.scope: 'any'` combines the page-start cross-page check with the
|
|
138
|
+
usual same-page check for non-page-start candidates.
|
|
139
|
+
- `pageContinuation.authorityPrecision` defaults to `'high'`; set it to
|
|
140
|
+
`'aggressive'` when page-start continuation blocking should treat
|
|
141
|
+
authority-like prefixes more conservatively.
|
|
142
|
+
- `qualifierTail` and `structuralLeak` are intentionally non-configurable global
|
|
143
|
+
safety checks. They run before zone blockers and appear in diagnostics as
|
|
144
|
+
rejection reasons.
|
|
145
|
+
- `diagnoseDictionaryProfile()` now reports `rejectionReasons` rather than
|
|
146
|
+
the former `blockerHits`.
|
|
147
|
+
|
|
125
148
|
11. **`textUtils.ts`** - Low-level helpers (`src/utils/textUtils.ts`)
|
|
126
149
|
- `makeDiacriticInsensitive()`: Arabic-aware regex generation
|
|
127
150
|
- `adjustForUnicodeBoundary()`: Prevents invalid splits across multi-character clusters
|
package/README.md
CHANGED
|
@@ -390,6 +390,18 @@ Why this is preferred:
|
|
|
390
390
|
- compatible with diagnostics tooling via `diagnoseDictionaryProfile()`
|
|
391
391
|
- first-class validation via `validateDictionaryProfile()`
|
|
392
392
|
|
|
393
|
+
Blocker authoring notes:
|
|
394
|
+
- `previousWord.scope` defaults to `'samePage'`
|
|
395
|
+
- set `scope: 'pageStart'` to compare only against the previous page's last
|
|
396
|
+
Arabic word for page-start candidates
|
|
397
|
+
- set `scope: 'any'` to combine the page-start cross-page check with the normal
|
|
398
|
+
same-page check
|
|
399
|
+
- `pageContinuation.authorityPrecision` defaults to `'high'`; use
|
|
400
|
+
`'aggressive'` when page-start continuation filtering should treat
|
|
401
|
+
authority-like prefixes more conservatively
|
|
402
|
+
- `qualifierTail` and `structuralLeak` are always-on global safety checks and
|
|
403
|
+
show up in diagnostics even though they are not zone-declared blockers
|
|
404
|
+
|
|
393
405
|
The production dictionary implementation now lives under `src/dictionary/`
|
|
394
406
|
inside the repo, separate from the generic segmentation internals.
|
|
395
407
|
|
|
@@ -418,7 +430,7 @@ Prefer the top-level `dictionary` profile when:
|
|
|
418
430
|
- segmenting an entire dictionary book
|
|
419
431
|
- persisting JSON config for a corpus
|
|
420
432
|
- the book changes layout in different sections
|
|
421
|
-
- you need diagnostics,
|
|
433
|
+
- you need diagnostics, rejection-reason rates, or book-specific profile tuning
|
|
422
434
|
|
|
423
435
|
Decision guide:
|
|
424
436
|
|
|
@@ -582,7 +594,7 @@ const diagnostics = diagnoseDictionaryProfile(pages, profile, {
|
|
|
582
594
|
sampleLimit: 25,
|
|
583
595
|
});
|
|
584
596
|
|
|
585
|
-
console.log(diagnostics.
|
|
597
|
+
console.log(diagnostics.rejectionReasons);
|
|
586
598
|
console.log(diagnostics.rejectedLemmas.slice(0, 10));
|
|
587
599
|
```
|
|
588
600
|
|
|
@@ -590,10 +602,15 @@ Returned diagnostics include:
|
|
|
590
602
|
- accepted vs rejected candidate counts
|
|
591
603
|
- accepted counts by `kind`
|
|
592
604
|
- accepted/rejected counts by family and zone
|
|
593
|
-
-
|
|
605
|
+
- rejection-reason counts (`intro`, `stopLemma`, `pageContinuation`,
|
|
606
|
+
`qualifierTail`, `structuralLeak`, etc.)
|
|
594
607
|
- top rejected lemmas
|
|
595
608
|
- sampled accepted/rejected candidates for quick inspection
|
|
596
609
|
|
|
610
|
+
`diagnoseDictionaryProfile()` is primarily a tuning API for profile authoring,
|
|
611
|
+
so consumers should treat its output shape as less stable than the segmentation
|
|
612
|
+
API itself.
|
|
613
|
+
|
|
597
614
|
Validate profiles before persisting them or shipping them to an editor/CI step:
|
|
598
615
|
|
|
599
616
|
```typescript
|
|
@@ -1380,6 +1397,80 @@ const segments = segmentPages(pages, { rules });
|
|
|
1380
1397
|
// ]
|
|
1381
1398
|
```
|
|
1382
1399
|
|
|
1400
|
+
## Agent Advisor Workflow
|
|
1401
|
+
|
|
1402
|
+
If you want an AI agent to start from raw pages and get to a draft configuration with less hand-written glue, use `suggestSegmentationOptions()`:
|
|
1403
|
+
|
|
1404
|
+
```typescript
|
|
1405
|
+
import { suggestSegmentationOptions } from 'flappa-doormal';
|
|
1406
|
+
|
|
1407
|
+
const report = suggestSegmentationOptions(pages, {
|
|
1408
|
+
maxRules: 4,
|
|
1409
|
+
topLineStarts: 12,
|
|
1410
|
+
topRepeatingSequences: 8,
|
|
1411
|
+
});
|
|
1412
|
+
|
|
1413
|
+
console.log(report.assessment);
|
|
1414
|
+
console.log(report.recommendedOptions);
|
|
1415
|
+
console.log(report.ruleSuggestions.slice(0, 5));
|
|
1416
|
+
```
|
|
1417
|
+
|
|
1418
|
+
The report includes:
|
|
1419
|
+
|
|
1420
|
+
- preprocess cleanup hints (`removeZeroWidth`, `condenseEllipsis`, `fixTrailingWaw`)
|
|
1421
|
+
- an assessment of whether the book looks `structured`, `continuous`, or `mixed`
|
|
1422
|
+
- draft `SplitRule[]` suggestions with examples and confidence
|
|
1423
|
+
- a ready-to-run `recommendedOptions` object
|
|
1424
|
+
- rule validation output
|
|
1425
|
+
- self-evaluation of the generated segmentation draft
|
|
1426
|
+
- optional breakpoint suggestions when the draft still produces very large segments
|
|
1427
|
+
|
|
1428
|
+
For local JSON files, you can run the bundled script:
|
|
1429
|
+
|
|
1430
|
+
```bash
|
|
1431
|
+
bun run segment:advise -- --input ./pages.json
|
|
1432
|
+
bun run segment:advise -- --input ./book.json --format markdown --out ./segmentation-report.md
|
|
1433
|
+
```
|
|
1434
|
+
|
|
1435
|
+
Input can be either:
|
|
1436
|
+
|
|
1437
|
+
- `Page[]`
|
|
1438
|
+
- `{ pages: Page[] }`
|
|
1439
|
+
|
|
1440
|
+
## MCP Server
|
|
1441
|
+
|
|
1442
|
+
The repo now includes a stdio MCP server wrapper for agent workflows:
|
|
1443
|
+
|
|
1444
|
+
```bash
|
|
1445
|
+
bun run mcp:serve
|
|
1446
|
+
```
|
|
1447
|
+
|
|
1448
|
+
When packaged, the server binary is:
|
|
1449
|
+
|
|
1450
|
+
```bash
|
|
1451
|
+
flappa-doormal-mcp
|
|
1452
|
+
```
|
|
1453
|
+
|
|
1454
|
+
Exposed MCP tools:
|
|
1455
|
+
|
|
1456
|
+
- `inspect_book`
|
|
1457
|
+
Input: `{ pages, advisorOptions? }`
|
|
1458
|
+
Returns preprocess detections, line-start analysis, repeating sequences, and draft rule suggestions.
|
|
1459
|
+
- `suggest_segmentation_options`
|
|
1460
|
+
Input: `{ pages, advisorOptions? }`
|
|
1461
|
+
Returns the full advisor report, including `recommendedOptions`.
|
|
1462
|
+
- `preview_segmentation`
|
|
1463
|
+
Input: `{ pages, options, sampleSegments? }`
|
|
1464
|
+
Runs segmentation and returns segments, samples, and validation.
|
|
1465
|
+
- `validate_segmentation`
|
|
1466
|
+
Input: `{ pages, options, segments }`
|
|
1467
|
+
Validates caller-provided segments against the source book.
|
|
1468
|
+
- `score_candidate_options`
|
|
1469
|
+
Input: `{ pages, candidates, sampleSegments? }`
|
|
1470
|
+
Ranks multiple `SegmentationOptions` candidates using validation and segment-shape heuristics.
|
|
1471
|
+
|
|
1472
|
+
All tool results are returned as JSON-friendly objects so agents can iterate without scraping prose output.
|
|
1473
|
+
|
|
1383
1474
|
## Advanced: Metadata Extraction & Data Migration
|
|
1384
1475
|
|
|
1385
1476
|
If you already have pre-segmented data (e.g., records from a database or JSON file) and want to use **flappa-doormal's** token system to extract metadata and clean the content without further splitting, you can use the **Metadata Extraction** pattern.
|
package/dist/index.d.mts
CHANGED
|
@@ -145,7 +145,7 @@ type DictionaryGate = {
|
|
|
145
145
|
use: 'headingToken';
|
|
146
146
|
token: 'bab' | 'fasl' | 'kitab';
|
|
147
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';
|
|
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' | 'invalid_previous_word_scope' | 'invalid_authority_intro_precision' | 'invalid_continuation_precision';
|
|
149
149
|
type DictionaryProfileValidationIssue = {
|
|
150
150
|
code: DictionaryProfileValidationIssueCode;
|
|
151
151
|
message: string;
|
|
@@ -187,6 +187,7 @@ type DictionaryFamily = HeadingFamily | LineEntryFamily | InlineSubentryFamily |
|
|
|
187
187
|
type PageContinuationBlocker = {
|
|
188
188
|
use: 'pageContinuation';
|
|
189
189
|
appliesTo?: DictionaryFamily['use'][];
|
|
190
|
+
authorityPrecision?: 'high' | 'aggressive';
|
|
190
191
|
};
|
|
191
192
|
type IntroBlocker = {
|
|
192
193
|
use: 'intro';
|
|
@@ -206,6 +207,7 @@ type PreviousWordBlocker = {
|
|
|
206
207
|
use: 'previousWord';
|
|
207
208
|
appliesTo?: DictionaryFamily['use'][];
|
|
208
209
|
words: string[];
|
|
210
|
+
scope?: 'samePage' | 'pageStart' | 'any';
|
|
209
211
|
};
|
|
210
212
|
type PreviousCharBlocker = {
|
|
211
213
|
use: 'previousChar';
|
|
@@ -248,7 +250,7 @@ type DictionaryProfileDiagnosticsOptions = {
|
|
|
248
250
|
type DictionaryProfileDiagnostics = {
|
|
249
251
|
acceptedCount: number;
|
|
250
252
|
acceptedKinds: Record<DictionarySegmentKind, number>;
|
|
251
|
-
|
|
253
|
+
rejectionReasons: Record<DictionaryDiagnosticReason, number>;
|
|
252
254
|
familyCounts: Record<DictionaryFamilyUse, {
|
|
253
255
|
accepted: number;
|
|
254
256
|
rejected: number;
|
|
@@ -1216,6 +1218,147 @@ type RepeatingSequencePattern = {
|
|
|
1216
1218
|
*/
|
|
1217
1219
|
declare const analyzeRepeatingSequences: (pages: Page[], options?: RepeatingSequenceOptions) => RepeatingSequencePattern[];
|
|
1218
1220
|
//#endregion
|
|
1221
|
+
//#region src/segmentation/pattern-validator.d.ts
|
|
1222
|
+
/**
|
|
1223
|
+
* Types of validation issues that can be detected.
|
|
1224
|
+
*/
|
|
1225
|
+
type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern' | 'invalid_regex' | 'invalid_option';
|
|
1226
|
+
/**
|
|
1227
|
+
* A validation issue found in a pattern.
|
|
1228
|
+
*/
|
|
1229
|
+
type ValidationIssue = {
|
|
1230
|
+
type: ValidationIssueType;
|
|
1231
|
+
message: string;
|
|
1232
|
+
suggestion?: string; /** The token name involved in the issue (for unknown_token / missing_braces) */
|
|
1233
|
+
token?: string; /** The specific pattern involved (for duplicate) */
|
|
1234
|
+
pattern?: string;
|
|
1235
|
+
};
|
|
1236
|
+
/**
|
|
1237
|
+
* Validation result for a single rule, with issues keyed by pattern type.
|
|
1238
|
+
* Arrays parallel the input pattern arrays - undefined means no issue.
|
|
1239
|
+
*/
|
|
1240
|
+
type RuleValidationResult = {
|
|
1241
|
+
lineStartsWith?: (ValidationIssue | undefined)[];
|
|
1242
|
+
lineStartsAfter?: (ValidationIssue | undefined)[];
|
|
1243
|
+
lineEndsWith?: (ValidationIssue | undefined)[];
|
|
1244
|
+
template?: ValidationIssue;
|
|
1245
|
+
regex?: ValidationIssue;
|
|
1246
|
+
dictionaryEntry?: Partial<Record<keyof DictionaryEntryPatternOptions, ValidationIssue>>;
|
|
1247
|
+
};
|
|
1248
|
+
/**
|
|
1249
|
+
* Validates split rules for common pattern issues.
|
|
1250
|
+
*
|
|
1251
|
+
* Checks for:
|
|
1252
|
+
* - Missing `{{}}` around known token names (e.g., `raqms:num` instead of `{{raqms:num}}`)
|
|
1253
|
+
* - Unknown token names inside `{{}}` (e.g., `{{nonexistent}}`)
|
|
1254
|
+
* - Duplicate patterns within the same rule
|
|
1255
|
+
*
|
|
1256
|
+
* @param rules - Array of split rules to validate
|
|
1257
|
+
* @returns Array parallel to input with validation results (undefined if no issues)
|
|
1258
|
+
*
|
|
1259
|
+
* @example
|
|
1260
|
+
* const issues = validateRules([
|
|
1261
|
+
* { lineStartsAfter: ['raqms:num'] }, // Missing braces
|
|
1262
|
+
* { lineStartsWith: ['{{unknown}}'] }, // Unknown token
|
|
1263
|
+
* ]);
|
|
1264
|
+
* // issues[0]?.lineStartsAfter?.[0]?.type === 'missing_braces'
|
|
1265
|
+
* // issues[1]?.lineStartsWith?.[0]?.type === 'unknown_token'
|
|
1266
|
+
*/
|
|
1267
|
+
declare const validateRules: (rules: SplitRule[]) => (RuleValidationResult | undefined)[];
|
|
1268
|
+
/**
|
|
1269
|
+
* Formats a validation result array into a list of human-readable error messages.
|
|
1270
|
+
*
|
|
1271
|
+
* Useful for displaying validation errors in UIs.
|
|
1272
|
+
*
|
|
1273
|
+
* @param results - The result array from `validateRules()`
|
|
1274
|
+
* @returns Array of formatted error strings
|
|
1275
|
+
*
|
|
1276
|
+
* @example
|
|
1277
|
+
* const issues = validateRules(rules);
|
|
1278
|
+
* const errors = formatValidationReport(issues);
|
|
1279
|
+
* // ["Rule 1, lineStartsWith: Missing {{}} around token..."]
|
|
1280
|
+
*/
|
|
1281
|
+
declare const formatValidationReport: (results: (RuleValidationResult | undefined)[]) => string[];
|
|
1282
|
+
//#endregion
|
|
1283
|
+
//#region src/analysis/segmentation-advisor.d.ts
|
|
1284
|
+
type SegmentationAdvisorMode = 'structured' | 'continuous' | 'mixed';
|
|
1285
|
+
type SegmentationAdvisorOptions = {
|
|
1286
|
+
topLineStarts?: number;
|
|
1287
|
+
topRepeatingSequences?: number;
|
|
1288
|
+
minLineStartCount?: number;
|
|
1289
|
+
minRepeatingCount?: number;
|
|
1290
|
+
maxRules?: number;
|
|
1291
|
+
sampleSegments?: number;
|
|
1292
|
+
};
|
|
1293
|
+
type PreprocessDetections = {
|
|
1294
|
+
ellipsisCount: number;
|
|
1295
|
+
trailingWawCount: number;
|
|
1296
|
+
zeroWidthCount: number;
|
|
1297
|
+
};
|
|
1298
|
+
type PreprocessSuggestion = {
|
|
1299
|
+
count: number;
|
|
1300
|
+
reason: string;
|
|
1301
|
+
transform: PreprocessTransform;
|
|
1302
|
+
};
|
|
1303
|
+
type RuleSuggestionSource = 'line-start' | 'repeating-sequence';
|
|
1304
|
+
type RuleSuggestionConfidence = 'high' | 'medium' | 'low';
|
|
1305
|
+
type SuggestedRule = {
|
|
1306
|
+
confidence: RuleSuggestionConfidence;
|
|
1307
|
+
count: number;
|
|
1308
|
+
example: {
|
|
1309
|
+
pageId: number;
|
|
1310
|
+
text: string;
|
|
1311
|
+
};
|
|
1312
|
+
pattern: string;
|
|
1313
|
+
reason: string;
|
|
1314
|
+
rule: SplitRule;
|
|
1315
|
+
source: RuleSuggestionSource;
|
|
1316
|
+
};
|
|
1317
|
+
type BreakpointSuggestion = {
|
|
1318
|
+
breakpoints: Breakpoint[];
|
|
1319
|
+
maxPages: number;
|
|
1320
|
+
prefer: 'longer' | 'shorter';
|
|
1321
|
+
reason: string;
|
|
1322
|
+
};
|
|
1323
|
+
type SegmentationEvaluation = {
|
|
1324
|
+
averageSegmentLength: number;
|
|
1325
|
+
maxSegmentLength: number;
|
|
1326
|
+
multiPageSegments: number;
|
|
1327
|
+
segmentCount: number;
|
|
1328
|
+
validation: SegmentValidationReport;
|
|
1329
|
+
};
|
|
1330
|
+
type SegmentationSuggestionReport = {
|
|
1331
|
+
assessment: {
|
|
1332
|
+
mode: SegmentationAdvisorMode;
|
|
1333
|
+
reason: string;
|
|
1334
|
+
};
|
|
1335
|
+
breakpointSuggestions: BreakpointSuggestion[];
|
|
1336
|
+
evaluation?: SegmentationEvaluation;
|
|
1337
|
+
lineStarts: CommonLineStartPattern[];
|
|
1338
|
+
optimization: {
|
|
1339
|
+
mergedCount: number;
|
|
1340
|
+
optimizedRuleCount: number;
|
|
1341
|
+
originalRuleCount: number;
|
|
1342
|
+
};
|
|
1343
|
+
preprocess: {
|
|
1344
|
+
detections: PreprocessDetections;
|
|
1345
|
+
suggestions: PreprocessSuggestion[];
|
|
1346
|
+
};
|
|
1347
|
+
recommendedOptions: SegmentationOptions;
|
|
1348
|
+
repeatingSequences: RepeatingSequencePattern[];
|
|
1349
|
+
ruleSuggestions: SuggestedRule[];
|
|
1350
|
+
ruleValidation: RuleValidationResult[];
|
|
1351
|
+
ruleValidationErrors: string[];
|
|
1352
|
+
segmentSamples: Segment[];
|
|
1353
|
+
};
|
|
1354
|
+
/**
|
|
1355
|
+
* Generate a machine-readable draft segmentation report for AI agents.
|
|
1356
|
+
*
|
|
1357
|
+
* This helper is intentionally deterministic: it inspects pages, drafts
|
|
1358
|
+
* candidate rules, validates them, and evaluates its own recommendation.
|
|
1359
|
+
*/
|
|
1360
|
+
declare const suggestSegmentationOptions: (pages: Page[], options?: SegmentationAdvisorOptions) => SegmentationSuggestionReport;
|
|
1361
|
+
//#endregion
|
|
1219
1362
|
//#region src/detection.d.ts
|
|
1220
1363
|
/**
|
|
1221
1364
|
* Result of detecting a token pattern in text
|
|
@@ -1378,9 +1521,11 @@ declare class DictionaryProfileValidationError extends Error {
|
|
|
1378
1521
|
*/
|
|
1379
1522
|
declare const validateDictionaryProfile: (profile: ArabicDictionaryProfile) => DictionaryProfileValidationIssue[];
|
|
1380
1523
|
//#endregion
|
|
1381
|
-
//#region src/dictionary/
|
|
1524
|
+
//#region src/dictionary/dictionary-diagnostics.d.ts
|
|
1382
1525
|
/**
|
|
1383
|
-
* Collects
|
|
1526
|
+
* Collects tuning-oriented diagnostics for a dictionary profile without creating
|
|
1527
|
+
* segments. This output is intended for profile authoring workflows rather than
|
|
1528
|
+
* long-term compatibility guarantees.
|
|
1384
1529
|
*
|
|
1385
1530
|
* This is useful when tuning blockers and family choices for a new dictionary.
|
|
1386
1531
|
*/
|
|
@@ -1491,68 +1636,6 @@ declare const getDebugReason: (meta: Record<string, any> | undefined, options?:
|
|
|
1491
1636
|
*/
|
|
1492
1637
|
declare const getSegmentDebugReason: (segment: Segment, options?: DebugReasonOptions) => string;
|
|
1493
1638
|
//#endregion
|
|
1494
|
-
//#region src/segmentation/pattern-validator.d.ts
|
|
1495
|
-
/**
|
|
1496
|
-
* Types of validation issues that can be detected.
|
|
1497
|
-
*/
|
|
1498
|
-
type ValidationIssueType = 'missing_braces' | 'unknown_token' | 'duplicate' | 'empty_pattern' | 'invalid_regex' | 'invalid_option';
|
|
1499
|
-
/**
|
|
1500
|
-
* A validation issue found in a pattern.
|
|
1501
|
-
*/
|
|
1502
|
-
type ValidationIssue = {
|
|
1503
|
-
type: ValidationIssueType;
|
|
1504
|
-
message: string;
|
|
1505
|
-
suggestion?: string; /** The token name involved in the issue (for unknown_token / missing_braces) */
|
|
1506
|
-
token?: string; /** The specific pattern involved (for duplicate) */
|
|
1507
|
-
pattern?: string;
|
|
1508
|
-
};
|
|
1509
|
-
/**
|
|
1510
|
-
* Validation result for a single rule, with issues keyed by pattern type.
|
|
1511
|
-
* Arrays parallel the input pattern arrays - undefined means no issue.
|
|
1512
|
-
*/
|
|
1513
|
-
type RuleValidationResult = {
|
|
1514
|
-
lineStartsWith?: (ValidationIssue | undefined)[];
|
|
1515
|
-
lineStartsAfter?: (ValidationIssue | undefined)[];
|
|
1516
|
-
lineEndsWith?: (ValidationIssue | undefined)[];
|
|
1517
|
-
template?: ValidationIssue;
|
|
1518
|
-
regex?: ValidationIssue;
|
|
1519
|
-
dictionaryEntry?: Partial<Record<keyof DictionaryEntryPatternOptions, ValidationIssue>>;
|
|
1520
|
-
};
|
|
1521
|
-
/**
|
|
1522
|
-
* Validates split rules for common pattern issues.
|
|
1523
|
-
*
|
|
1524
|
-
* Checks for:
|
|
1525
|
-
* - Missing `{{}}` around known token names (e.g., `raqms:num` instead of `{{raqms:num}}`)
|
|
1526
|
-
* - Unknown token names inside `{{}}` (e.g., `{{nonexistent}}`)
|
|
1527
|
-
* - Duplicate patterns within the same rule
|
|
1528
|
-
*
|
|
1529
|
-
* @param rules - Array of split rules to validate
|
|
1530
|
-
* @returns Array parallel to input with validation results (undefined if no issues)
|
|
1531
|
-
*
|
|
1532
|
-
* @example
|
|
1533
|
-
* const issues = validateRules([
|
|
1534
|
-
* { lineStartsAfter: ['raqms:num'] }, // Missing braces
|
|
1535
|
-
* { lineStartsWith: ['{{unknown}}'] }, // Unknown token
|
|
1536
|
-
* ]);
|
|
1537
|
-
* // issues[0]?.lineStartsAfter?.[0]?.type === 'missing_braces'
|
|
1538
|
-
* // issues[1]?.lineStartsWith?.[0]?.type === 'unknown_token'
|
|
1539
|
-
*/
|
|
1540
|
-
declare const validateRules: (rules: SplitRule[]) => (RuleValidationResult | undefined)[];
|
|
1541
|
-
/**
|
|
1542
|
-
* Formats a validation result array into a list of human-readable error messages.
|
|
1543
|
-
*
|
|
1544
|
-
* Useful for displaying validation errors in UIs.
|
|
1545
|
-
*
|
|
1546
|
-
* @param results - The result array from `validateRules()`
|
|
1547
|
-
* @returns Array of formatted error strings
|
|
1548
|
-
*
|
|
1549
|
-
* @example
|
|
1550
|
-
* const issues = validateRules(rules);
|
|
1551
|
-
* const errors = formatValidationReport(issues);
|
|
1552
|
-
* // ["Rule 1, lineStartsWith: Missing {{}} around token..."]
|
|
1553
|
-
*/
|
|
1554
|
-
declare const formatValidationReport: (results: (RuleValidationResult | undefined)[]) => string[];
|
|
1555
|
-
//#endregion
|
|
1556
1639
|
//#region src/segmentation/segmenter.d.ts
|
|
1557
1640
|
/**
|
|
1558
1641
|
* Segments pages of content based on pattern-matching rules.
|
|
@@ -2009,5 +2092,5 @@ type ValidationOptions = {
|
|
|
2009
2092
|
*/
|
|
2010
2093
|
declare const validateSegments: (pages: Page[], options: SegmentationOptions, segments: Segment[], validationOptions?: ValidationOptions) => SegmentValidationReport;
|
|
2011
2094
|
//#endregion
|
|
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 };
|
|
2095
|
+
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 BreakpointSuggestion, 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 PreprocessDetections, type PreprocessSuggestion, type PreprocessTransform, type RemoveZeroWidthRule, type RepeatingSequenceExample, type RepeatingSequenceOptions, type RepeatingSequencePattern, type RuleSuggestionConfidence, type RuleSuggestionSource, type RuleValidationResult, type Segment, type SegmentValidationIssue, type SegmentValidationIssueSeverity, type SegmentValidationIssueType, type SegmentValidationReport, type SegmentationAdvisorMode, type SegmentationAdvisorOptions, type SegmentationEvaluation, type SegmentationOptions, type SegmentationSuggestionReport, type SplitRule, type SuggestedRule, 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, suggestSegmentationOptions, templateToRegex, validateDictionaryProfile, validateRules, validateSegments, withCapture };
|
|
2013
2096
|
//# 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/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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"}
|
|
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/segmentation/pattern-validator.ts","../src/analysis/segmentation-advisor.ts","../src/detection.ts","../src/dictionary/arabic-dictionary-rule.ts","../src/dictionary/heading-classifier.ts","../src/dictionary/profile.ts","../src/dictionary/dictionary-diagnostics.ts","../src/optimization/optimize-rules.ts","../src/preprocessing/transforms.ts","../src/segmentation/breakpoint-utils.ts","../src/segmentation/debug-meta.ts","../src/segmentation/segmenter.ts","../src/segmentation/tokens.ts","../src/utils/textUtils.ts","../src/validation/validate-segments.ts"],"mappings":"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"}
|