nx-md-parser 2.0.1 → 2.0.2

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.
Files changed (28) hide show
  1. package/README.md +89 -29
  2. package/dist/src/index.d.ts +1 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +2 -1
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib/markdown-transformer/core/transformer.d.ts +3 -0
  7. package/dist/src/lib/markdown-transformer/core/transformer.d.ts.map +1 -1
  8. package/dist/src/lib/markdown-transformer/core/transformer.js +60 -1
  9. package/dist/src/lib/markdown-transformer/core/transformer.js.map +1 -1
  10. package/dist/src/lib/markdown-transformer/core/types.d.ts +2 -1
  11. package/dist/src/lib/markdown-transformer/core/types.d.ts.map +1 -1
  12. package/dist/src/lib/markdown-transformer/core/types.js +1 -0
  13. package/dist/src/lib/markdown-transformer/core/types.js.map +1 -1
  14. package/dist/src/lib/markdown-transformer/parsers/bullet-parser.d.ts.map +1 -1
  15. package/dist/src/lib/markdown-transformer/parsers/bullet-parser.js +51 -43
  16. package/dist/src/lib/markdown-transformer/parsers/bullet-parser.js.map +1 -1
  17. package/dist/src/lib/markdown-transformer/parsers/colon-parser.d.ts +10 -0
  18. package/dist/src/lib/markdown-transformer/parsers/colon-parser.d.ts.map +1 -0
  19. package/dist/src/lib/markdown-transformer/parsers/colon-parser.js +65 -0
  20. package/dist/src/lib/markdown-transformer/parsers/colon-parser.js.map +1 -0
  21. package/dist/src/lib/markdown-transformer/parsers/format-detector.d.ts.map +1 -1
  22. package/dist/src/lib/markdown-transformer/parsers/format-detector.js +3 -1
  23. package/dist/src/lib/markdown-transformer/parsers/format-detector.js.map +1 -1
  24. package/dist/src/lib/markdown-transformer/parsers/index.d.ts +1 -0
  25. package/dist/src/lib/markdown-transformer/parsers/index.d.ts.map +1 -1
  26. package/dist/src/lib/markdown-transformer/parsers/index.js +3 -1
  27. package/dist/src/lib/markdown-transformer/parsers/index.js.map +1 -1
  28. package/package.json +14 -6
package/README.md CHANGED
@@ -3,15 +3,16 @@
3
3
  [![npm version](https://badge.fury.io/js/nx-md-parser.svg)](https://badge.fury.io/js/nx-md-parser)
4
4
  [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
5
5
 
6
- **Multi-Format AI-Powered Markdown to JSON Transformer** - Transform markdown documents into structured JSON with support for multiple formats (headings `###` and bullets `-`), intelligent schema validation, auto-fixing, and machine learning capabilities.
6
+ **Extensible Multi-Format AI-Powered Markdown to JSON Transformer** - Transform markdown documents into structured JSON with support for multiple markdown formats, intelligent schema validation, auto-fixing, and machine learning capabilities. Built with an extensible parser architecture that can handle any markdown variant.
7
7
 
8
8
  ## ✨ Features
9
9
 
10
- ### 📝 Multi-Format Markdown Support
11
- - **Auto-Detection**: Automatically detects markdown format (headings `###` vs bullets `-`)
12
- - **Heading Format**: Traditional `### Section` style parsing
13
- - **Bullet Format**: Modern `- Section` bullet-style parsing
14
- - **Format Selection**: Explicitly specify format when needed
10
+ ### 📝 Extensible Multi-Format Markdown Support
11
+ - **Auto-Detection**: Automatically detects and selects appropriate parser for any markdown format
12
+ - **Built-in Formats**: Heading (`### Section`), bullet (`- Section`), and colon (`Key: Value`) formats
13
+ - **Custom Parsers**: Easy to add support for any markdown variant (YAML frontmatter, numbered sections, etc.)
14
+ - **Parser Registry**: Register multiple parsers for different formats
15
+ - **Format Selection**: Explicitly specify format or let auto-detection choose
15
16
  - **Backward Compatible**: All existing code continues to work unchanged
16
17
 
17
18
  ### 🤖 Advanced AI-Powered Matching
@@ -19,7 +20,7 @@
19
20
  - **Configurable Weights & Thresholds**: Fine-tune matching sensitivity for different use cases
20
21
  - **Machine Learning**: Learn aliases and improve matching accuracy over time
21
22
  - **Context-Aware**: Different thresholds for key-to-key, title-to-key, and object matching
22
- - **Persistent Learning** (Optional): Save/load ML data with `@xronoces/xronox-ml`
23
+ - **Persistent Learning** (Optional): Save/load ML data with `@xronoces/xronox-ml``
23
24
  - **Schema Consistency**: Same intelligent matching for objects AND arrays
24
25
 
25
26
  ### 🔧 Intelligent Auto-Fixing
@@ -31,10 +32,11 @@
31
32
  - **Content Intelligence**: Parse tables, lists, key-value pairs automatically
32
33
 
33
34
  ### 🏗️ Modular Architecture
34
- - **Extensible Parser System**: Easy to add new markdown formats
35
- - **Clean Separation**: Parsers, converters, transformers, and utilities
36
- - **Plugin Architecture**: Register custom parsers for specialized formats
37
- - **Format Detection**: Intelligent auto-selection of appropriate parsers
35
+ - **Extensible Parser System**: Add support for any markdown format by implementing BaseMarkdownParser
36
+ - **Clean Separation**: Parsers, converters, transformers, and utilities in separate modules
37
+ - **Plugin Architecture**: Register custom parsers for specialized formats (YAML, XML, custom syntax)
38
+ - **Format Detection**: Intelligent auto-selection of appropriate parsers from registered options
39
+ - **Multiple Parsers**: Support multiple parsers simultaneously for different document types
38
40
 
39
41
  ### 📋 Schema Validation
40
42
  - **Intuitive Schema DSL**: Clean, TypeScript-friendly schema definition
@@ -135,6 +137,22 @@ SSL: true
135
137
  }
136
138
  ```
137
139
 
140
+ ### Colon-Separated Format
141
+ ```markdown
142
+ Title: My Project
143
+ Description: Project description
144
+ Tags: TypeScript, React
145
+ Active: true
146
+ ```
147
+ ```json
148
+ {
149
+ "title": "My Project",
150
+ "description": "Project description",
151
+ "tags": ["TypeScript", "React"],
152
+ "active": true
153
+ }
154
+ ```
155
+
138
156
  ### Mixed Content Types
139
157
  All parsing types can be nested and combined for complex document structures.
140
158
 
@@ -204,25 +222,39 @@ Priority: High
204
222
  true
205
223
  `);
206
224
 
207
- // Both produce the same result!
225
+ // And with colon format (Key: Value)
226
+ const colonResult = transformer.transformMarkdown(\`
227
+ Title: My Awesome Project
228
+ Tags: TypeScript, React, Node.js
229
+ Metadata: Author - John Doe, Priority - High
230
+ Active: true
231
+ Version: 1.0.0
232
+ \`);
233
+
234
+ // All formats produce the same structured result!
208
235
  console.log(headingResult.result); // Your structured JSON
209
236
  console.log(bulletResult.result); // Same structured JSON
237
+ console.log(colonResult.result); // Same structured JSON
210
238
  ```
211
239
 
212
- ### Format Selection
240
+ ### Format Selection & Auto-Detection
213
241
 
214
242
  ```typescript
215
243
  import { JSONTransformer, Schema, MarkdownFormat } from 'nx-md-parser';
216
244
 
217
- // Force specific format
245
+ // Auto-detect format (recommended)
246
+ const transformer = new JSONTransformer(schema); // Automatically chooses best parser
247
+
248
+ // Force specific built-in format
249
+ const headingTransformer = new JSONTransformer(schema, {
250
+ parserOptions: { format: MarkdownFormat.HEADING }
251
+ });
252
+
218
253
  const bulletTransformer = new JSONTransformer(schema, {
219
- parserOptions: {
220
- format: MarkdownFormat.BULLET // or MarkdownFormat.HEADING
221
- }
254
+ parserOptions: { format: MarkdownFormat.BULLET }
222
255
  });
223
256
 
224
- // Auto-detect (default behavior)
225
- const autoTransformer = new JSONTransformer(schema); // format: MarkdownFormat.AUTO
257
+ // Works with any registered format - the system is extensible!
226
258
  ```
227
259
 
228
260
  ## 🎯 Advanced Usage
@@ -312,13 +344,14 @@ const merged = mergeWithRoles(roleBasedData);
312
344
  ```typescript
313
345
  import { BaseMarkdownParser, MarkdownFormat, getFormatDetector } from 'nx-md-parser';
314
346
 
347
+ // Example: YAML Frontmatter parser
315
348
  class YamlFrontmatterParser extends BaseMarkdownParser {
316
349
  canParse(markdown: string): boolean {
317
350
  return markdown.startsWith('---\n');
318
351
  }
319
352
 
320
353
  parseSections(markdown: string): MarkdownSection[] {
321
- // Your YAML frontmatter parsing logic
354
+ // Parse YAML frontmatter + markdown body
322
355
  return [];
323
356
  }
324
357
 
@@ -327,9 +360,28 @@ class YamlFrontmatterParser extends BaseMarkdownParser {
327
360
  }
328
361
  }
329
362
 
330
- // Register custom parser
363
+ // Example: Numbered sections parser
364
+ class NumberedSectionsParser extends BaseMarkdownParser {
365
+ canParse(markdown: string): boolean {
366
+ return /^\d+\.\s/.test(markdown);
367
+ }
368
+
369
+ parseSections(markdown: string): MarkdownSection[] {
370
+ // Parse numbered sections like "1. Introduction"
371
+ return [];
372
+ }
373
+
374
+ getFormatName(): MarkdownFormat {
375
+ return 'numbered-sections' as any;
376
+ }
377
+ }
378
+
379
+ // Register multiple custom parsers
331
380
  const detector = getFormatDetector();
332
381
  detector.registerParser(new YamlFrontmatterParser());
382
+ detector.registerParser(new NumberedSectionsParser());
383
+
384
+ // Now supports: headings, bullets, colon format, YAML frontmatter, numbered sections, etc.
333
385
  ```
334
386
 
335
387
  ### JSON to Markdown Generation
@@ -431,6 +483,12 @@ import { BulletParser } from 'nx-md-parser';
431
483
  const parser = new BulletParser();
432
484
  ```
433
485
 
486
+ **ColonParser** - Parses `Key: Value` colon format
487
+ ```typescript
488
+ import { ColonParser } from 'nx-md-parser';
489
+ const parser = new ColonParser();
490
+ ```
491
+
434
492
  **FormatDetector** - Auto-detects and selects appropriate parsers
435
493
  ```typescript
436
494
  import { FormatDetector, getFormatDetector } from 'nx-md-parser';
@@ -472,10 +530,11 @@ learnAliasesFromTransformations(transformations: TransformationExample[]): Learn
472
530
  #### Parser Types & Enums
473
531
  ```typescript
474
532
  enum MarkdownFormat {
475
- AUTO = 'auto', // Auto-detect format
476
- HEADING = 'heading', // ### Section format
477
- BULLET = 'bullet', // - Section format
478
- MIXED = 'mixed' // Mixed formats
533
+ AUTO = 'auto', // Auto-detect format
534
+ HEADING = 'heading', // ### Section format
535
+ BULLET = 'bullet', // - Section format
536
+ COLON = 'colon', // Key: Value format
537
+ MIXED = 'mixed' // Mixed formats
479
538
  }
480
539
 
481
540
  interface MarkdownSection {
@@ -573,10 +632,11 @@ ISC License - see [LICENSE](LICENSE) file for details.
573
632
 
574
633
  ## 📋 What's New in v2.0
575
634
 
576
- - **Multi-Format Support**: Automatic detection and parsing of both heading (`###`) and bullet (`-`) markdown formats
577
- - **Modular Architecture**: Extensible parser system with clean separation of concerns
635
+ - **Extensible Multi-Format Architecture**: Support for any markdown variant through custom parsers, not just headings and bullets
636
+ - **Intelligent Parser System**: Auto-detection and selection from multiple registered parsers
637
+ - **Plugin Architecture**: Easy to extend with custom parsers for YAML frontmatter, numbered sections, XML, or any format
638
+ - **Modular Design**: Clean separation of parsing, conversion, and transformation logic
578
639
  - **Backward Compatibility**: All existing code continues to work unchanged
579
- - **Custom Parsers**: Easy to add support for new markdown formats
580
- - **Enhanced TypeScript**: Better type safety with new parser interfaces
640
+ - **Enhanced TypeScript**: Better type safety with extensible parser interfaces
581
641
 
582
642
  **Made with ❤️ by the nx-intelligence team**
@@ -11,6 +11,6 @@ export { MarkdownParser, } from './lib/markdown-transformer/core/transformer';
11
11
  export { mergeTransformResults, jsonToMarkdown, loadSchemaFromFile, createTransformerFromSchemaFile, createNxHelpersTransformer, learnAliasesFromTransformations } from './lib/markdown-transformer/utils/merge';
12
12
  export type { SchemaType, ValidationStatus, TransformResult, MarkdownSection, ParserOptions, } from './lib/markdown-transformer/core/types';
13
13
  export { MarkdownFormat } from './lib/markdown-transformer/core/types';
14
- export { BaseMarkdownParser, HeadingParser, BulletParser, FormatDetector, getFormatDetector, resetFormatDetector } from './lib/markdown-transformer/parsers';
14
+ export { BaseMarkdownParser, HeadingParser, BulletParser, ColonParser, FormatDetector, getFormatDetector, resetFormatDetector } from './lib/markdown-transformer/parsers';
15
15
  export { mergeNoRedundancy, mergeMultiple, mergeWithRoles, loadJson, toCamelCase, fromCamelToTitle, toTitleCase, anyToMarkdownString, string as nxString, number as nxNumber, boolean as nxBoolean, array as nxArray, object as nxObject, bestMatchOneToMany, defaultMatcherConfig, JSONTransformer as NxHelpersJSONTransformer } from 'nx-helpers';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EACL,cAAc,GACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EAEnB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,OAAO,IAAI,SAAS,EACpB,KAAK,IAAI,OAAO,EAChB,MAAM,IAAI,QAAQ,EAElB,kBAAkB,EAClB,oBAAoB,EAEpB,eAAe,IAAI,wBAAwB,EAC5C,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EACL,cAAc,GACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EAEnB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,OAAO,IAAI,SAAS,EACpB,KAAK,IAAI,OAAO,EAChB,MAAM,IAAI,QAAQ,EAElB,kBAAkB,EAClB,oBAAoB,EAEpB,eAAe,IAAI,wBAAwB,EAC5C,MAAM,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * matching a desired schema with intelligent auto-fixing capabilities.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.NxHelpersJSONTransformer = exports.defaultMatcherConfig = exports.bestMatchOneToMany = exports.nxObject = exports.nxArray = exports.nxBoolean = exports.nxNumber = exports.nxString = exports.anyToMarkdownString = exports.toTitleCase = exports.fromCamelToTitle = exports.toCamelCase = exports.loadJson = exports.mergeWithRoles = exports.mergeMultiple = exports.mergeNoRedundancy = exports.resetFormatDetector = exports.getFormatDetector = exports.FormatDetector = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = exports.MarkdownFormat = exports.learnAliasesFromTransformations = exports.createNxHelpersTransformer = exports.createTransformerFromSchemaFile = exports.loadSchemaFromFile = exports.jsonToMarkdown = exports.mergeTransformResults = exports.MarkdownParser = exports.Schema = exports.LearningTransformer = exports.JSONTransformer = void 0;
9
+ exports.NxHelpersJSONTransformer = exports.defaultMatcherConfig = exports.bestMatchOneToMany = exports.nxObject = exports.nxArray = exports.nxBoolean = exports.nxNumber = exports.nxString = exports.anyToMarkdownString = exports.toTitleCase = exports.fromCamelToTitle = exports.toCamelCase = exports.loadJson = exports.mergeWithRoles = exports.mergeMultiple = exports.mergeNoRedundancy = exports.resetFormatDetector = exports.getFormatDetector = exports.FormatDetector = exports.ColonParser = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = exports.MarkdownFormat = exports.learnAliasesFromTransformations = exports.createNxHelpersTransformer = exports.createTransformerFromSchemaFile = exports.loadSchemaFromFile = exports.jsonToMarkdown = exports.mergeTransformResults = exports.MarkdownParser = exports.Schema = exports.LearningTransformer = exports.JSONTransformer = void 0;
10
10
  // Core functionality - what most users need
11
11
  var transformer_1 = require("./lib/markdown-transformer/core/transformer");
12
12
  Object.defineProperty(exports, "JSONTransformer", { enumerable: true, get: function () { return transformer_1.JSONTransformer; } });
@@ -31,6 +31,7 @@ var parsers_1 = require("./lib/markdown-transformer/parsers");
31
31
  Object.defineProperty(exports, "BaseMarkdownParser", { enumerable: true, get: function () { return parsers_1.BaseMarkdownParser; } });
32
32
  Object.defineProperty(exports, "HeadingParser", { enumerable: true, get: function () { return parsers_1.HeadingParser; } });
33
33
  Object.defineProperty(exports, "BulletParser", { enumerable: true, get: function () { return parsers_1.BulletParser; } });
34
+ Object.defineProperty(exports, "ColonParser", { enumerable: true, get: function () { return parsers_1.ColonParser; } });
34
35
  Object.defineProperty(exports, "FormatDetector", { enumerable: true, get: function () { return parsers_1.FormatDetector; } });
35
36
  Object.defineProperty(exports, "getFormatDetector", { enumerable: true, get: function () { return parsers_1.getFormatDetector; } });
36
37
  Object.defineProperty(exports, "resetFormatDetector", { enumerable: true, get: function () { return parsers_1.resetFormatDetector; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,4CAA4C;AAC5C,2EAA8E;AAArE,8GAAA,eAAe,OAAA;AACxB,4EAAmF;AAA1E,kHAAA,mBAAmB,OAAA;AAC5B,2EAAqE;AAA5D,qGAAA,MAAM,OAAA;AAEf,8CAA8C;AAC9C,2EAEqD;AADnD,6GAAA,cAAc,OAAA;AAEhB,gEAOgD;AAN9C,8GAAA,qBAAqB,OAAA;AACrB,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,wHAAA,+BAA+B,OAAA;AAC/B,mHAAA,0BAA0B,OAAA;AAC1B,wHAAA,+BAA+B,OAAA;AAWjC,+DAAuE;AAA9D,uGAAA,cAAc,OAAA;AAEvB,iDAAiD;AACjD,8DAO4C;AAN1C,6GAAA,kBAAkB,OAAA;AAClB,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AAGrB,uDAAuD;AACvD,yCAoBoB;AAnBlB,+GAAA,iBAAiB,OAAA;AACjB,2GAAA,aAAa,OAAA;AACb,4GAAA,cAAc,OAAA;AACd,sGAAA,QAAQ,OAAA;AACR,yGAAA,WAAW,OAAA;AACX,8GAAA,gBAAgB,OAAA;AAChB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,kBAAkB;AAClB,sGAAA,MAAM,OAAY;AAClB,sGAAA,MAAM,OAAY;AAClB,uGAAA,OAAO,OAAa;AACpB,qGAAA,KAAK,OAAW;AAChB,sGAAA,MAAM,OAAY;AAClB,oBAAoB;AACpB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,mBAAmB;AACnB,sHAAA,eAAe,OAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,4CAA4C;AAC5C,2EAA8E;AAArE,8GAAA,eAAe,OAAA;AACxB,4EAAmF;AAA1E,kHAAA,mBAAmB,OAAA;AAC5B,2EAAqE;AAA5D,qGAAA,MAAM,OAAA;AAEf,8CAA8C;AAC9C,2EAEqD;AADnD,6GAAA,cAAc,OAAA;AAEhB,gEAOgD;AAN9C,8GAAA,qBAAqB,OAAA;AACrB,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,wHAAA,+BAA+B,OAAA;AAC/B,mHAAA,0BAA0B,OAAA;AAC1B,wHAAA,+BAA+B,OAAA;AAWjC,+DAAuE;AAA9D,uGAAA,cAAc,OAAA;AAEvB,iDAAiD;AACjD,8DAQ4C;AAP1C,6GAAA,kBAAkB,OAAA;AAClB,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,sGAAA,WAAW,OAAA;AACX,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AAGrB,uDAAuD;AACvD,yCAoBoB;AAnBlB,+GAAA,iBAAiB,OAAA;AACjB,2GAAA,aAAa,OAAA;AACb,4GAAA,cAAc,OAAA;AACd,sGAAA,QAAQ,OAAA;AACR,yGAAA,WAAW,OAAA;AACX,8GAAA,gBAAgB,OAAA;AAChB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,kBAAkB;AAClB,sGAAA,MAAM,OAAY;AAClB,sGAAA,MAAM,OAAY;AAClB,uGAAA,OAAO,OAAa;AACpB,qGAAA,KAAK,OAAW;AAChB,sGAAA,MAAM,OAAY;AAClB,oBAAoB;AACpB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,mBAAmB;AACnB,sHAAA,eAAe,OAA4B"}
@@ -42,6 +42,9 @@ export declare class JSONTransformer {
42
42
  * Transform markdown text to JSON matching schema
43
43
  */
44
44
  transformMarkdown(markdown: string): TransformResult;
45
+ private mergeRelatedSections;
46
+ private shouldMergeSections;
47
+ private analyzeContentStructure;
45
48
  private sectionsToObject;
46
49
  /**
47
50
  * Transform any input to match desired schema
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMnF,eAAO,MAAM,MAAM;kBACL,UAAU;kBACV,UAAU;mBACT,UAAU;mBACR,UAAU,KAAG,UAAU;yBACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,UAAU;CAI7D,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAa/D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIzC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAUhF;AAMD,qBAAa,eAAe;IAUxB,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAG3B,MAAM,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAiBH;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAmCpD,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,eAAe;IA+BtC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,OAAO;IAwEf,OAAO,CAAC,QAAQ;IA+DhB,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,eAAe;CAqBxB"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMnF,eAAO,MAAM,MAAM;kBACL,UAAU;kBACV,UAAU;mBACT,UAAU;mBACR,UAAU,KAAG,UAAU;yBACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,UAAU;CAI7D,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAa/D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIzC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAUhF;AAMD,qBAAa,eAAe;IAUxB,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAG3B,MAAM,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAiBH;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAoCpD,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,eAAe;IA+BtC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,OAAO;IAwEf,OAAO,CAAC,QAAQ;IA+DhB,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,eAAe;CAqBxB"}
@@ -90,7 +90,7 @@ class JSONTransformer {
90
90
  // STEP 2: Get appropriate parser
91
91
  const parser = this.formatDetector.getParser(format, markdown);
92
92
  // STEP 3: Parse sections
93
- const sections = parser.parseSections(markdown);
93
+ let sections = parser.parseSections(markdown);
94
94
  // STEP 4: Convert sections to object
95
95
  const parsed = this.sectionsToObject(sections);
96
96
  // STEP 5: Transform to match schema
@@ -105,6 +105,65 @@ class JSONTransformer {
105
105
  };
106
106
  }
107
107
  }
108
+ mergeRelatedSections(sections) {
109
+ if (sections.length <= 1)
110
+ return sections;
111
+ const merged = [];
112
+ let currentSection = null;
113
+ for (const section of sections) {
114
+ // Check if this section should be merged with the current one
115
+ if (currentSection && this.shouldMergeSections(currentSection, section)) {
116
+ // Merge this section's content into the current section
117
+ currentSection.content += '\n\n' + section.heading + '\n' + section.content;
118
+ }
119
+ else {
120
+ // Start a new section
121
+ if (currentSection) {
122
+ merged.push(currentSection);
123
+ }
124
+ currentSection = { ...section };
125
+ }
126
+ }
127
+ if (currentSection) {
128
+ merged.push(currentSection);
129
+ }
130
+ return merged;
131
+ }
132
+ shouldMergeSections(current, next) {
133
+ // Only merge in bullet format
134
+ if (current.format !== 'bullet' || next.format !== 'bullet') {
135
+ return false;
136
+ }
137
+ // For bullet format, merge sections based on content patterns
138
+ const currentStructure = this.analyzeContentStructure(current.content);
139
+ const nextStructure = this.analyzeContentStructure(next.content);
140
+ // Only merge if current has introductory text and next has structured content (overview + details)
141
+ // This indicates current is an overview and next are details
142
+ if (currentStructure.hasIntroText && nextStructure.hasStructuredContent && !nextStructure.hasIntroText) {
143
+ return true;
144
+ }
145
+ return false;
146
+ }
147
+ analyzeContentStructure(content) {
148
+ const trimmed = content.trim();
149
+ if (!trimmed) {
150
+ return { hasIntroText: false, hasStructuredContent: false, hasLists: false, hasNumbers: false };
151
+ }
152
+ const lines = trimmed.split('\n').map(l => l.trim()).filter(l => l);
153
+ // Check for introductory paragraph text (lines that don't start with bullets/numbers)
154
+ const introLines = lines.filter(line => !line.match(/^[-*•]\s/) && !line.match(/^\d+\./));
155
+ const hasIntroText = introLines.length > 0 && introLines[0].length > 20; // Substantial intro text
156
+ // Check for structured content (bullets, numbers, etc.)
157
+ const hasLists = lines.some(line => line.match(/^[-*•]\s/));
158
+ const hasNumbers = lines.some(line => line.match(/^\d+\./));
159
+ const hasStructuredContent = hasLists || hasNumbers || lines.length > 3;
160
+ return {
161
+ hasIntroText,
162
+ hasStructuredContent,
163
+ hasLists,
164
+ hasNumbers
165
+ };
166
+ }
108
167
  sectionsToObject(sections) {
109
168
  const result = {};
110
169
  for (const section of sections) {
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,12 @@ export interface MarkdownSection {
22
22
  heading: string;
23
23
  content: string;
24
24
  level: number;
25
- format: 'heading' | 'bullet' | 'mixed';
25
+ format: 'heading' | 'bullet' | 'colon' | 'mixed';
26
26
  }
27
27
  export declare enum MarkdownFormat {
28
28
  HEADING = "heading",// ### Section
29
29
  BULLET = "bullet",// - Section
30
+ COLON = "colon",// Key: Value format
30
31
  MIXED = "mixed",// Both in same doc
31
32
  AUTO = "auto"
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxC;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY,CAAK,cAAc;IACtC,MAAM,WAAW,CAAO,YAAY;IACpC,KAAK,UAAU,CAAS,mBAAmB;IAC3C,IAAI,SAAS;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;CAClD;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY,CAAK,cAAc;IACtC,MAAM,WAAW,CAAO,YAAY;IACpC,KAAK,UAAU,CAAS,oBAAoB;IAC5C,KAAK,UAAU,CAAS,mBAAmB;IAC3C,IAAI,SAAS;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -5,6 +5,7 @@ var MarkdownFormat;
5
5
  (function (MarkdownFormat) {
6
6
  MarkdownFormat["HEADING"] = "heading";
7
7
  MarkdownFormat["BULLET"] = "bullet";
8
+ MarkdownFormat["COLON"] = "colon";
8
9
  MarkdownFormat["MIXED"] = "mixed";
9
10
  MarkdownFormat["AUTO"] = "auto"; // Auto-detect
10
11
  })(MarkdownFormat || (exports.MarkdownFormat = MarkdownFormat = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":";;;AAuBA,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA,CAAW,cAAc;AACxC,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":";;;AAuBA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA,CAAW,cAAc;AACxC,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"bullet-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IAwDlD,OAAO,CAAC,eAAe;CAwBxB"}
1
+ {"version":3,"file":"bullet-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA8DlD,OAAO,CAAC,eAAe;CA0BxB"}
@@ -25,41 +25,48 @@ class BulletParser extends base_parser_1.BaseMarkdownParser {
25
25
  let currentSection = null;
26
26
  for (let i = 0; i < lines.length; i++) {
27
27
  const line = lines[i];
28
- // Check for bullet at column 0 (not indented)
29
- const bulletMatch = line.match(/^-\s+(.+)$/);
28
+ // Check for any bullet (indented or not)
29
+ const bulletMatch = line.match(/^\s*-\s+(.+)$/);
30
30
  const isIndented = /^\s+/.test(line);
31
- if (bulletMatch && !isIndented) {
32
- const heading = bulletMatch[1].trim();
33
- if (this.isSectionHeader(heading, lines, i)) {
34
- // Save previous section
35
- if (currentSection) {
36
- currentSection.content = currentSection.content.trim();
37
- sections.push(currentSection);
31
+ if (bulletMatch) {
32
+ if (!isIndented) {
33
+ // Bullet at column 0 - check if it's a section header
34
+ const heading = bulletMatch[1].trim();
35
+ if (this.isSectionHeader(heading, lines, i)) {
36
+ // Save previous section
37
+ if (currentSection) {
38
+ currentSection.content = currentSection.content.trim();
39
+ sections.push(currentSection);
40
+ }
41
+ // Start new section
42
+ currentSection = {
43
+ heading: heading,
44
+ content: '',
45
+ level: 1,
46
+ format: 'bullet'
47
+ };
48
+ }
49
+ else if (currentSection) {
50
+ // This is content (part of a list in current section)
51
+ currentSection.content += line + '\n';
52
+ }
53
+ else {
54
+ // First line - treat as section
55
+ currentSection = {
56
+ heading: heading,
57
+ content: '',
58
+ level: 1,
59
+ format: 'bullet'
60
+ };
38
61
  }
39
- // Start new section
40
- currentSection = {
41
- heading: heading,
42
- content: '',
43
- level: 1,
44
- format: 'bullet'
45
- };
46
62
  }
47
63
  else if (currentSection) {
48
- // This is content (part of a list)
64
+ // Indented bullet - always content for current section
49
65
  currentSection.content += line + '\n';
50
66
  }
51
- else {
52
- // First line - treat as section
53
- currentSection = {
54
- heading: heading,
55
- content: '',
56
- level: 1,
57
- format: 'bullet'
58
- };
59
- }
60
67
  }
61
68
  else if (currentSection) {
62
- // Add content to current section
69
+ // Non-bullet line - content for current section
63
70
  currentSection.content += line + '\n';
64
71
  }
65
72
  }
@@ -71,23 +78,24 @@ class BulletParser extends base_parser_1.BaseMarkdownParser {
71
78
  return sections;
72
79
  }
73
80
  isSectionHeader(heading, lines, index) {
74
- const headingLower = heading.toLowerCase();
75
- // Check if heading contains section keywords
76
- const containsKeyword = this.options.sectionKeywords.some(kw => headingLower.includes(kw));
77
- if (containsKeyword)
78
- return true;
79
- // Check if this bullet is immediately preceded by another bullet
80
- // If so, it's likely part of a list, not a section header
81
- for (let i = index - 1; i >= 0; i--) {
82
- const line = lines[i].trim();
83
- if (line === '')
84
- continue; // Skip empty lines
85
- if (line.startsWith('-')) {
86
- return false; // Immediately preceded by another bullet, so not a section header
87
- }
88
- break; // Found non-empty, non-bullet line
81
+ // Analyze the heading to determine if it's a section title or list item
82
+ // If it ends with a period, it's likely a complete sentence (list item)
83
+ if (heading.endsWith('.')) {
84
+ return false; // Treat as content for previous section
85
+ }
86
+ // If it's very short and looks like a numbered item, it's a list item
87
+ if (heading.length < 20 && /^\d+\./.test(heading.trim())) {
88
+ return false; // Numbered list item
89
+ }
90
+ // If it's very short and doesn't look like a title, it might be a list item
91
+ if (heading.length < 15 && !/^[A-Z]/.test(heading)) {
92
+ return false; // Probably a list item
93
+ }
94
+ // If it contains multiple sentences, it's likely content
95
+ if (heading.includes('. ') || heading.split('.').length > 2) {
96
+ return false; // Multi-sentence content
89
97
  }
90
- // Not immediately preceded by bullet, so it's a section header
98
+ // Default: treat as section header
91
99
  return true;
92
100
  }
93
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bullet-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bullet-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { BaseMarkdownParser } from './base-parser';
2
+ import { MarkdownSection } from '../core/types';
3
+ import { MarkdownFormat } from '../core/types';
4
+ export declare class ColonParser extends BaseMarkdownParser {
5
+ canParse(markdown: string): boolean;
6
+ getFormatName(): MarkdownFormat;
7
+ parseSections(markdown: string): MarkdownSection[];
8
+ private isLikelyTitle;
9
+ }
10
+ //# sourceMappingURL=colon-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colon-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/colon-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA6BlD,OAAO,CAAC,aAAa;CAoBtB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColonParser = void 0;
4
+ const base_parser_1 = require("./base-parser");
5
+ const types_1 = require("../core/types");
6
+ class ColonParser extends base_parser_1.BaseMarkdownParser {
7
+ canParse(markdown) {
8
+ const lines = markdown.split('\n').filter(l => l.trim());
9
+ // Must have at least some lines that look like key: value
10
+ const colonLines = lines.filter(line => line.includes(':'));
11
+ const totalLines = lines.length;
12
+ // If more than 50% of lines contain colons, likely colon format
13
+ return colonLines.length > totalLines * 0.3 && colonLines.length >= 2;
14
+ }
15
+ getFormatName() {
16
+ return types_1.MarkdownFormat.COLON;
17
+ }
18
+ parseSections(markdown) {
19
+ const lines = markdown.split('\n');
20
+ const sections = [];
21
+ for (const line of lines) {
22
+ const trimmed = line.trim();
23
+ if (!trimmed)
24
+ continue;
25
+ // Check if line looks like "Key: Value"
26
+ const colonIndex = trimmed.indexOf(':');
27
+ if (colonIndex > 0) {
28
+ const key = trimmed.substring(0, colonIndex).trim();
29
+ const value = trimmed.substring(colonIndex + 1).trim();
30
+ // Only treat as section if it looks like a title (not too long, not a sentence)
31
+ if (this.isLikelyTitle(key) && value) {
32
+ sections.push({
33
+ heading: key,
34
+ content: value,
35
+ level: 1,
36
+ format: 'colon'
37
+ });
38
+ }
39
+ }
40
+ }
41
+ return sections;
42
+ }
43
+ isLikelyTitle(key) {
44
+ // Titles are typically:
45
+ // - Short (less than 50 chars)
46
+ // - Start with capital letter or are camelCase
47
+ // - Don't contain complete sentences
48
+ // - Not too generic
49
+ if (key.length > 50)
50
+ return false;
51
+ if (key.length < 2)
52
+ return false;
53
+ // Don't treat complete sentences as titles
54
+ if (key.includes('.') || key.split(' ').length > 8)
55
+ return false;
56
+ // Don't treat very generic terms as titles
57
+ const genericTerms = ['the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by'];
58
+ const lowerKey = key.toLowerCase();
59
+ if (genericTerms.includes(lowerKey))
60
+ return false;
61
+ return true;
62
+ }
63
+ }
64
+ exports.ColonParser = ColonParser;
65
+ //# sourceMappingURL=colon-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colon-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/colon-parser.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAEnD,yCAA+C;AAE/C,MAAa,WAAY,SAAQ,gCAAkB;IACjD,QAAQ,CAAC,QAAgB;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAEhC,gEAAgE;QAChE,OAAO,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,OAAO,sBAAc,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,wCAAwC;YACxC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvD,gFAAgF;gBAChF,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,GAAG;wBACZ,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,wBAAwB;QACxB,+BAA+B;QAC/B,+CAA+C;QAC/C,qCAAqC;QACrC,oBAAoB;QAEpB,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjC,2CAA2C;QAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjE,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/G,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAElD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjED,kCAiEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,aAAkB;IAOvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAYxC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IA2BxE,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,aAAkB;IAQvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAYxC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IA2BxE,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAGjD"}
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormatDetector = void 0;
4
4
  const heading_parser_1 = require("./heading-parser");
5
5
  const bullet_parser_1 = require("./bullet-parser");
6
+ const colon_parser_1 = require("./colon-parser");
6
7
  const types_1 = require("../core/types");
7
8
  class FormatDetector {
8
9
  constructor(options = {}) {
9
10
  this.parsers = [
10
11
  new heading_parser_1.HeadingParser(options),
11
- new bullet_parser_1.BulletParser(options)
12
+ new bullet_parser_1.BulletParser(options),
13
+ new colon_parser_1.ColonParser(options)
12
14
  ];
13
15
  }
14
16
  detect(markdown) {
@@ -1 +1 @@
1
- {"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,mDAA+C;AAC/C,yCAA8D;AAE9D,MAAa,cAAc;IAGzB,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,8BAAa,CAAC,OAAO,CAAC;YAC1B,IAAI,4BAAY,CAAC,OAAO,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,uDAAuD;QACvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,sBAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAAsB,EAAE,QAAiB;QACjD,IAAI,MAAM,KAAK,sBAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,KAAK,sBAAc,CAAC,KAAK,EAAE,CAAC;YACpC,wCAAwC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,MAAM,CAAC,CAAC;YAEzF,IAAI,aAAa,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,IAAI,YAAY,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3C,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAA0B;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AApDD,wCAoDC"}
1
+ {"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,mDAA+C;AAC/C,iDAA6C;AAC7C,yCAA8D;AAE9D,MAAa,cAAc;IAGzB,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,8BAAa,CAAC,OAAO,CAAC;YAC1B,IAAI,4BAAY,CAAC,OAAO,CAAC;YACzB,IAAI,0BAAW,CAAC,OAAO,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,uDAAuD;QACvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,sBAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAAsB,EAAE,QAAiB;QACjD,IAAI,MAAM,KAAK,sBAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,KAAK,sBAAc,CAAC,KAAK,EAAE,CAAC;YACpC,wCAAwC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,MAAM,CAAC,CAAC;YAEzF,IAAI,aAAa,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,IAAI,YAAY,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3C,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAA0B;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AArDD,wCAqDC"}
@@ -1,6 +1,7 @@
1
1
  export { BaseMarkdownParser } from './base-parser';
2
2
  export { HeadingParser } from './heading-parser';
3
3
  export { BulletParser } from './bullet-parser';
4
+ export { ColonParser } from './colon-parser';
4
5
  export { FormatDetector } from './format-detector';
5
6
  import { FormatDetector } from './format-detector';
6
7
  import { ParserOptions } from '../core/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAKzE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAKzE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormatDetector = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = void 0;
3
+ exports.FormatDetector = exports.ColonParser = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = void 0;
4
4
  exports.getFormatDetector = getFormatDetector;
5
5
  exports.resetFormatDetector = resetFormatDetector;
6
6
  var base_parser_1 = require("./base-parser");
@@ -9,6 +9,8 @@ var heading_parser_1 = require("./heading-parser");
9
9
  Object.defineProperty(exports, "HeadingParser", { enumerable: true, get: function () { return heading_parser_1.HeadingParser; } });
10
10
  var bullet_parser_1 = require("./bullet-parser");
11
11
  Object.defineProperty(exports, "BulletParser", { enumerable: true, get: function () { return bullet_parser_1.BulletParser; } });
12
+ var colon_parser_1 = require("./colon-parser");
13
+ Object.defineProperty(exports, "ColonParser", { enumerable: true, get: function () { return colon_parser_1.ColonParser; } });
12
14
  var format_detector_1 = require("./format-detector");
13
15
  Object.defineProperty(exports, "FormatDetector", { enumerable: true, get: function () { return format_detector_1.FormatDetector; } });
14
16
  const format_detector_2 = require("./format-detector");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":";;;AAWA,8CAKC;AAED,kDAEC;AApBD,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,uDAAmD;AAGnD,8BAA8B;AAC9B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,SAAgB,iBAAiB,CAAC,OAAuB;IACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,mBAAmB;IACjC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":";;;AAYA,8CAKC;AAED,kDAEC;AArBD,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,uDAAmD;AAGnD,8BAA8B;AAC9B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,SAAgB,iBAAiB,CAAC,OAAuB;IACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,mBAAmB;IACjC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nx-md-parser",
3
- "version": "2.0.1",
4
- "description": "Multi-Format AI-Powered Markdown to JSON Transformer with support for headings (###) and bullets (-), intelligent schema validation, auto-fixing, table parsing, and optional persistent machine learning",
3
+ "version": "2.0.2",
4
+ "description": "Extensible Multi-Format AI-Powered Markdown to JSON Transformer with support for any markdown variant through custom parsers, intelligent schema validation, auto-fixing, table parsing, and optional persistent machine learning",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
7
  "files": [
@@ -35,12 +35,20 @@
35
35
  "persistent-learning",
36
36
  "ml-persistence",
37
37
  "multi-format",
38
- "headings",
39
- "bullets",
40
- "modular",
41
38
  "extensible",
39
+ "custom-parsers",
40
+ "modular",
42
41
  "format-detection",
43
- "auto-detection"
42
+ "auto-detection",
43
+ "plugin-architecture",
44
+ "yaml",
45
+ "frontmatter",
46
+ "headings",
47
+ "bullets",
48
+ "numbered-lists",
49
+ "colon",
50
+ "key-value",
51
+ "properties"
44
52
  ],
45
53
  "author": "nx-md-parser contributors",
46
54
  "license": "ISC",