rag-lite-ts 2.1.1 → 2.3.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/README.md +88 -5
- package/dist/{cli → cjs/cli}/indexer.js +73 -15
- package/dist/cjs/cli/ui-server.d.ts +5 -0
- package/dist/cjs/cli/ui-server.js +152 -0
- package/dist/{cli.js → cjs/cli.js} +25 -6
- package/dist/{core → cjs/core}/binary-index-format.js +6 -3
- package/dist/{core → cjs/core}/db.d.ts +56 -0
- package/dist/{core → cjs/core}/db.js +105 -0
- package/dist/{core → cjs/core}/ingestion.js +3 -0
- package/dist/cjs/core/knowledge-base-manager.d.ts +109 -0
- package/dist/cjs/core/knowledge-base-manager.js +256 -0
- package/dist/{core → cjs/core}/model-validator.js +1 -1
- package/dist/{core → cjs/core}/search-pipeline.js +1 -1
- package/dist/{core → cjs/core}/search.js +1 -1
- package/dist/cjs/core/vector-index-messages.d.ts +52 -0
- package/dist/cjs/core/vector-index-messages.js +5 -0
- package/dist/cjs/core/vector-index-worker.d.ts +6 -0
- package/dist/cjs/core/vector-index-worker.js +304 -0
- package/dist/cjs/core/vector-index.d.ts +107 -0
- package/dist/cjs/core/vector-index.js +344 -0
- package/dist/{factories → cjs/factories}/ingestion-factory.js +3 -7
- package/dist/{factories → cjs/factories}/search-factory.js +11 -0
- package/dist/{index-manager.d.ts → cjs/index-manager.d.ts} +23 -3
- package/dist/{index-manager.js → cjs/index-manager.js} +84 -15
- package/dist/{index.d.ts → cjs/index.d.ts} +2 -1
- package/dist/{index.js → cjs/index.js} +3 -1
- package/dist/esm/api-errors.d.ts +90 -0
- package/dist/esm/api-errors.js +320 -0
- package/dist/esm/cli/indexer.d.ts +11 -0
- package/dist/esm/cli/indexer.js +529 -0
- package/dist/esm/cli/search.d.ts +7 -0
- package/dist/esm/cli/search.js +332 -0
- package/dist/esm/cli/ui-server.d.ts +5 -0
- package/dist/esm/cli/ui-server.js +152 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.js +548 -0
- package/dist/esm/config.d.ts +51 -0
- package/dist/esm/config.js +79 -0
- package/dist/esm/core/abstract-embedder.d.ts +125 -0
- package/dist/esm/core/abstract-embedder.js +264 -0
- package/dist/esm/core/actionable-error-messages.d.ts +60 -0
- package/dist/esm/core/actionable-error-messages.js +397 -0
- package/dist/esm/core/adapters.d.ts +93 -0
- package/dist/esm/core/adapters.js +139 -0
- package/dist/esm/core/batch-processing-optimizer.d.ts +155 -0
- package/dist/esm/core/batch-processing-optimizer.js +536 -0
- package/dist/esm/core/binary-index-format.d.ts +78 -0
- package/dist/esm/core/binary-index-format.js +294 -0
- package/dist/esm/core/chunker.d.ts +119 -0
- package/dist/esm/core/chunker.js +73 -0
- package/dist/esm/core/cli-database-utils.d.ts +53 -0
- package/dist/esm/core/cli-database-utils.js +239 -0
- package/dist/esm/core/config.d.ts +102 -0
- package/dist/esm/core/config.js +247 -0
- package/dist/esm/core/content-errors.d.ts +111 -0
- package/dist/esm/core/content-errors.js +362 -0
- package/dist/esm/core/content-manager.d.ts +335 -0
- package/dist/esm/core/content-manager.js +1476 -0
- package/dist/esm/core/content-performance-optimizer.d.ts +150 -0
- package/dist/esm/core/content-performance-optimizer.js +516 -0
- package/dist/esm/core/content-resolver.d.ts +104 -0
- package/dist/esm/core/content-resolver.js +285 -0
- package/dist/esm/core/cross-modal-search.d.ts +164 -0
- package/dist/esm/core/cross-modal-search.js +342 -0
- package/dist/esm/core/database-connection-manager.d.ts +109 -0
- package/dist/esm/core/database-connection-manager.js +310 -0
- package/dist/esm/core/db.d.ts +269 -0
- package/dist/esm/core/db.js +1000 -0
- package/dist/esm/core/embedder-factory.d.ts +154 -0
- package/dist/esm/core/embedder-factory.js +311 -0
- package/dist/esm/core/error-handler.d.ts +112 -0
- package/dist/esm/core/error-handler.js +239 -0
- package/dist/esm/core/index.d.ts +59 -0
- package/dist/esm/core/index.js +69 -0
- package/dist/esm/core/ingestion.d.ts +202 -0
- package/dist/esm/core/ingestion.js +904 -0
- package/dist/esm/core/interfaces.d.ts +408 -0
- package/dist/esm/core/interfaces.js +106 -0
- package/dist/esm/core/knowledge-base-manager.d.ts +109 -0
- package/dist/esm/core/knowledge-base-manager.js +256 -0
- package/dist/esm/core/lazy-dependency-loader.d.ts +147 -0
- package/dist/esm/core/lazy-dependency-loader.js +435 -0
- package/dist/esm/core/mode-detection-service.d.ts +150 -0
- package/dist/esm/core/mode-detection-service.js +565 -0
- package/dist/esm/core/mode-model-validator.d.ts +92 -0
- package/dist/esm/core/mode-model-validator.js +203 -0
- package/dist/esm/core/model-registry.d.ts +116 -0
- package/dist/esm/core/model-registry.js +411 -0
- package/dist/esm/core/model-validator.d.ts +217 -0
- package/dist/esm/core/model-validator.js +782 -0
- package/dist/esm/core/path-manager.d.ts +47 -0
- package/dist/esm/core/path-manager.js +71 -0
- package/dist/esm/core/raglite-paths.d.ts +121 -0
- package/dist/esm/core/raglite-paths.js +145 -0
- package/dist/esm/core/reranking-config.d.ts +42 -0
- package/dist/esm/core/reranking-config.js +147 -0
- package/dist/esm/core/reranking-factory.d.ts +92 -0
- package/dist/esm/core/reranking-factory.js +410 -0
- package/dist/esm/core/reranking-strategies.d.ts +310 -0
- package/dist/esm/core/reranking-strategies.js +650 -0
- package/dist/esm/core/resource-cleanup.d.ts +163 -0
- package/dist/esm/core/resource-cleanup.js +371 -0
- package/dist/esm/core/resource-manager.d.ts +212 -0
- package/dist/esm/core/resource-manager.js +564 -0
- package/dist/esm/core/search-pipeline.d.ts +111 -0
- package/dist/esm/core/search-pipeline.js +287 -0
- package/dist/esm/core/search.d.ts +141 -0
- package/dist/esm/core/search.js +320 -0
- package/dist/esm/core/streaming-operations.d.ts +145 -0
- package/dist/esm/core/streaming-operations.js +409 -0
- package/dist/esm/core/types.d.ts +66 -0
- package/dist/esm/core/types.js +6 -0
- package/dist/esm/core/universal-embedder.d.ts +177 -0
- package/dist/esm/core/universal-embedder.js +139 -0
- package/dist/esm/core/validation-messages.d.ts +99 -0
- package/dist/esm/core/validation-messages.js +334 -0
- package/dist/esm/core/vector-index-messages.d.ts +52 -0
- package/dist/esm/core/vector-index-messages.js +5 -0
- package/dist/esm/core/vector-index-worker.d.ts +6 -0
- package/dist/esm/core/vector-index-worker.js +304 -0
- package/dist/esm/core/vector-index.d.ts +107 -0
- package/dist/esm/core/vector-index.js +344 -0
- package/dist/esm/dom-polyfills.d.ts +6 -0
- package/dist/esm/dom-polyfills.js +37 -0
- package/dist/esm/factories/index.d.ts +27 -0
- package/dist/esm/factories/index.js +29 -0
- package/dist/esm/factories/ingestion-factory.d.ts +200 -0
- package/dist/esm/factories/ingestion-factory.js +473 -0
- package/dist/esm/factories/search-factory.d.ts +154 -0
- package/dist/esm/factories/search-factory.js +355 -0
- package/dist/esm/file-processor.d.ts +147 -0
- package/dist/esm/file-processor.js +963 -0
- package/dist/esm/index-manager.d.ts +136 -0
- package/dist/esm/index-manager.js +667 -0
- package/dist/esm/index.d.ts +76 -0
- package/dist/esm/index.js +112 -0
- package/dist/esm/indexer.d.ts +7 -0
- package/dist/esm/indexer.js +54 -0
- package/dist/esm/ingestion.d.ts +63 -0
- package/dist/esm/ingestion.js +124 -0
- package/dist/esm/mcp-server.d.ts +46 -0
- package/dist/esm/mcp-server.js +1820 -0
- package/dist/esm/multimodal/clip-embedder.d.ts +327 -0
- package/dist/esm/multimodal/clip-embedder.js +996 -0
- package/dist/esm/multimodal/index.d.ts +6 -0
- package/dist/esm/multimodal/index.js +6 -0
- package/dist/esm/preprocess.d.ts +19 -0
- package/dist/esm/preprocess.js +203 -0
- package/dist/esm/preprocessors/index.d.ts +17 -0
- package/dist/esm/preprocessors/index.js +38 -0
- package/dist/esm/preprocessors/mdx.d.ts +25 -0
- package/dist/esm/preprocessors/mdx.js +101 -0
- package/dist/esm/preprocessors/mermaid.d.ts +68 -0
- package/dist/esm/preprocessors/mermaid.js +329 -0
- package/dist/esm/preprocessors/registry.d.ts +56 -0
- package/dist/esm/preprocessors/registry.js +179 -0
- package/dist/esm/run-error-recovery-tests.d.ts +7 -0
- package/dist/esm/run-error-recovery-tests.js +101 -0
- package/dist/esm/search-standalone.d.ts +7 -0
- package/dist/esm/search-standalone.js +117 -0
- package/dist/esm/search.d.ts +99 -0
- package/dist/esm/search.js +177 -0
- package/dist/esm/test-utils.d.ts +18 -0
- package/dist/esm/test-utils.js +27 -0
- package/dist/esm/text/chunker.d.ts +33 -0
- package/dist/esm/text/chunker.js +279 -0
- package/dist/esm/text/embedder.d.ts +111 -0
- package/dist/esm/text/embedder.js +386 -0
- package/dist/esm/text/index.d.ts +8 -0
- package/dist/esm/text/index.js +9 -0
- package/dist/esm/text/preprocessors/index.d.ts +17 -0
- package/dist/esm/text/preprocessors/index.js +38 -0
- package/dist/esm/text/preprocessors/mdx.d.ts +25 -0
- package/dist/esm/text/preprocessors/mdx.js +101 -0
- package/dist/esm/text/preprocessors/mermaid.d.ts +68 -0
- package/dist/esm/text/preprocessors/mermaid.js +330 -0
- package/dist/esm/text/preprocessors/registry.d.ts +56 -0
- package/dist/esm/text/preprocessors/registry.js +180 -0
- package/dist/esm/text/reranker.d.ts +49 -0
- package/dist/esm/text/reranker.js +274 -0
- package/dist/esm/text/sentence-transformer-embedder.d.ts +96 -0
- package/dist/esm/text/sentence-transformer-embedder.js +340 -0
- package/dist/esm/text/tokenizer.d.ts +22 -0
- package/dist/esm/text/tokenizer.js +64 -0
- package/dist/esm/types.d.ts +83 -0
- package/dist/esm/types.js +3 -0
- package/dist/esm/utils/vector-math.d.ts +31 -0
- package/dist/esm/utils/vector-math.js +70 -0
- package/package.json +39 -14
- package/dist/core/vector-index.d.ts +0 -72
- package/dist/core/vector-index.js +0 -331
- /package/dist/{api-errors.d.ts → cjs/api-errors.d.ts} +0 -0
- /package/dist/{api-errors.js → cjs/api-errors.js} +0 -0
- /package/dist/{cli → cjs/cli}/indexer.d.ts +0 -0
- /package/dist/{cli → cjs/cli}/search.d.ts +0 -0
- /package/dist/{cli → cjs/cli}/search.js +0 -0
- /package/dist/{cli.d.ts → cjs/cli.d.ts} +0 -0
- /package/dist/{config.d.ts → cjs/config.d.ts} +0 -0
- /package/dist/{config.js → cjs/config.js} +0 -0
- /package/dist/{core → cjs/core}/abstract-embedder.d.ts +0 -0
- /package/dist/{core → cjs/core}/abstract-embedder.js +0 -0
- /package/dist/{core → cjs/core}/actionable-error-messages.d.ts +0 -0
- /package/dist/{core → cjs/core}/actionable-error-messages.js +0 -0
- /package/dist/{core → cjs/core}/adapters.d.ts +0 -0
- /package/dist/{core → cjs/core}/adapters.js +0 -0
- /package/dist/{core → cjs/core}/batch-processing-optimizer.d.ts +0 -0
- /package/dist/{core → cjs/core}/batch-processing-optimizer.js +0 -0
- /package/dist/{core → cjs/core}/binary-index-format.d.ts +0 -0
- /package/dist/{core → cjs/core}/chunker.d.ts +0 -0
- /package/dist/{core → cjs/core}/chunker.js +0 -0
- /package/dist/{core → cjs/core}/cli-database-utils.d.ts +0 -0
- /package/dist/{core → cjs/core}/cli-database-utils.js +0 -0
- /package/dist/{core → cjs/core}/config.d.ts +0 -0
- /package/dist/{core → cjs/core}/config.js +0 -0
- /package/dist/{core → cjs/core}/content-errors.d.ts +0 -0
- /package/dist/{core → cjs/core}/content-errors.js +0 -0
- /package/dist/{core → cjs/core}/content-manager.d.ts +0 -0
- /package/dist/{core → cjs/core}/content-manager.js +0 -0
- /package/dist/{core → cjs/core}/content-performance-optimizer.d.ts +0 -0
- /package/dist/{core → cjs/core}/content-performance-optimizer.js +0 -0
- /package/dist/{core → cjs/core}/content-resolver.d.ts +0 -0
- /package/dist/{core → cjs/core}/content-resolver.js +0 -0
- /package/dist/{core → cjs/core}/cross-modal-search.d.ts +0 -0
- /package/dist/{core → cjs/core}/cross-modal-search.js +0 -0
- /package/dist/{core → cjs/core}/database-connection-manager.d.ts +0 -0
- /package/dist/{core → cjs/core}/database-connection-manager.js +0 -0
- /package/dist/{core → cjs/core}/embedder-factory.d.ts +0 -0
- /package/dist/{core → cjs/core}/embedder-factory.js +0 -0
- /package/dist/{core → cjs/core}/error-handler.d.ts +0 -0
- /package/dist/{core → cjs/core}/error-handler.js +0 -0
- /package/dist/{core → cjs/core}/index.d.ts +0 -0
- /package/dist/{core → cjs/core}/index.js +0 -0
- /package/dist/{core → cjs/core}/ingestion.d.ts +0 -0
- /package/dist/{core → cjs/core}/interfaces.d.ts +0 -0
- /package/dist/{core → cjs/core}/interfaces.js +0 -0
- /package/dist/{core → cjs/core}/lazy-dependency-loader.d.ts +0 -0
- /package/dist/{core → cjs/core}/lazy-dependency-loader.js +0 -0
- /package/dist/{core → cjs/core}/mode-detection-service.d.ts +0 -0
- /package/dist/{core → cjs/core}/mode-detection-service.js +0 -0
- /package/dist/{core → cjs/core}/mode-model-validator.d.ts +0 -0
- /package/dist/{core → cjs/core}/mode-model-validator.js +0 -0
- /package/dist/{core → cjs/core}/model-registry.d.ts +0 -0
- /package/dist/{core → cjs/core}/model-registry.js +0 -0
- /package/dist/{core → cjs/core}/model-validator.d.ts +0 -0
- /package/dist/{core → cjs/core}/path-manager.d.ts +0 -0
- /package/dist/{core → cjs/core}/path-manager.js +0 -0
- /package/dist/{core → cjs/core}/raglite-paths.d.ts +0 -0
- /package/dist/{core → cjs/core}/raglite-paths.js +0 -0
- /package/dist/{core → cjs/core}/reranking-config.d.ts +0 -0
- /package/dist/{core → cjs/core}/reranking-config.js +0 -0
- /package/dist/{core → cjs/core}/reranking-factory.d.ts +0 -0
- /package/dist/{core → cjs/core}/reranking-factory.js +0 -0
- /package/dist/{core → cjs/core}/reranking-strategies.d.ts +0 -0
- /package/dist/{core → cjs/core}/reranking-strategies.js +0 -0
- /package/dist/{core → cjs/core}/resource-cleanup.d.ts +0 -0
- /package/dist/{core → cjs/core}/resource-cleanup.js +0 -0
- /package/dist/{core → cjs/core}/resource-manager.d.ts +0 -0
- /package/dist/{core → cjs/core}/resource-manager.js +0 -0
- /package/dist/{core → cjs/core}/search-pipeline.d.ts +0 -0
- /package/dist/{core → cjs/core}/search.d.ts +0 -0
- /package/dist/{core → cjs/core}/streaming-operations.d.ts +0 -0
- /package/dist/{core → cjs/core}/streaming-operations.js +0 -0
- /package/dist/{core → cjs/core}/types.d.ts +0 -0
- /package/dist/{core → cjs/core}/types.js +0 -0
- /package/dist/{core → cjs/core}/universal-embedder.d.ts +0 -0
- /package/dist/{core → cjs/core}/universal-embedder.js +0 -0
- /package/dist/{core → cjs/core}/validation-messages.d.ts +0 -0
- /package/dist/{core → cjs/core}/validation-messages.js +0 -0
- /package/dist/{dom-polyfills.d.ts → cjs/dom-polyfills.d.ts} +0 -0
- /package/dist/{dom-polyfills.js → cjs/dom-polyfills.js} +0 -0
- /package/dist/{factories → cjs/factories}/index.d.ts +0 -0
- /package/dist/{factories → cjs/factories}/index.js +0 -0
- /package/dist/{factories → cjs/factories}/ingestion-factory.d.ts +0 -0
- /package/dist/{factories → cjs/factories}/search-factory.d.ts +0 -0
- /package/dist/{file-processor.d.ts → cjs/file-processor.d.ts} +0 -0
- /package/dist/{file-processor.js → cjs/file-processor.js} +0 -0
- /package/dist/{indexer.d.ts → cjs/indexer.d.ts} +0 -0
- /package/dist/{indexer.js → cjs/indexer.js} +0 -0
- /package/dist/{ingestion.d.ts → cjs/ingestion.d.ts} +0 -0
- /package/dist/{ingestion.js → cjs/ingestion.js} +0 -0
- /package/dist/{mcp-server.d.ts → cjs/mcp-server.d.ts} +0 -0
- /package/dist/{mcp-server.js → cjs/mcp-server.js} +0 -0
- /package/dist/{multimodal → cjs/multimodal}/clip-embedder.d.ts +0 -0
- /package/dist/{multimodal → cjs/multimodal}/clip-embedder.js +0 -0
- /package/dist/{multimodal → cjs/multimodal}/index.d.ts +0 -0
- /package/dist/{multimodal → cjs/multimodal}/index.js +0 -0
- /package/dist/{preprocess.d.ts → cjs/preprocess.d.ts} +0 -0
- /package/dist/{preprocess.js → cjs/preprocess.js} +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/index.d.ts +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/index.js +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/mdx.d.ts +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/mdx.js +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/mermaid.d.ts +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/mermaid.js +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/registry.d.ts +0 -0
- /package/dist/{preprocessors → cjs/preprocessors}/registry.js +0 -0
- /package/dist/{run-error-recovery-tests.d.ts → cjs/run-error-recovery-tests.d.ts} +0 -0
- /package/dist/{run-error-recovery-tests.js → cjs/run-error-recovery-tests.js} +0 -0
- /package/dist/{search-standalone.d.ts → cjs/search-standalone.d.ts} +0 -0
- /package/dist/{search-standalone.js → cjs/search-standalone.js} +0 -0
- /package/dist/{search.d.ts → cjs/search.d.ts} +0 -0
- /package/dist/{search.js → cjs/search.js} +0 -0
- /package/dist/{test-utils.d.ts → cjs/test-utils.d.ts} +0 -0
- /package/dist/{test-utils.js → cjs/test-utils.js} +0 -0
- /package/dist/{text → cjs/text}/chunker.d.ts +0 -0
- /package/dist/{text → cjs/text}/chunker.js +0 -0
- /package/dist/{text → cjs/text}/embedder.d.ts +0 -0
- /package/dist/{text → cjs/text}/embedder.js +0 -0
- /package/dist/{text → cjs/text}/index.d.ts +0 -0
- /package/dist/{text → cjs/text}/index.js +0 -0
- /package/dist/{text → cjs/text}/preprocessors/index.d.ts +0 -0
- /package/dist/{text → cjs/text}/preprocessors/index.js +0 -0
- /package/dist/{text → cjs/text}/preprocessors/mdx.d.ts +0 -0
- /package/dist/{text → cjs/text}/preprocessors/mdx.js +0 -0
- /package/dist/{text → cjs/text}/preprocessors/mermaid.d.ts +0 -0
- /package/dist/{text → cjs/text}/preprocessors/mermaid.js +0 -0
- /package/dist/{text → cjs/text}/preprocessors/registry.d.ts +0 -0
- /package/dist/{text → cjs/text}/preprocessors/registry.js +0 -0
- /package/dist/{text → cjs/text}/reranker.d.ts +0 -0
- /package/dist/{text → cjs/text}/reranker.js +0 -0
- /package/dist/{text → cjs/text}/sentence-transformer-embedder.d.ts +0 -0
- /package/dist/{text → cjs/text}/sentence-transformer-embedder.js +0 -0
- /package/dist/{text → cjs/text}/tokenizer.d.ts +0 -0
- /package/dist/{text → cjs/text}/tokenizer.js +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{types.js → cjs/types.js} +0 -0
- /package/dist/{utils → cjs/utils}/vector-math.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/vector-math.js +0 -0
|
@@ -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,203 @@
|
|
|
1
|
+
import { mergePreprocessingConfig, validatePreprocessingConfig } from './core/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,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,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,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,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,68 @@
|
|
|
1
|
+
import { Preprocessor, PreprocessorOptions } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mermaid preprocessor for handling Mermaid diagrams in Markdown files
|
|
4
|
+
* Supports strip, extract, and placeholder modes
|
|
5
|
+
*/
|
|
6
|
+
export declare class MermaidPreprocessor implements Preprocessor {
|
|
7
|
+
/**
|
|
8
|
+
* Check if this preprocessor applies to the given language/content type
|
|
9
|
+
* Applies to mermaid code blocks and content with Mermaid syntax
|
|
10
|
+
*/
|
|
11
|
+
appliesTo(language: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Process Mermaid content based on the specified mode
|
|
14
|
+
*/
|
|
15
|
+
process(content: string, options: PreprocessorOptions): string;
|
|
16
|
+
/**
|
|
17
|
+
* Strip Mermaid diagrams entirely
|
|
18
|
+
*/
|
|
19
|
+
private stripMermaid;
|
|
20
|
+
/**
|
|
21
|
+
* Replace Mermaid diagrams with descriptive placeholders
|
|
22
|
+
*/
|
|
23
|
+
private replaceWithPlaceholders;
|
|
24
|
+
/**
|
|
25
|
+
* Extract semantic information from Mermaid diagrams
|
|
26
|
+
* Converts diagram edges to plain text while ignoring styling and layout instructions
|
|
27
|
+
*/
|
|
28
|
+
private extractMermaidEdges;
|
|
29
|
+
/**
|
|
30
|
+
* Extract edges and relationships from a Mermaid diagram
|
|
31
|
+
* Ignores styling, layout, and formatting instructions
|
|
32
|
+
*/
|
|
33
|
+
private extractEdgesFromDiagram;
|
|
34
|
+
/**
|
|
35
|
+
* Build a mapping of node IDs to their labels by scanning all lines
|
|
36
|
+
*/
|
|
37
|
+
private buildNodeLabelMap;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a line is a layout instruction (should be ignored)
|
|
40
|
+
*/
|
|
41
|
+
private isLayoutInstruction;
|
|
42
|
+
/**
|
|
43
|
+
* Check if a line is a styling instruction (should be ignored)
|
|
44
|
+
*/
|
|
45
|
+
private isStyleInstruction;
|
|
46
|
+
/**
|
|
47
|
+
* Extract the meaningful label from a node definition
|
|
48
|
+
* Examples: A[Start] -> "Start", B{Decision} -> "Decision", C((End)) -> "End", D -> "D"
|
|
49
|
+
*/
|
|
50
|
+
private extractNodeLabel;
|
|
51
|
+
/**
|
|
52
|
+
* Extract edge information from a single line
|
|
53
|
+
*/
|
|
54
|
+
private extractEdgeFromLine;
|
|
55
|
+
/**
|
|
56
|
+
* Interpret flowchart connector symbols
|
|
57
|
+
*/
|
|
58
|
+
private interpretConnector;
|
|
59
|
+
/**
|
|
60
|
+
* Interpret class diagram connector symbols
|
|
61
|
+
*/
|
|
62
|
+
private interpretClassConnector;
|
|
63
|
+
/**
|
|
64
|
+
* Interpret ER diagram connector symbols
|
|
65
|
+
*/
|
|
66
|
+
private interpretERConnector;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=mermaid.d.ts.map
|