rag-lite-ts 2.1.1 → 2.2.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/dist/{core → cjs/core}/model-validator.js +1 -1
- package/dist/{core → cjs/core}/vector-index.js +4 -2
- 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 +471 -0
- package/dist/esm/cli/search.d.ts +7 -0
- package/dist/esm/cli/search.js +332 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.js +529 -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 +291 -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 +213 -0
- package/dist/esm/core/db.js +895 -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 +901 -0
- package/dist/esm/core/interfaces.d.ts +408 -0
- package/dist/esm/core/interfaces.js +106 -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.d.ts +72 -0
- package/dist/esm/core/vector-index.js +333 -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 +477 -0
- package/dist/esm/factories/search-factory.d.ts +154 -0
- package/dist/esm/factories/search-factory.js +344 -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 +116 -0
- package/dist/esm/index-manager.js +598 -0
- package/dist/esm/index.d.ts +75 -0
- package/dist/esm/index.js +110 -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 +30 -12
- /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}/indexer.js +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/{cli.js → cjs/cli.js} +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}/binary-index-format.js +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}/db.d.ts +0 -0
- /package/dist/{core → cjs/core}/db.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}/ingestion.js +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-pipeline.js +0 -0
- /package/dist/{core → cjs/core}/search.d.ts +0 -0
- /package/dist/{core → cjs/core}/search.js +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/{core → cjs/core}/vector-index.d.ts +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}/ingestion-factory.js +0 -0
- /package/dist/{factories → cjs/factories}/search-factory.d.ts +0 -0
- /package/dist/{factories → cjs/factories}/search-factory.js +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/{index-manager.d.ts → cjs/index-manager.d.ts} +0 -0
- /package/dist/{index-manager.js → cjs/index-manager.js} +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{index.js → cjs/index.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,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Manager - Handles content ingestion routing for unified content system
|
|
3
|
+
* Routes filesystem content to reference storage and memory content to content directory
|
|
4
|
+
* Implements deduplication and content ID generation
|
|
5
|
+
*/
|
|
6
|
+
import { DatabaseConnection } from './db.js';
|
|
7
|
+
/**
|
|
8
|
+
* Memory content metadata for ingestion
|
|
9
|
+
*/
|
|
10
|
+
export interface MemoryContentMetadata {
|
|
11
|
+
displayName: string;
|
|
12
|
+
contentType?: string;
|
|
13
|
+
originalPath?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Content ingestion result
|
|
17
|
+
*/
|
|
18
|
+
export interface ContentIngestionResult {
|
|
19
|
+
contentId: string;
|
|
20
|
+
wasDeduped: boolean;
|
|
21
|
+
storageType: 'filesystem' | 'content_dir';
|
|
22
|
+
contentPath: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Configuration for ContentManager (input interface)
|
|
26
|
+
*/
|
|
27
|
+
export interface ContentManagerConfig {
|
|
28
|
+
contentDir: string;
|
|
29
|
+
maxFileSize: number | string;
|
|
30
|
+
maxContentDirSize: number | string;
|
|
31
|
+
enableDeduplication: boolean;
|
|
32
|
+
enableStorageTracking: boolean;
|
|
33
|
+
storageWarningThreshold: number;
|
|
34
|
+
storageErrorThreshold: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ContentManager class for handling content ingestion routing
|
|
38
|
+
* Implements the unified content system's ingestion logic
|
|
39
|
+
*/
|
|
40
|
+
export declare class ContentManager {
|
|
41
|
+
private db;
|
|
42
|
+
private config;
|
|
43
|
+
private streamingOps;
|
|
44
|
+
private performanceOptimizer;
|
|
45
|
+
constructor(db: DatabaseConnection, config?: Partial<ContentManagerConfig>);
|
|
46
|
+
/**
|
|
47
|
+
* Ingests content from filesystem by creating references without copying files
|
|
48
|
+
* @param filePath - Path to the file to ingest
|
|
49
|
+
* @returns Promise that resolves to content ingestion result
|
|
50
|
+
*/
|
|
51
|
+
ingestFromFilesystem(filePath: string): Promise<ContentIngestionResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Ingests content from memory by storing it in content directory with hash-based filenames
|
|
54
|
+
* @param content - Buffer containing the content
|
|
55
|
+
* @param metadata - Memory content metadata
|
|
56
|
+
* @returns Promise that resolves to content ingestion result
|
|
57
|
+
*/
|
|
58
|
+
ingestFromMemory(content: Buffer, metadata: MemoryContentMetadata): Promise<ContentIngestionResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Generates a stable content ID using SHA-256 hash of content
|
|
61
|
+
* @param content - Buffer containing the content
|
|
62
|
+
* @returns Content ID string
|
|
63
|
+
*/
|
|
64
|
+
generateContentId(content: Buffer): string;
|
|
65
|
+
/**
|
|
66
|
+
* Generates a unique content ID from an existing hash
|
|
67
|
+
* @param hash - Content hash
|
|
68
|
+
* @returns Content ID string
|
|
69
|
+
*/
|
|
70
|
+
generateContentIdFromHash(hash: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Gets performance statistics for monitoring and optimization
|
|
73
|
+
* @returns Performance statistics
|
|
74
|
+
*/
|
|
75
|
+
getPerformanceStats(): {
|
|
76
|
+
hashCache: {
|
|
77
|
+
size: number;
|
|
78
|
+
maxSize: number;
|
|
79
|
+
hitRate: number;
|
|
80
|
+
};
|
|
81
|
+
operations: {
|
|
82
|
+
totalOperations: number;
|
|
83
|
+
averageDuration: number;
|
|
84
|
+
totalBytesProcessed: number;
|
|
85
|
+
averageSpeed: number;
|
|
86
|
+
cacheHitRate: number;
|
|
87
|
+
errorRate: number;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Clears performance caches and resets metrics
|
|
92
|
+
*/
|
|
93
|
+
clearPerformanceCaches(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Checks if content with given ID already exists (deduplication check)
|
|
96
|
+
* @param contentId - Content ID to check
|
|
97
|
+
* @returns Promise that resolves to true if content exists, false otherwise
|
|
98
|
+
*/
|
|
99
|
+
deduplicateContent(contentId: string): Promise<boolean>;
|
|
100
|
+
/**
|
|
101
|
+
* Enforces storage limits before accepting new content
|
|
102
|
+
* @param contentSize - Size of content to add in bytes
|
|
103
|
+
* @returns Promise that resolves if content can be added, throws error otherwise
|
|
104
|
+
*/
|
|
105
|
+
enforceStorageLimits(contentSize: number): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Gets storage limit status and recommendations
|
|
108
|
+
* @returns Promise that resolves to storage limit status
|
|
109
|
+
*/
|
|
110
|
+
getStorageLimitStatus(): Promise<{
|
|
111
|
+
currentUsagePercent: number;
|
|
112
|
+
isNearWarningThreshold: boolean;
|
|
113
|
+
isNearErrorThreshold: boolean;
|
|
114
|
+
canAcceptContent: boolean;
|
|
115
|
+
recommendations: string[];
|
|
116
|
+
limits: {
|
|
117
|
+
warningThreshold: number;
|
|
118
|
+
errorThreshold: number;
|
|
119
|
+
maxSizeMB: number;
|
|
120
|
+
currentSizeMB: number;
|
|
121
|
+
remainingSizeMB: number;
|
|
122
|
+
};
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Parses size string or number to bytes
|
|
126
|
+
* @param size - Size as number (bytes) or string like "50MB", "2GB"
|
|
127
|
+
* @returns Size in bytes
|
|
128
|
+
*/
|
|
129
|
+
private parseSizeToBytes;
|
|
130
|
+
/**
|
|
131
|
+
* Generates SHA-256 hash of content
|
|
132
|
+
* @param content - Buffer containing the content
|
|
133
|
+
* @returns SHA-256 hash string
|
|
134
|
+
*/
|
|
135
|
+
private generateContentHash;
|
|
136
|
+
/**
|
|
137
|
+
* Detects content type from file path and optionally content using enhanced magic number detection
|
|
138
|
+
* @param filePath - Path to the file
|
|
139
|
+
* @param content - File content buffer (optional)
|
|
140
|
+
* @returns MIME type string
|
|
141
|
+
*/
|
|
142
|
+
private detectContentType;
|
|
143
|
+
/**
|
|
144
|
+
* Detects content type from buffer and optional filename for memory-based ingestion
|
|
145
|
+
* @param content - Content buffer
|
|
146
|
+
* @param filename - Optional filename for extension-based detection
|
|
147
|
+
* @returns MIME type string
|
|
148
|
+
*/
|
|
149
|
+
private detectContentTypeFromBuffer;
|
|
150
|
+
/**
|
|
151
|
+
* Enhanced magic number detection for comprehensive content type identification
|
|
152
|
+
* @param content - Content buffer to analyze
|
|
153
|
+
* @returns MIME type string based on magic numbers, or 'application/octet-stream' if unknown
|
|
154
|
+
*/
|
|
155
|
+
private detectContentTypeByMagicNumbers;
|
|
156
|
+
/**
|
|
157
|
+
* Extension-based content type detection with comprehensive mapping
|
|
158
|
+
* @param extension - File extension (with or without dot)
|
|
159
|
+
* @returns MIME type string based on extension, or 'application/octet-stream' if unknown
|
|
160
|
+
*/
|
|
161
|
+
private detectContentTypeByExtension;
|
|
162
|
+
/**
|
|
163
|
+
* Validates if a content type is supported for processing
|
|
164
|
+
* @param contentType - MIME type to validate
|
|
165
|
+
* @returns Object with validation result and error message if unsupported
|
|
166
|
+
*/
|
|
167
|
+
private validateContentType;
|
|
168
|
+
/**
|
|
169
|
+
* Gets file extension from content type with enhanced mapping
|
|
170
|
+
* @param contentType - MIME type
|
|
171
|
+
* @returns File extension with dot, or null if unknown
|
|
172
|
+
*/
|
|
173
|
+
private getExtensionFromContentType;
|
|
174
|
+
/**
|
|
175
|
+
* Enhanced text content detection with better UTF-8 and encoding support
|
|
176
|
+
* @param content - Content buffer
|
|
177
|
+
* @returns True if content appears to be text
|
|
178
|
+
*/
|
|
179
|
+
private isTextContent;
|
|
180
|
+
/**
|
|
181
|
+
* Checks if a byte at given position is part of a valid UTF-8 sequence
|
|
182
|
+
* @param buffer - Buffer to check
|
|
183
|
+
* @param index - Index of the byte to check
|
|
184
|
+
* @returns True if the byte is part of valid UTF-8
|
|
185
|
+
*/
|
|
186
|
+
private isValidUTF8Byte;
|
|
187
|
+
/**
|
|
188
|
+
* Ensures content directory exists
|
|
189
|
+
* @returns Promise that resolves when directory is created
|
|
190
|
+
*/
|
|
191
|
+
private ensureContentDirectory;
|
|
192
|
+
/**
|
|
193
|
+
* Gets comprehensive storage statistics for monitoring and reporting
|
|
194
|
+
* @returns Promise that resolves to detailed storage statistics
|
|
195
|
+
*/
|
|
196
|
+
getStorageStats(): Promise<{
|
|
197
|
+
contentDirectory: {
|
|
198
|
+
totalFiles: number;
|
|
199
|
+
totalSize: number;
|
|
200
|
+
totalSizeMB: number;
|
|
201
|
+
averageFileSize: number;
|
|
202
|
+
};
|
|
203
|
+
filesystemReferences: {
|
|
204
|
+
totalRefs: number;
|
|
205
|
+
totalSize: number;
|
|
206
|
+
totalSizeMB: number;
|
|
207
|
+
};
|
|
208
|
+
overall: {
|
|
209
|
+
totalContentItems: number;
|
|
210
|
+
totalStorageUsed: number;
|
|
211
|
+
totalStorageUsedMB: number;
|
|
212
|
+
storageEfficiency: number;
|
|
213
|
+
};
|
|
214
|
+
limits: {
|
|
215
|
+
maxContentDirSize: number;
|
|
216
|
+
maxContentDirSizeMB: number;
|
|
217
|
+
currentUsagePercent: number;
|
|
218
|
+
remainingSpace: number;
|
|
219
|
+
remainingSpaceMB: number;
|
|
220
|
+
};
|
|
221
|
+
lastUpdated: Date;
|
|
222
|
+
lastCleanup: Date | null;
|
|
223
|
+
}>;
|
|
224
|
+
/**
|
|
225
|
+
* Gets current storage statistics for the content directory (legacy method)
|
|
226
|
+
* @returns Promise that resolves to storage statistics
|
|
227
|
+
* @deprecated Use getStorageStats() for more comprehensive statistics
|
|
228
|
+
*/
|
|
229
|
+
getContentDirectoryStats(): Promise<{
|
|
230
|
+
totalFiles: number;
|
|
231
|
+
totalSize: number;
|
|
232
|
+
filesystemRefs: number;
|
|
233
|
+
lastCleanup: Date | null;
|
|
234
|
+
}>;
|
|
235
|
+
/**
|
|
236
|
+
* Generates a simple, human-readable storage usage report
|
|
237
|
+
* @returns Promise that resolves to formatted storage report
|
|
238
|
+
*/
|
|
239
|
+
generateStorageReport(): Promise<string>;
|
|
240
|
+
/**
|
|
241
|
+
* Gets storage statistics in a format suitable for monitoring systems
|
|
242
|
+
* @returns Promise that resolves to monitoring-friendly statistics
|
|
243
|
+
*/
|
|
244
|
+
getStorageMetrics(): Promise<{
|
|
245
|
+
contentDirFiles: number;
|
|
246
|
+
contentDirSizeBytes: number;
|
|
247
|
+
contentDirSizeMB: number;
|
|
248
|
+
filesystemRefs: number;
|
|
249
|
+
filesystemSizeBytes: number;
|
|
250
|
+
filesystemSizeMB: number;
|
|
251
|
+
totalContentItems: number;
|
|
252
|
+
totalStorageBytes: number;
|
|
253
|
+
totalStorageMB: number;
|
|
254
|
+
usagePercent: number;
|
|
255
|
+
remainingBytes: number;
|
|
256
|
+
remainingMB: number;
|
|
257
|
+
lastCleanupTimestamp: number | null;
|
|
258
|
+
lastUpdatedTimestamp: number;
|
|
259
|
+
}>;
|
|
260
|
+
/**
|
|
261
|
+
* Updates storage statistics by scanning the content directory
|
|
262
|
+
* @returns Promise that resolves when stats are updated
|
|
263
|
+
*/
|
|
264
|
+
updateStorageStats(): Promise<void>;
|
|
265
|
+
/**
|
|
266
|
+
* Checks if adding new content would exceed storage limits (legacy method)
|
|
267
|
+
* @param contentSize - Size of content to add
|
|
268
|
+
* @returns Promise that resolves to true if within limits, false otherwise
|
|
269
|
+
* @deprecated Use enforceStorageLimits() for better error handling and guidance
|
|
270
|
+
*/
|
|
271
|
+
checkStorageLimits(contentSize: number): Promise<boolean>;
|
|
272
|
+
/**
|
|
273
|
+
* Removes orphaned files that exist in content directory but have no metadata references
|
|
274
|
+
* @returns Promise that resolves to cleanup results
|
|
275
|
+
*/
|
|
276
|
+
removeOrphanedFiles(): Promise<{
|
|
277
|
+
removedFiles: string[];
|
|
278
|
+
errors: string[];
|
|
279
|
+
freedSpace: number;
|
|
280
|
+
}>;
|
|
281
|
+
/**
|
|
282
|
+
* Removes duplicate content files based on content hash, keeping the first occurrence
|
|
283
|
+
* @returns Promise that resolves to deduplication results
|
|
284
|
+
*/
|
|
285
|
+
removeDuplicateContent(): Promise<{
|
|
286
|
+
removedFiles: string[];
|
|
287
|
+
errors: string[];
|
|
288
|
+
freedSpace: number;
|
|
289
|
+
}>;
|
|
290
|
+
/**
|
|
291
|
+
* Cleans up orphaned files in the content directory
|
|
292
|
+
* Removes files that exist in the directory but have no corresponding metadata
|
|
293
|
+
* @returns Promise that resolves to cleanup results
|
|
294
|
+
*/
|
|
295
|
+
cleanupOrphanedFiles(): Promise<{
|
|
296
|
+
removedFiles: string[];
|
|
297
|
+
errors: string[];
|
|
298
|
+
freedSpace: number;
|
|
299
|
+
}>;
|
|
300
|
+
/**
|
|
301
|
+
* Removes duplicate content files based on content hash
|
|
302
|
+
* Keeps the first occurrence and removes duplicates
|
|
303
|
+
* @returns Promise that resolves to deduplication results
|
|
304
|
+
*/
|
|
305
|
+
deduplicateContentFiles(): Promise<{
|
|
306
|
+
removedFiles: string[];
|
|
307
|
+
errors: string[];
|
|
308
|
+
freedSpace: number;
|
|
309
|
+
}>;
|
|
310
|
+
/**
|
|
311
|
+
* Ensures content directory has proper permissions
|
|
312
|
+
* @returns Promise that resolves when permissions are set
|
|
313
|
+
*/
|
|
314
|
+
ensureContentDirectoryPermissions(): Promise<void>;
|
|
315
|
+
/**
|
|
316
|
+
* Validates content directory structure and repairs if needed
|
|
317
|
+
* @returns Promise that resolves to validation results
|
|
318
|
+
*/
|
|
319
|
+
validateAndRepairContentDirectory(): Promise<{
|
|
320
|
+
isValid: boolean;
|
|
321
|
+
issues: string[];
|
|
322
|
+
repaired: string[];
|
|
323
|
+
}>;
|
|
324
|
+
/**
|
|
325
|
+
* Gets actual directory statistics by scanning the filesystem
|
|
326
|
+
* @returns Promise that resolves to actual directory stats
|
|
327
|
+
*/
|
|
328
|
+
private getActualDirectoryStats;
|
|
329
|
+
/**
|
|
330
|
+
* Cleanup resources to prevent memory leaks and hanging processes
|
|
331
|
+
* Should be called when ContentManager is no longer needed
|
|
332
|
+
*/
|
|
333
|
+
cleanup(): void;
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=content-manager.d.ts.map
|