rag-lite-ts 1.0.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/README.md +605 -93
  2. package/dist/cli/indexer.js +192 -4
  3. package/dist/cli/search.js +50 -11
  4. package/dist/cli.js +183 -26
  5. package/dist/core/abstract-embedder.d.ts +125 -0
  6. package/dist/core/abstract-embedder.js +264 -0
  7. package/dist/core/actionable-error-messages.d.ts +60 -0
  8. package/dist/core/actionable-error-messages.js +397 -0
  9. package/dist/core/batch-processing-optimizer.d.ts +155 -0
  10. package/dist/core/batch-processing-optimizer.js +541 -0
  11. package/dist/core/binary-index-format.d.ts +52 -0
  12. package/dist/core/binary-index-format.js +122 -0
  13. package/dist/core/chunker.d.ts +2 -0
  14. package/dist/core/cli-database-utils.d.ts +53 -0
  15. package/dist/core/cli-database-utils.js +239 -0
  16. package/dist/core/config.js +10 -3
  17. package/dist/core/content-errors.d.ts +111 -0
  18. package/dist/core/content-errors.js +362 -0
  19. package/dist/core/content-manager.d.ts +343 -0
  20. package/dist/core/content-manager.js +1504 -0
  21. package/dist/core/content-performance-optimizer.d.ts +150 -0
  22. package/dist/core/content-performance-optimizer.js +516 -0
  23. package/dist/core/content-resolver.d.ts +104 -0
  24. package/dist/core/content-resolver.js +285 -0
  25. package/dist/core/cross-modal-search.d.ts +164 -0
  26. package/dist/core/cross-modal-search.js +342 -0
  27. package/dist/core/database-connection-manager.d.ts +109 -0
  28. package/dist/core/database-connection-manager.js +304 -0
  29. package/dist/core/db.d.ts +141 -2
  30. package/dist/core/db.js +631 -89
  31. package/dist/core/embedder-factory.d.ts +176 -0
  32. package/dist/core/embedder-factory.js +338 -0
  33. package/dist/core/index.d.ts +3 -1
  34. package/dist/core/index.js +4 -1
  35. package/dist/core/ingestion.d.ts +85 -15
  36. package/dist/core/ingestion.js +510 -45
  37. package/dist/core/lazy-dependency-loader.d.ts +152 -0
  38. package/dist/core/lazy-dependency-loader.js +453 -0
  39. package/dist/core/mode-detection-service.d.ts +150 -0
  40. package/dist/core/mode-detection-service.js +565 -0
  41. package/dist/core/mode-model-validator.d.ts +92 -0
  42. package/dist/core/mode-model-validator.js +203 -0
  43. package/dist/core/model-registry.d.ts +120 -0
  44. package/dist/core/model-registry.js +415 -0
  45. package/dist/core/model-validator.d.ts +217 -0
  46. package/dist/core/model-validator.js +782 -0
  47. package/dist/core/polymorphic-search-factory.d.ts +154 -0
  48. package/dist/core/polymorphic-search-factory.js +344 -0
  49. package/dist/core/raglite-paths.d.ts +121 -0
  50. package/dist/core/raglite-paths.js +145 -0
  51. package/dist/core/reranking-config.d.ts +42 -0
  52. package/dist/core/reranking-config.js +156 -0
  53. package/dist/core/reranking-factory.d.ts +92 -0
  54. package/dist/core/reranking-factory.js +591 -0
  55. package/dist/core/reranking-strategies.d.ts +325 -0
  56. package/dist/core/reranking-strategies.js +720 -0
  57. package/dist/core/resource-cleanup.d.ts +163 -0
  58. package/dist/core/resource-cleanup.js +371 -0
  59. package/dist/core/resource-manager.d.ts +212 -0
  60. package/dist/core/resource-manager.js +564 -0
  61. package/dist/core/search.d.ts +28 -1
  62. package/dist/core/search.js +83 -5
  63. package/dist/core/streaming-operations.d.ts +145 -0
  64. package/dist/core/streaming-operations.js +409 -0
  65. package/dist/core/types.d.ts +3 -0
  66. package/dist/core/universal-embedder.d.ts +177 -0
  67. package/dist/core/universal-embedder.js +139 -0
  68. package/dist/core/validation-messages.d.ts +99 -0
  69. package/dist/core/validation-messages.js +334 -0
  70. package/dist/core/vector-index.d.ts +1 -1
  71. package/dist/core/vector-index.js +37 -39
  72. package/dist/factories/index.d.ts +3 -1
  73. package/dist/factories/index.js +2 -0
  74. package/dist/factories/polymorphic-factory.d.ts +50 -0
  75. package/dist/factories/polymorphic-factory.js +159 -0
  76. package/dist/factories/text-factory.d.ts +128 -34
  77. package/dist/factories/text-factory.js +346 -97
  78. package/dist/file-processor.d.ts +88 -2
  79. package/dist/file-processor.js +720 -17
  80. package/dist/index.d.ts +32 -0
  81. package/dist/index.js +29 -0
  82. package/dist/ingestion.d.ts +16 -0
  83. package/dist/ingestion.js +21 -0
  84. package/dist/mcp-server.d.ts +35 -3
  85. package/dist/mcp-server.js +1107 -31
  86. package/dist/multimodal/clip-embedder.d.ts +327 -0
  87. package/dist/multimodal/clip-embedder.js +992 -0
  88. package/dist/multimodal/index.d.ts +6 -0
  89. package/dist/multimodal/index.js +6 -0
  90. package/dist/run-error-recovery-tests.d.ts +7 -0
  91. package/dist/run-error-recovery-tests.js +101 -0
  92. package/dist/search.d.ts +60 -9
  93. package/dist/search.js +82 -11
  94. package/dist/test-utils.d.ts +8 -26
  95. package/dist/text/chunker.d.ts +1 -0
  96. package/dist/text/embedder.js +15 -8
  97. package/dist/text/index.d.ts +1 -0
  98. package/dist/text/index.js +1 -0
  99. package/dist/text/reranker.d.ts +1 -2
  100. package/dist/text/reranker.js +17 -47
  101. package/dist/text/sentence-transformer-embedder.d.ts +96 -0
  102. package/dist/text/sentence-transformer-embedder.js +340 -0
  103. package/dist/types.d.ts +39 -0
  104. package/dist/utils/vector-math.d.ts +31 -0
  105. package/dist/utils/vector-math.js +70 -0
  106. package/package.json +27 -6
  107. package/dist/api-errors.d.ts.map +0 -1
  108. package/dist/api-errors.js.map +0 -1
  109. package/dist/cli/indexer.d.ts.map +0 -1
  110. package/dist/cli/indexer.js.map +0 -1
  111. package/dist/cli/search.d.ts.map +0 -1
  112. package/dist/cli/search.js.map +0 -1
  113. package/dist/cli.d.ts.map +0 -1
  114. package/dist/cli.js.map +0 -1
  115. package/dist/config.d.ts.map +0 -1
  116. package/dist/config.js.map +0 -1
  117. package/dist/core/adapters.d.ts.map +0 -1
  118. package/dist/core/adapters.js.map +0 -1
  119. package/dist/core/chunker.d.ts.map +0 -1
  120. package/dist/core/chunker.js.map +0 -1
  121. package/dist/core/config.d.ts.map +0 -1
  122. package/dist/core/config.js.map +0 -1
  123. package/dist/core/db.d.ts.map +0 -1
  124. package/dist/core/db.js.map +0 -1
  125. package/dist/core/error-handler.d.ts.map +0 -1
  126. package/dist/core/error-handler.js.map +0 -1
  127. package/dist/core/index.d.ts.map +0 -1
  128. package/dist/core/index.js.map +0 -1
  129. package/dist/core/ingestion.d.ts.map +0 -1
  130. package/dist/core/ingestion.js.map +0 -1
  131. package/dist/core/interfaces.d.ts.map +0 -1
  132. package/dist/core/interfaces.js.map +0 -1
  133. package/dist/core/path-manager.d.ts.map +0 -1
  134. package/dist/core/path-manager.js.map +0 -1
  135. package/dist/core/search-example.d.ts +0 -25
  136. package/dist/core/search-example.d.ts.map +0 -1
  137. package/dist/core/search-example.js +0 -138
  138. package/dist/core/search-example.js.map +0 -1
  139. package/dist/core/search-pipeline-example.d.ts +0 -21
  140. package/dist/core/search-pipeline-example.d.ts.map +0 -1
  141. package/dist/core/search-pipeline-example.js +0 -188
  142. package/dist/core/search-pipeline-example.js.map +0 -1
  143. package/dist/core/search-pipeline.d.ts.map +0 -1
  144. package/dist/core/search-pipeline.js.map +0 -1
  145. package/dist/core/search.d.ts.map +0 -1
  146. package/dist/core/search.js.map +0 -1
  147. package/dist/core/types.d.ts.map +0 -1
  148. package/dist/core/types.js.map +0 -1
  149. package/dist/core/vector-index.d.ts.map +0 -1
  150. package/dist/core/vector-index.js.map +0 -1
  151. package/dist/dom-polyfills.d.ts.map +0 -1
  152. package/dist/dom-polyfills.js.map +0 -1
  153. package/dist/examples/clean-api-examples.d.ts +0 -44
  154. package/dist/examples/clean-api-examples.d.ts.map +0 -1
  155. package/dist/examples/clean-api-examples.js +0 -206
  156. package/dist/examples/clean-api-examples.js.map +0 -1
  157. package/dist/factories/index.d.ts.map +0 -1
  158. package/dist/factories/index.js.map +0 -1
  159. package/dist/factories/text-factory.d.ts.map +0 -1
  160. package/dist/factories/text-factory.js.map +0 -1
  161. package/dist/file-processor.d.ts.map +0 -1
  162. package/dist/file-processor.js.map +0 -1
  163. package/dist/index-manager.d.ts.map +0 -1
  164. package/dist/index-manager.js.map +0 -1
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/index.js.map +0 -1
  167. package/dist/indexer.d.ts.map +0 -1
  168. package/dist/indexer.js.map +0 -1
  169. package/dist/ingestion.d.ts.map +0 -1
  170. package/dist/ingestion.js.map +0 -1
  171. package/dist/mcp-server.d.ts.map +0 -1
  172. package/dist/mcp-server.js.map +0 -1
  173. package/dist/preprocess.d.ts.map +0 -1
  174. package/dist/preprocess.js.map +0 -1
  175. package/dist/preprocessors/index.d.ts.map +0 -1
  176. package/dist/preprocessors/index.js.map +0 -1
  177. package/dist/preprocessors/mdx.d.ts.map +0 -1
  178. package/dist/preprocessors/mdx.js.map +0 -1
  179. package/dist/preprocessors/mermaid.d.ts.map +0 -1
  180. package/dist/preprocessors/mermaid.js.map +0 -1
  181. package/dist/preprocessors/registry.d.ts.map +0 -1
  182. package/dist/preprocessors/registry.js.map +0 -1
  183. package/dist/search-standalone.d.ts.map +0 -1
  184. package/dist/search-standalone.js.map +0 -1
  185. package/dist/search.d.ts.map +0 -1
  186. package/dist/search.js.map +0 -1
  187. package/dist/test-utils.d.ts.map +0 -1
  188. package/dist/test-utils.js.map +0 -1
  189. package/dist/text/chunker.d.ts.map +0 -1
  190. package/dist/text/chunker.js.map +0 -1
  191. package/dist/text/embedder.d.ts.map +0 -1
  192. package/dist/text/embedder.js.map +0 -1
  193. package/dist/text/index.d.ts.map +0 -1
  194. package/dist/text/index.js.map +0 -1
  195. package/dist/text/preprocessors/index.d.ts.map +0 -1
  196. package/dist/text/preprocessors/index.js.map +0 -1
  197. package/dist/text/preprocessors/mdx.d.ts.map +0 -1
  198. package/dist/text/preprocessors/mdx.js.map +0 -1
  199. package/dist/text/preprocessors/mermaid.d.ts.map +0 -1
  200. package/dist/text/preprocessors/mermaid.js.map +0 -1
  201. package/dist/text/preprocessors/registry.d.ts.map +0 -1
  202. package/dist/text/preprocessors/registry.js.map +0 -1
  203. package/dist/text/reranker.d.ts.map +0 -1
  204. package/dist/text/reranker.js.map +0 -1
  205. package/dist/text/tokenizer.d.ts.map +0 -1
  206. package/dist/text/tokenizer.js.map +0 -1
  207. package/dist/types.d.ts.map +0 -1
  208. package/dist/types.js.map +0 -1
@@ -0,0 +1,343 @@
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
+ * Writes content to file atomically to prevent partial writes
194
+ * @param filePath - Path to write to
195
+ * @param content - Content to write
196
+ * @returns Promise that resolves when write is complete
197
+ * @deprecated Use writeFileAtomic from resource-cleanup.ts for better resource management
198
+ */
199
+ private writeContentAtomic;
200
+ /**
201
+ * Gets comprehensive storage statistics for monitoring and reporting
202
+ * @returns Promise that resolves to detailed storage statistics
203
+ */
204
+ getStorageStats(): Promise<{
205
+ contentDirectory: {
206
+ totalFiles: number;
207
+ totalSize: number;
208
+ totalSizeMB: number;
209
+ averageFileSize: number;
210
+ };
211
+ filesystemReferences: {
212
+ totalRefs: number;
213
+ totalSize: number;
214
+ totalSizeMB: number;
215
+ };
216
+ overall: {
217
+ totalContentItems: number;
218
+ totalStorageUsed: number;
219
+ totalStorageUsedMB: number;
220
+ storageEfficiency: number;
221
+ };
222
+ limits: {
223
+ maxContentDirSize: number;
224
+ maxContentDirSizeMB: number;
225
+ currentUsagePercent: number;
226
+ remainingSpace: number;
227
+ remainingSpaceMB: number;
228
+ };
229
+ lastUpdated: Date;
230
+ lastCleanup: Date | null;
231
+ }>;
232
+ /**
233
+ * Gets current storage statistics for the content directory (legacy method)
234
+ * @returns Promise that resolves to storage statistics
235
+ * @deprecated Use getStorageStats() for more comprehensive statistics
236
+ */
237
+ getContentDirectoryStats(): Promise<{
238
+ totalFiles: number;
239
+ totalSize: number;
240
+ filesystemRefs: number;
241
+ lastCleanup: Date | null;
242
+ }>;
243
+ /**
244
+ * Generates a simple, human-readable storage usage report
245
+ * @returns Promise that resolves to formatted storage report
246
+ */
247
+ generateStorageReport(): Promise<string>;
248
+ /**
249
+ * Gets storage statistics in a format suitable for monitoring systems
250
+ * @returns Promise that resolves to monitoring-friendly statistics
251
+ */
252
+ getStorageMetrics(): Promise<{
253
+ contentDirFiles: number;
254
+ contentDirSizeBytes: number;
255
+ contentDirSizeMB: number;
256
+ filesystemRefs: number;
257
+ filesystemSizeBytes: number;
258
+ filesystemSizeMB: number;
259
+ totalContentItems: number;
260
+ totalStorageBytes: number;
261
+ totalStorageMB: number;
262
+ usagePercent: number;
263
+ remainingBytes: number;
264
+ remainingMB: number;
265
+ lastCleanupTimestamp: number | null;
266
+ lastUpdatedTimestamp: number;
267
+ }>;
268
+ /**
269
+ * Updates storage statistics by scanning the content directory
270
+ * @returns Promise that resolves when stats are updated
271
+ */
272
+ updateStorageStats(): Promise<void>;
273
+ /**
274
+ * Checks if adding new content would exceed storage limits (legacy method)
275
+ * @param contentSize - Size of content to add
276
+ * @returns Promise that resolves to true if within limits, false otherwise
277
+ * @deprecated Use enforceStorageLimits() for better error handling and guidance
278
+ */
279
+ checkStorageLimits(contentSize: number): Promise<boolean>;
280
+ /**
281
+ * Removes orphaned files that exist in content directory but have no metadata references
282
+ * @returns Promise that resolves to cleanup results
283
+ */
284
+ removeOrphanedFiles(): Promise<{
285
+ removedFiles: string[];
286
+ errors: string[];
287
+ freedSpace: number;
288
+ }>;
289
+ /**
290
+ * Removes duplicate content files based on content hash, keeping the first occurrence
291
+ * @returns Promise that resolves to deduplication results
292
+ */
293
+ removeDuplicateContent(): Promise<{
294
+ removedFiles: string[];
295
+ errors: string[];
296
+ freedSpace: number;
297
+ }>;
298
+ /**
299
+ * Cleans up orphaned files in the content directory
300
+ * Removes files that exist in the directory but have no corresponding metadata
301
+ * @returns Promise that resolves to cleanup results
302
+ */
303
+ cleanupOrphanedFiles(): Promise<{
304
+ removedFiles: string[];
305
+ errors: string[];
306
+ freedSpace: number;
307
+ }>;
308
+ /**
309
+ * Removes duplicate content files based on content hash
310
+ * Keeps the first occurrence and removes duplicates
311
+ * @returns Promise that resolves to deduplication results
312
+ */
313
+ deduplicateContentFiles(): Promise<{
314
+ removedFiles: string[];
315
+ errors: string[];
316
+ freedSpace: number;
317
+ }>;
318
+ /**
319
+ * Ensures content directory has proper permissions
320
+ * @returns Promise that resolves when permissions are set
321
+ */
322
+ ensureContentDirectoryPermissions(): Promise<void>;
323
+ /**
324
+ * Validates content directory structure and repairs if needed
325
+ * @returns Promise that resolves to validation results
326
+ */
327
+ validateAndRepairContentDirectory(): Promise<{
328
+ isValid: boolean;
329
+ issues: string[];
330
+ repaired: string[];
331
+ }>;
332
+ /**
333
+ * Gets actual directory statistics by scanning the filesystem
334
+ * @returns Promise that resolves to actual directory stats
335
+ */
336
+ private getActualDirectoryStats;
337
+ /**
338
+ * Cleanup resources to prevent memory leaks and hanging processes
339
+ * Should be called when ContentManager is no longer needed
340
+ */
341
+ cleanup(): void;
342
+ }
343
+ //# sourceMappingURL=content-manager.d.ts.map