rag-lite-ts 1.0.1

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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +240 -0
  3. package/dist/api-errors.d.ts +90 -0
  4. package/dist/api-errors.d.ts.map +1 -0
  5. package/dist/api-errors.js +320 -0
  6. package/dist/api-errors.js.map +1 -0
  7. package/dist/chunker.d.ts +47 -0
  8. package/dist/chunker.d.ts.map +1 -0
  9. package/dist/chunker.js +256 -0
  10. package/dist/chunker.js.map +1 -0
  11. package/dist/cli/indexer.d.ts +11 -0
  12. package/dist/cli/indexer.d.ts.map +1 -0
  13. package/dist/cli/indexer.js +272 -0
  14. package/dist/cli/indexer.js.map +1 -0
  15. package/dist/cli/search.d.ts +7 -0
  16. package/dist/cli/search.d.ts.map +1 -0
  17. package/dist/cli/search.js +206 -0
  18. package/dist/cli/search.js.map +1 -0
  19. package/dist/cli.d.ts +3 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +362 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/config.d.ts +90 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +281 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/db.d.ts +90 -0
  28. package/dist/db.d.ts.map +1 -0
  29. package/dist/db.js +340 -0
  30. package/dist/db.js.map +1 -0
  31. package/dist/embedder.d.ts +101 -0
  32. package/dist/embedder.d.ts.map +1 -0
  33. package/dist/embedder.js +323 -0
  34. package/dist/embedder.js.map +1 -0
  35. package/dist/error-handler.d.ts +91 -0
  36. package/dist/error-handler.d.ts.map +1 -0
  37. package/dist/error-handler.js +196 -0
  38. package/dist/error-handler.js.map +1 -0
  39. package/dist/file-processor.d.ts +59 -0
  40. package/dist/file-processor.d.ts.map +1 -0
  41. package/dist/file-processor.js +312 -0
  42. package/dist/file-processor.js.map +1 -0
  43. package/dist/index-manager.d.ts +99 -0
  44. package/dist/index-manager.d.ts.map +1 -0
  45. package/dist/index-manager.js +444 -0
  46. package/dist/index-manager.js.map +1 -0
  47. package/dist/index.d.ts +13 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +21 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/indexer.d.ts +7 -0
  52. package/dist/indexer.d.ts.map +1 -0
  53. package/dist/indexer.js +51 -0
  54. package/dist/indexer.js.map +1 -0
  55. package/dist/ingestion.d.ts +175 -0
  56. package/dist/ingestion.d.ts.map +1 -0
  57. package/dist/ingestion.js +705 -0
  58. package/dist/ingestion.js.map +1 -0
  59. package/dist/mcp-server.d.ts +14 -0
  60. package/dist/mcp-server.d.ts.map +1 -0
  61. package/dist/mcp-server.js +680 -0
  62. package/dist/mcp-server.js.map +1 -0
  63. package/dist/path-manager.d.ts +42 -0
  64. package/dist/path-manager.d.ts.map +1 -0
  65. package/dist/path-manager.js +66 -0
  66. package/dist/path-manager.js.map +1 -0
  67. package/dist/preprocess.d.ts +19 -0
  68. package/dist/preprocess.d.ts.map +1 -0
  69. package/dist/preprocess.js +203 -0
  70. package/dist/preprocess.js.map +1 -0
  71. package/dist/preprocessors/index.d.ts +17 -0
  72. package/dist/preprocessors/index.d.ts.map +1 -0
  73. package/dist/preprocessors/index.js +38 -0
  74. package/dist/preprocessors/index.js.map +1 -0
  75. package/dist/preprocessors/mdx.d.ts +25 -0
  76. package/dist/preprocessors/mdx.d.ts.map +1 -0
  77. package/dist/preprocessors/mdx.js +101 -0
  78. package/dist/preprocessors/mdx.js.map +1 -0
  79. package/dist/preprocessors/mermaid.d.ts +68 -0
  80. package/dist/preprocessors/mermaid.d.ts.map +1 -0
  81. package/dist/preprocessors/mermaid.js +329 -0
  82. package/dist/preprocessors/mermaid.js.map +1 -0
  83. package/dist/preprocessors/registry.d.ts +56 -0
  84. package/dist/preprocessors/registry.d.ts.map +1 -0
  85. package/dist/preprocessors/registry.js +179 -0
  86. package/dist/preprocessors/registry.js.map +1 -0
  87. package/dist/reranker.d.ts +40 -0
  88. package/dist/reranker.d.ts.map +1 -0
  89. package/dist/reranker.js +212 -0
  90. package/dist/reranker.js.map +1 -0
  91. package/dist/resource-manager-demo.d.ts +7 -0
  92. package/dist/resource-manager-demo.d.ts.map +1 -0
  93. package/dist/resource-manager-demo.js +52 -0
  94. package/dist/resource-manager-demo.js.map +1 -0
  95. package/dist/resource-manager.d.ts +129 -0
  96. package/dist/resource-manager.d.ts.map +1 -0
  97. package/dist/resource-manager.js +389 -0
  98. package/dist/resource-manager.js.map +1 -0
  99. package/dist/search-standalone.d.ts +7 -0
  100. package/dist/search-standalone.d.ts.map +1 -0
  101. package/dist/search-standalone.js +117 -0
  102. package/dist/search-standalone.js.map +1 -0
  103. package/dist/search.d.ts +92 -0
  104. package/dist/search.d.ts.map +1 -0
  105. package/dist/search.js +454 -0
  106. package/dist/search.js.map +1 -0
  107. package/dist/test-utils.d.ts +36 -0
  108. package/dist/test-utils.d.ts.map +1 -0
  109. package/dist/test-utils.js +27 -0
  110. package/dist/test-utils.js.map +1 -0
  111. package/dist/tokenizer.d.ts +21 -0
  112. package/dist/tokenizer.d.ts.map +1 -0
  113. package/dist/tokenizer.js +59 -0
  114. package/dist/tokenizer.js.map +1 -0
  115. package/dist/types.d.ts +44 -0
  116. package/dist/types.d.ts.map +1 -0
  117. package/dist/types.js +3 -0
  118. package/dist/types.js.map +1 -0
  119. package/dist/vector-index.d.ts +64 -0
  120. package/dist/vector-index.d.ts.map +1 -0
  121. package/dist/vector-index.js +308 -0
  122. package/dist/vector-index.js.map +1 -0
  123. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Manages document path storage and resolution strategies
3
+ */
4
+ export declare class DocumentPathManager {
5
+ private strategy;
6
+ private basePath;
7
+ constructor(strategy: 'absolute' | 'relative', basePath: string);
8
+ /**
9
+ * Convert absolute file path to storage path based on strategy
10
+ * @param absolutePath - The absolute file path
11
+ * @returns Path to store in database
12
+ */
13
+ toStoragePath(absolutePath: string): string;
14
+ /**
15
+ * Convert storage path back to absolute path for file operations
16
+ * @param storagePath - Path stored in database
17
+ * @returns Absolute path for file operations
18
+ */
19
+ toAbsolutePath(storagePath: string): string;
20
+ /**
21
+ * Get the current strategy
22
+ */
23
+ getStrategy(): 'absolute' | 'relative';
24
+ /**
25
+ * Get the current base path
26
+ */
27
+ getBasePath(): string;
28
+ /**
29
+ * Create a new path manager with different base path (for search/retrieval)
30
+ * @param newBasePath - New base path to use
31
+ * @returns New DocumentPathManager instance
32
+ */
33
+ withBasePath(newBasePath: string): DocumentPathManager;
34
+ /**
35
+ * Create a new path manager with different strategy
36
+ * @param newStrategy - New strategy to use
37
+ * @param newBasePath - Optional new base path
38
+ * @returns New DocumentPathManager instance
39
+ */
40
+ withStrategy(newStrategy: 'absolute' | 'relative', newBasePath?: string): DocumentPathManager;
41
+ }
42
+ //# sourceMappingURL=path-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-manager.d.ts","sourceRoot":"","sources":["../src/path-manager.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;gBADR,QAAQ,EAAE,UAAU,GAAG,UAAU,EACjC,QAAQ,EAAE,MAAM;IAG5B;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAS3C;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAS3C;;OAEG;IACH,WAAW,IAAI,UAAU,GAAG,UAAU;IAItC;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB;IAItD;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;CAGhG"}
@@ -0,0 +1,66 @@
1
+ import { relative, resolve, isAbsolute } from 'path';
2
+ /**
3
+ * Manages document path storage and resolution strategies
4
+ */
5
+ export class DocumentPathManager {
6
+ strategy;
7
+ basePath;
8
+ constructor(strategy, basePath) {
9
+ this.strategy = strategy;
10
+ this.basePath = basePath;
11
+ }
12
+ /**
13
+ * Convert absolute file path to storage path based on strategy
14
+ * @param absolutePath - The absolute file path
15
+ * @returns Path to store in database
16
+ */
17
+ toStoragePath(absolutePath) {
18
+ if (this.strategy === 'absolute') {
19
+ return absolutePath;
20
+ }
21
+ // For relative strategy, store path relative to base
22
+ return relative(this.basePath, absolutePath);
23
+ }
24
+ /**
25
+ * Convert storage path back to absolute path for file operations
26
+ * @param storagePath - Path stored in database
27
+ * @returns Absolute path for file operations
28
+ */
29
+ toAbsolutePath(storagePath) {
30
+ if (isAbsolute(storagePath)) {
31
+ return storagePath;
32
+ }
33
+ // Resolve relative path against base path
34
+ return resolve(this.basePath, storagePath);
35
+ }
36
+ /**
37
+ * Get the current strategy
38
+ */
39
+ getStrategy() {
40
+ return this.strategy;
41
+ }
42
+ /**
43
+ * Get the current base path
44
+ */
45
+ getBasePath() {
46
+ return this.basePath;
47
+ }
48
+ /**
49
+ * Create a new path manager with different base path (for search/retrieval)
50
+ * @param newBasePath - New base path to use
51
+ * @returns New DocumentPathManager instance
52
+ */
53
+ withBasePath(newBasePath) {
54
+ return new DocumentPathManager(this.strategy, newBasePath);
55
+ }
56
+ /**
57
+ * Create a new path manager with different strategy
58
+ * @param newStrategy - New strategy to use
59
+ * @param newBasePath - Optional new base path
60
+ * @returns New DocumentPathManager instance
61
+ */
62
+ withStrategy(newStrategy, newBasePath) {
63
+ return new DocumentPathManager(newStrategy, newBasePath || this.basePath);
64
+ }
65
+ }
66
+ //# sourceMappingURL=path-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-manager.js","sourceRoot":"","sources":["../src/path-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAEhB;IACA;IAFZ,YACY,QAAiC,EACjC,QAAgB;QADhB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,aAAQ,GAAR,QAAQ,CAAQ;IACxB,CAAC;IAEL;;;;OAIG;IACH,aAAa,CAAC,YAAoB;QAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,qDAAqD;QACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,WAAmB;QAC9B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,0CAA0C;QAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,WAAmB;QAC5B,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,WAAoC,EAAE,WAAoB;QACnE,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;CACJ"}
@@ -0,0 +1,19 @@
1
+ import { PreprocessingConfig } from './types.js';
2
+ /**
3
+ * Main preprocessing function that processes document content based on configuration
4
+ * @param content - Raw document content to preprocess
5
+ * @param filePath - Path to the file being processed (for content type detection)
6
+ * @param config - Preprocessing configuration
7
+ * @returns Processed content string
8
+ */
9
+ export declare function preprocessDocument(content: string, filePath: string, config: PreprocessingConfig): string;
10
+ /**
11
+ * Utility function to get preprocessing statistics for debugging
12
+ */
13
+ export declare function getPreprocessingStats(originalContent: string, processedContent: string): {
14
+ originalLength: number;
15
+ processedLength: number;
16
+ reductionRatio: number;
17
+ linesRemoved: number;
18
+ };
19
+ //# sourceMappingURL=preprocess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,YAAY,CAAC;AAItE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAwCR;AAoMD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAUA"}
@@ -0,0 +1,203 @@
1
+ import { mergePreprocessingConfig, validatePreprocessingConfig } from './config.js';
2
+ import { preprocessorRegistry, ContentTypeDetector } from './preprocessors/index.js';
3
+ /**
4
+ * Main preprocessing function that processes document content based on configuration
5
+ * @param content - Raw document content to preprocess
6
+ * @param filePath - Path to the file being processed (for content type detection)
7
+ * @param config - Preprocessing configuration
8
+ * @returns Processed content string
9
+ */
10
+ export function preprocessDocument(content, filePath, config) {
11
+ try {
12
+ // Validate configuration
13
+ validatePreprocessingConfig(config);
14
+ // Resolve mode configuration with overrides
15
+ const resolvedConfig = mergePreprocessingConfig(config);
16
+ // Detect content type from file path
17
+ const contentType = detectContentType(content, filePath);
18
+ // Early return if no preprocessing needed
19
+ if (!needsPreprocessing(content, contentType)) {
20
+ return content;
21
+ }
22
+ // Process content based on detected type
23
+ let processedContent = content;
24
+ try {
25
+ processedContent = processContentByType(content, contentType, resolvedConfig);
26
+ }
27
+ catch (error) {
28
+ // Fallback handling for processing failures
29
+ console.error(`Preprocessing failed for ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
30
+ processedContent = handleProcessingFailure(content, contentType);
31
+ }
32
+ // Ensure processed content is never empty
33
+ if (!processedContent || processedContent.trim().length === 0) {
34
+ console.log(`Warning: Preprocessing resulted in empty content for ${filePath}, using fallback`);
35
+ processedContent = '[content processed but empty]';
36
+ }
37
+ return processedContent;
38
+ }
39
+ catch (error) {
40
+ // Configuration or other critical errors - use fallback
41
+ console.error(`Critical preprocessing error for ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
42
+ return handleCriticalFailure(content);
43
+ }
44
+ }
45
+ /**
46
+ * Detect content type from file path and content analysis
47
+ */
48
+ function detectContentType(content, filePath) {
49
+ // First try file extension detection
50
+ const extensionType = ContentTypeDetector.detectFromExtension(filePath);
51
+ if (extensionType) {
52
+ return extensionType;
53
+ }
54
+ // Fallback to content analysis
55
+ if (ContentTypeDetector.hasJsxContent(content)) {
56
+ return 'mdx';
57
+ }
58
+ if (ContentTypeDetector.hasMermaidContent(content)) {
59
+ return 'mermaid';
60
+ }
61
+ // Default to markdown for unknown types
62
+ return 'markdown';
63
+ }
64
+ /**
65
+ * Check if content needs preprocessing based on type and content analysis
66
+ */
67
+ function needsPreprocessing(content, contentType) {
68
+ // Always preprocess MDX files
69
+ if (contentType === 'mdx') {
70
+ return true;
71
+ }
72
+ // Check for Mermaid diagrams in any markdown content
73
+ if (ContentTypeDetector.hasMermaidContent(content)) {
74
+ return true;
75
+ }
76
+ // Check for JSX content in markdown files
77
+ if (contentType === 'markdown' && ContentTypeDetector.hasJsxContent(content)) {
78
+ return true;
79
+ }
80
+ // Check for code blocks that might need processing
81
+ if (content.includes('```')) {
82
+ return true;
83
+ }
84
+ return false;
85
+ }
86
+ /**
87
+ * Process content based on detected content type and configuration
88
+ */
89
+ function processContentByType(content, contentType, resolvedConfig) {
90
+ let processedContent = content;
91
+ // Process MDX content if present
92
+ if (contentType === 'mdx' || ContentTypeDetector.hasJsxContent(content)) {
93
+ processedContent = processWithPreprocessor(processedContent, 'mdx', { mode: resolvedConfig.mdx });
94
+ }
95
+ // Process Mermaid diagrams if present (check original content, not processed)
96
+ if (ContentTypeDetector.hasMermaidContent(content)) {
97
+ processedContent = processWithPreprocessor(processedContent, 'mermaid', { mode: resolvedConfig.mermaid });
98
+ }
99
+ // Process code blocks if present and not already handled by MDX processor
100
+ if (processedContent.includes('```')) {
101
+ processedContent = processCodeBlocks(processedContent, resolvedConfig.code);
102
+ }
103
+ return processedContent;
104
+ }
105
+ /**
106
+ * Process content with a specific preprocessor
107
+ */
108
+ function processWithPreprocessor(content, preprocessorName, options) {
109
+ const preprocessor = preprocessorRegistry.get(preprocessorName);
110
+ if (!preprocessor) {
111
+ console.log(`Unknown preprocessor: ${preprocessorName}, using fallback`);
112
+ return handleUnknownContentType(content, preprocessorName);
113
+ }
114
+ try {
115
+ // Call the preprocessor directly - it will check if it needs to process the content
116
+ return preprocessor.process(content, options);
117
+ }
118
+ catch (error) {
119
+ console.error(`Preprocessor ${preprocessorName} failed: ${error instanceof Error ? error.message : String(error)}`);
120
+ return handleUnknownContentType(content, preprocessorName);
121
+ }
122
+ }
123
+ /**
124
+ * Process code blocks based on configuration
125
+ */
126
+ function processCodeBlocks(content, mode) {
127
+ if (mode === 'keep') {
128
+ return content;
129
+ }
130
+ // Find all code blocks
131
+ const codeBlockRegex = /```[\s\S]*?```/g;
132
+ if (mode === 'strip') {
133
+ return content.replace(codeBlockRegex, '');
134
+ }
135
+ if (mode === 'placeholder') {
136
+ return content.replace(codeBlockRegex, (match) => {
137
+ const language = ContentTypeDetector.extractCodeFenceLanguage(match);
138
+ return language ? `[${language} code block removed]` : '[code block removed]';
139
+ });
140
+ }
141
+ return content;
142
+ }
143
+ /**
144
+ * Handle unknown content types with fallback
145
+ */
146
+ function handleUnknownContentType(content, contentType) {
147
+ console.log(`Unknown content type detected: ${contentType}, using fallback`);
148
+ return '[content removed]';
149
+ }
150
+ /**
151
+ * Handle processing failures with graceful fallback
152
+ */
153
+ function handleProcessingFailure(content, contentType) {
154
+ console.log(`Processing failed for content type: ${contentType}, using placeholder`);
155
+ // Try to preserve basic structure while removing problematic content
156
+ switch (contentType) {
157
+ case 'mdx':
158
+ return '[MDX content removed due to processing error]';
159
+ case 'mermaid':
160
+ return '[diagram removed due to processing error]';
161
+ default:
162
+ return '[content removed due to processing error]';
163
+ }
164
+ }
165
+ /**
166
+ * Handle critical failures that prevent any processing
167
+ */
168
+ function handleCriticalFailure(content) {
169
+ console.error('Critical preprocessing failure, returning minimal fallback');
170
+ // For plain content without problematic syntax, return as-is
171
+ if (!content.includes('<') && !content.includes('```') &&
172
+ !content.includes('import ') && !content.includes('export ')) {
173
+ return content;
174
+ }
175
+ // Return a safe fallback that preserves some content structure
176
+ const lines = content.split('\n');
177
+ const safeLines = lines.filter(line => {
178
+ // Keep lines that look like plain text or basic markdown
179
+ return line.trim().length > 0 &&
180
+ !line.includes('<') &&
181
+ !line.includes('```') &&
182
+ !line.startsWith('import ') &&
183
+ !line.startsWith('export ');
184
+ });
185
+ if (safeLines.length > 0) {
186
+ return safeLines.join('\n');
187
+ }
188
+ return '[content could not be processed safely]';
189
+ }
190
+ /**
191
+ * Utility function to get preprocessing statistics for debugging
192
+ */
193
+ export function getPreprocessingStats(originalContent, processedContent) {
194
+ const originalLines = originalContent.split('\n').length;
195
+ const processedLines = processedContent.split('\n').length;
196
+ return {
197
+ originalLength: originalContent.length,
198
+ processedLength: processedContent.length,
199
+ reductionRatio: processedContent.length / originalContent.length,
200
+ linesRemoved: originalLines - processedLines
201
+ };
202
+ }
203
+ //# sourceMappingURL=preprocess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { PreprocessorRegistry } from './registry.js';
2
+ export { PreprocessorRegistry, ContentTypeDetector } from './registry.js';
3
+ export { MdxPreprocessor } from './mdx.js';
4
+ export { MermaidPreprocessor } from './mermaid.js';
5
+ /**
6
+ * Global preprocessor registry instance
7
+ */
8
+ export declare const preprocessorRegistry: PreprocessorRegistry;
9
+ /**
10
+ * Validate that all required preprocessors are available in the registry
11
+ */
12
+ export declare function validatePreprocessorConfiguration(requiredPreprocessors: string[]): void;
13
+ /**
14
+ * Get all available preprocessor names
15
+ */
16
+ export declare function getAvailablePreprocessors(): string[];
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preprocessors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAKrD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAenD;;GAEG;AACH,eAAO,MAAM,oBAAoB,sBAA+B,CAAC;AAEjE;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,qBAAqB,EAAE,MAAM,EAAE,GAAG,IAAI,CAOvF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD"}
@@ -0,0 +1,38 @@
1
+ import { PreprocessorRegistry } from './registry.js';
2
+ import { MdxPreprocessor } from './mdx.js';
3
+ import { MermaidPreprocessor } from './mermaid.js';
4
+ // Export all preprocessor classes
5
+ export { PreprocessorRegistry, ContentTypeDetector } from './registry.js';
6
+ export { MdxPreprocessor } from './mdx.js';
7
+ export { MermaidPreprocessor } from './mermaid.js';
8
+ /**
9
+ * Create and initialize the global preprocessor registry
10
+ */
11
+ function createPreprocessorRegistry() {
12
+ const registry = new PreprocessorRegistry();
13
+ // Register built-in preprocessors
14
+ registry.register('mdx', new MdxPreprocessor());
15
+ registry.register('mermaid', new MermaidPreprocessor());
16
+ return registry;
17
+ }
18
+ /**
19
+ * Global preprocessor registry instance
20
+ */
21
+ export const preprocessorRegistry = createPreprocessorRegistry();
22
+ /**
23
+ * Validate that all required preprocessors are available in the registry
24
+ */
25
+ export function validatePreprocessorConfiguration(requiredPreprocessors) {
26
+ const validation = preprocessorRegistry.validatePreprocessors(requiredPreprocessors);
27
+ if (!validation.valid) {
28
+ const missingList = validation.missing.join(', ');
29
+ throw new Error(`Missing required preprocessors: ${missingList}. Available: ${preprocessorRegistry.getRegisteredNames().join(', ')}`);
30
+ }
31
+ }
32
+ /**
33
+ * Get all available preprocessor names
34
+ */
35
+ export function getAvailablePreprocessors() {
36
+ return preprocessorRegistry.getRegisteredNames();
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preprocessors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD;;GAEG;AACH,SAAS,0BAA0B;IACjC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE5C,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,qBAA+B;IAC/E,MAAM,UAAU,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAErF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,gBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxI,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Preprocessor, PreprocessorOptions } from '../types.js';
2
+ /**
3
+ * MDX preprocessor for handling JSX content in Markdown files
4
+ * Ports the existing cleanMdxContent logic with mode-aware behavior
5
+ */
6
+ export declare class MdxPreprocessor implements Preprocessor {
7
+ /**
8
+ * Check if this preprocessor applies to the given language/content type
9
+ * Applies to .mdx files and content with JSX syntax
10
+ */
11
+ appliesTo(language: string): boolean;
12
+ /**
13
+ * Process MDX content based on the specified mode
14
+ */
15
+ process(content: string, options: PreprocessorOptions): string;
16
+ /**
17
+ * Strip JSX content entirely - ported from cleanMdxContent logic
18
+ */
19
+ private stripJsx;
20
+ /**
21
+ * Replace JSX with descriptive placeholders
22
+ */
23
+ private replaceWithPlaceholders;
24
+ }
25
+ //# sourceMappingURL=mdx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../src/preprocessors/mdx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGhE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM;IAmB9D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAyChB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiChC"}
@@ -0,0 +1,101 @@
1
+ import { ContentTypeDetector } from './registry.js';
2
+ /**
3
+ * MDX preprocessor for handling JSX content in Markdown files
4
+ * Ports the existing cleanMdxContent logic with mode-aware behavior
5
+ */
6
+ export class MdxPreprocessor {
7
+ /**
8
+ * Check if this preprocessor applies to the given language/content type
9
+ * Applies to .mdx files and content with JSX syntax
10
+ */
11
+ appliesTo(language) {
12
+ return language === 'mdx';
13
+ }
14
+ /**
15
+ * Process MDX content based on the specified mode
16
+ */
17
+ process(content, options) {
18
+ // Only process if content actually contains JSX
19
+ if (!ContentTypeDetector.hasJsxContent(content)) {
20
+ return content;
21
+ }
22
+ switch (options.mode) {
23
+ case 'strip':
24
+ return this.stripJsx(content);
25
+ case 'keep':
26
+ return content; // Keep JSX as-is
27
+ case 'placeholder':
28
+ return this.replaceWithPlaceholders(content);
29
+ default:
30
+ console.log(`Unknown MDX processing mode: ${options.mode}, using placeholder`);
31
+ return this.replaceWithPlaceholders(content);
32
+ }
33
+ }
34
+ /**
35
+ * Strip JSX content entirely - ported from cleanMdxContent logic
36
+ */
37
+ stripJsx(content) {
38
+ let cleaned = content;
39
+ // Remove JSX import statements (requirement 11.1)
40
+ // Matches: import ... from '...' or import ... from "..."
41
+ cleaned = cleaned.replace(/^import\s+.*?from\s+['"][^'"]*['"];?\s*$/gm, '');
42
+ // Remove JSX export statements (requirement 11.2)
43
+ // Handle both single-line and multi-line exports
44
+ // Multi-line function exports: export default function() { ... }
45
+ cleaned = cleaned.replace(/^export\s+default\s+function[^{]*\{[\s\S]*?\n\}\s*$/gm, '');
46
+ // Object exports: export const metadata = { ... }
47
+ cleaned = cleaned.replace(/^export\s+const\s+[^=]*=\s*\{[\s\S]*?\}\s*;?\s*$/gm, '');
48
+ // Single line exports: export const x = ...; or export default ...
49
+ cleaned = cleaned.replace(/^export\s+(?:default\s+)?(?:const|let|var|function|class)\s+[^;{]*;?\s*$/gm, '');
50
+ // Simple exports: export default Component
51
+ cleaned = cleaned.replace(/^export\s+default\s+[^;{]*;?\s*$/gm, '');
52
+ // Remove JSX components (requirements 11.3, 11.4)
53
+ // Self-closing tags: <Component />
54
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*\/>/g, '');
55
+ // Opening and closing tags with content: <Component>content</Component>
56
+ // This handles nested components by replacing the outermost ones first
57
+ let previousLength;
58
+ do {
59
+ previousLength = cleaned.length;
60
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*>.*?<\/[A-Z][a-zA-Z0-9]*>/gs, '');
61
+ } while (cleaned.length !== previousLength);
62
+ // Clean up multiple consecutive newlines and trim
63
+ cleaned = cleaned.replace(/\n\s*\n\s*\n/g, '\n\n').trim();
64
+ // Ensure we never return empty content (requirement 6.4)
65
+ if (!cleaned.trim()) {
66
+ return '[content removed]';
67
+ }
68
+ return cleaned;
69
+ }
70
+ /**
71
+ * Replace JSX with descriptive placeholders
72
+ */
73
+ replaceWithPlaceholders(content) {
74
+ let cleaned = content;
75
+ // Replace JSX import statements
76
+ cleaned = cleaned.replace(/^import\s+.*?from\s+['"][^'"]*['"];?\s*$/gm, '[import removed]');
77
+ // Replace JSX export statements
78
+ // Multi-line function exports: export default function() { ... }
79
+ cleaned = cleaned.replace(/^export\s+default\s+function[^{]*\{[\s\S]*?\n\}\s*$/gm, '[export removed]');
80
+ // Object exports: export const metadata = { ... }
81
+ cleaned = cleaned.replace(/^export\s+const\s+[^=]*=\s*\{[\s\S]*?\}\s*;?\s*$/gm, '[export removed]');
82
+ // Single line exports: export const x = ...; or export default ...
83
+ cleaned = cleaned.replace(/^export\s+(?:default\s+)?(?:const|let|var|function|class)\s+[^;{]*;?\s*$/gm, '[export removed]');
84
+ // Simple exports: export default Component
85
+ cleaned = cleaned.replace(/^export\s+default\s+[^;{]*;?\s*$/gm, '[export removed]');
86
+ // Replace JSX components with placeholder
87
+ // Self-closing tags: <Component />
88
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*\/>/g, '[component removed]');
89
+ // Opening and closing tags with content: <Component>content</Component>
90
+ // This handles nested components by replacing the outermost ones first
91
+ let previousLength;
92
+ do {
93
+ previousLength = cleaned.length;
94
+ cleaned = cleaned.replace(/<[A-Z][a-zA-Z0-9]*[^>]*>.*?<\/[A-Z][a-zA-Z0-9]*>/gs, '[component removed]');
95
+ } while (cleaned.length !== previousLength);
96
+ // Clean up multiple consecutive newlines and trim
97
+ cleaned = cleaned.replace(/\n\s*\n\s*\n/g, '\n\n').trim();
98
+ return cleaned;
99
+ }
100
+ }
101
+ //# sourceMappingURL=mdx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdx.js","sourceRoot":"","sources":["../../src/preprocessors/mdx.ts"],"names":[],"mappings":"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"}