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,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CORE MODULE — Resource Manager
|
|
3
|
+
* Implements proper cleanup methods for all embedder implementations
|
|
4
|
+
* Adds automatic resource management for image processing operations
|
|
5
|
+
* Creates memory monitoring and garbage collection optimization
|
|
6
|
+
* Ensures proper disposal of transformers.js model resources
|
|
7
|
+
*
|
|
8
|
+
* Requirements: 9.4, 9.6 - Resource cleanup and memory management
|
|
9
|
+
*/
|
|
10
|
+
import type { UniversalEmbedder } from './universal-embedder.js';
|
|
11
|
+
/**
|
|
12
|
+
* Resource tracking information
|
|
13
|
+
*/
|
|
14
|
+
interface ResourceInfo {
|
|
15
|
+
id: string;
|
|
16
|
+
type: 'embedder' | 'model' | 'processor' | 'cache';
|
|
17
|
+
name: string;
|
|
18
|
+
memoryEstimateMB: number;
|
|
19
|
+
createdAt: Date;
|
|
20
|
+
lastUsedAt: Date;
|
|
21
|
+
resource: any;
|
|
22
|
+
cleanupFn?: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Memory usage statistics
|
|
26
|
+
*/
|
|
27
|
+
interface MemoryStats {
|
|
28
|
+
heapUsedMB: number;
|
|
29
|
+
heapTotalMB: number;
|
|
30
|
+
externalMB: number;
|
|
31
|
+
rssMemoryMB: number;
|
|
32
|
+
peakHeapUsedMB: number;
|
|
33
|
+
gcCount: number;
|
|
34
|
+
lastGcAt?: Date;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resource cleanup statistics
|
|
38
|
+
*/
|
|
39
|
+
interface CleanupStats {
|
|
40
|
+
totalResourcesTracked: number;
|
|
41
|
+
resourcesCleanedUp: number;
|
|
42
|
+
cleanupErrors: number;
|
|
43
|
+
memoryFreedMB: number;
|
|
44
|
+
cleanupTimeMs: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Comprehensive resource manager for embedders and models
|
|
48
|
+
* Handles automatic cleanup, memory monitoring, and garbage collection
|
|
49
|
+
*/
|
|
50
|
+
export declare class ResourceManager {
|
|
51
|
+
private static instance;
|
|
52
|
+
private resources;
|
|
53
|
+
private memoryThresholdMB;
|
|
54
|
+
private autoCleanupEnabled;
|
|
55
|
+
private gcEnabled;
|
|
56
|
+
private cleanupIntervalMs;
|
|
57
|
+
private cleanupTimer?;
|
|
58
|
+
private memoryMonitorTimer?;
|
|
59
|
+
private peakMemoryMB;
|
|
60
|
+
private gcCount;
|
|
61
|
+
private lastGcAt?;
|
|
62
|
+
private constructor();
|
|
63
|
+
/**
|
|
64
|
+
* Get singleton instance
|
|
65
|
+
*/
|
|
66
|
+
static getInstance(): ResourceManager;
|
|
67
|
+
/**
|
|
68
|
+
* Register an embedder for resource management
|
|
69
|
+
*/
|
|
70
|
+
registerEmbedder(embedder: UniversalEmbedder): string;
|
|
71
|
+
/**
|
|
72
|
+
* Register a transformers.js model for resource management
|
|
73
|
+
*/
|
|
74
|
+
registerModel(model: any, modelName: string, modelType: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Register an image processor for resource management
|
|
77
|
+
*/
|
|
78
|
+
registerImageProcessor(processor: any, processorName: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Update last used timestamp for a resource
|
|
81
|
+
*/
|
|
82
|
+
updateResourceUsage(resourceId: string): void;
|
|
83
|
+
/**
|
|
84
|
+
* Clean up a specific resource by ID
|
|
85
|
+
*/
|
|
86
|
+
cleanupResource(resourceId: string): Promise<boolean>;
|
|
87
|
+
/**
|
|
88
|
+
* Clean up all resources of a specific type
|
|
89
|
+
*/
|
|
90
|
+
cleanupResourcesByType(type: ResourceInfo['type']): Promise<CleanupStats>;
|
|
91
|
+
/**
|
|
92
|
+
* Clean up all registered resources
|
|
93
|
+
*/
|
|
94
|
+
cleanupAllResources(): Promise<CleanupStats>;
|
|
95
|
+
/**
|
|
96
|
+
* Clean up unused resources (not used recently)
|
|
97
|
+
*/
|
|
98
|
+
cleanupUnusedResources(maxAgeMinutes?: number): Promise<CleanupStats>;
|
|
99
|
+
/**
|
|
100
|
+
* Get current memory statistics
|
|
101
|
+
*/
|
|
102
|
+
getMemoryStats(): MemoryStats;
|
|
103
|
+
/**
|
|
104
|
+
* Check if memory usage exceeds threshold
|
|
105
|
+
*/
|
|
106
|
+
isMemoryThresholdExceeded(): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Force garbage collection
|
|
109
|
+
*/
|
|
110
|
+
forceGarbageCollection(): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Perform memory optimization
|
|
113
|
+
*/
|
|
114
|
+
optimizeMemory(): Promise<{
|
|
115
|
+
initialMemoryMB: number;
|
|
116
|
+
finalMemoryMB: number;
|
|
117
|
+
memoryFreedMB: number;
|
|
118
|
+
resourcesCleanedUp: number;
|
|
119
|
+
gcPerformed: boolean;
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* Configure memory threshold
|
|
123
|
+
*/
|
|
124
|
+
setMemoryThreshold(thresholdMB: number): void;
|
|
125
|
+
/**
|
|
126
|
+
* Enable or disable automatic cleanup
|
|
127
|
+
*/
|
|
128
|
+
setAutoCleanup(enabled: boolean): void;
|
|
129
|
+
/**
|
|
130
|
+
* Enable or disable garbage collection
|
|
131
|
+
*/
|
|
132
|
+
setGarbageCollection(enabled: boolean): void;
|
|
133
|
+
/**
|
|
134
|
+
* Set cleanup interval
|
|
135
|
+
*/
|
|
136
|
+
setCleanupInterval(intervalMs: number): void;
|
|
137
|
+
/**
|
|
138
|
+
* Get comprehensive resource statistics
|
|
139
|
+
*/
|
|
140
|
+
getResourceStats(): {
|
|
141
|
+
totalResources: number;
|
|
142
|
+
resourcesByType: Record<string, number>;
|
|
143
|
+
totalEstimatedMemoryMB: number;
|
|
144
|
+
oldestResource: {
|
|
145
|
+
name: string;
|
|
146
|
+
ageMinutes: number;
|
|
147
|
+
} | null;
|
|
148
|
+
newestResource: {
|
|
149
|
+
name: string;
|
|
150
|
+
ageMinutes: number;
|
|
151
|
+
} | null;
|
|
152
|
+
memoryStats: MemoryStats;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Generate unique resource ID
|
|
156
|
+
*/
|
|
157
|
+
private generateResourceId;
|
|
158
|
+
/**
|
|
159
|
+
* Estimate memory usage for embedder
|
|
160
|
+
*/
|
|
161
|
+
private estimateEmbedderMemory;
|
|
162
|
+
/**
|
|
163
|
+
* Estimate memory usage for model
|
|
164
|
+
*/
|
|
165
|
+
private estimateModelMemory;
|
|
166
|
+
/**
|
|
167
|
+
* Estimate memory usage for processor
|
|
168
|
+
*/
|
|
169
|
+
private estimateProcessorMemory;
|
|
170
|
+
/**
|
|
171
|
+
* Start automatic cleanup timer
|
|
172
|
+
*/
|
|
173
|
+
private startAutoCleanup;
|
|
174
|
+
/**
|
|
175
|
+
* Stop automatic cleanup timer
|
|
176
|
+
*/
|
|
177
|
+
private stopAutoCleanup;
|
|
178
|
+
/**
|
|
179
|
+
* Setup memory monitoring
|
|
180
|
+
*/
|
|
181
|
+
private setupMemoryMonitoring;
|
|
182
|
+
/**
|
|
183
|
+
* Stop memory monitoring
|
|
184
|
+
*/
|
|
185
|
+
private stopMemoryMonitoring;
|
|
186
|
+
/**
|
|
187
|
+
* Shutdown resource manager
|
|
188
|
+
*/
|
|
189
|
+
shutdown(): Promise<void>;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get the global resource manager instance
|
|
193
|
+
*/
|
|
194
|
+
export declare function getResourceManager(): ResourceManager;
|
|
195
|
+
/**
|
|
196
|
+
* Register an embedder for automatic resource management
|
|
197
|
+
*/
|
|
198
|
+
export declare function registerEmbedder(embedder: UniversalEmbedder): string;
|
|
199
|
+
/**
|
|
200
|
+
* Clean up all resources and optimize memory
|
|
201
|
+
*/
|
|
202
|
+
export declare function cleanupAndOptimizeMemory(): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* Force garbage collection if available
|
|
205
|
+
*/
|
|
206
|
+
export declare function forceGarbageCollection(): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Get current memory statistics
|
|
209
|
+
*/
|
|
210
|
+
export declare function getMemoryStats(): MemoryStats;
|
|
211
|
+
export default ResourceManager;
|
|
212
|
+
//# sourceMappingURL=resource-manager.d.ts.map
|