rag-lite-ts 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +240 -0
  3. package/dist/api-errors.d.ts +90 -0
  4. package/dist/api-errors.d.ts.map +1 -0
  5. package/dist/api-errors.js +320 -0
  6. package/dist/api-errors.js.map +1 -0
  7. package/dist/chunker.d.ts +47 -0
  8. package/dist/chunker.d.ts.map +1 -0
  9. package/dist/chunker.js +256 -0
  10. package/dist/chunker.js.map +1 -0
  11. package/dist/cli/indexer.d.ts +11 -0
  12. package/dist/cli/indexer.d.ts.map +1 -0
  13. package/dist/cli/indexer.js +272 -0
  14. package/dist/cli/indexer.js.map +1 -0
  15. package/dist/cli/search.d.ts +7 -0
  16. package/dist/cli/search.d.ts.map +1 -0
  17. package/dist/cli/search.js +206 -0
  18. package/dist/cli/search.js.map +1 -0
  19. package/dist/cli.d.ts +3 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +362 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/config.d.ts +90 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +281 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/db.d.ts +90 -0
  28. package/dist/db.d.ts.map +1 -0
  29. package/dist/db.js +340 -0
  30. package/dist/db.js.map +1 -0
  31. package/dist/embedder.d.ts +101 -0
  32. package/dist/embedder.d.ts.map +1 -0
  33. package/dist/embedder.js +323 -0
  34. package/dist/embedder.js.map +1 -0
  35. package/dist/error-handler.d.ts +91 -0
  36. package/dist/error-handler.d.ts.map +1 -0
  37. package/dist/error-handler.js +196 -0
  38. package/dist/error-handler.js.map +1 -0
  39. package/dist/file-processor.d.ts +59 -0
  40. package/dist/file-processor.d.ts.map +1 -0
  41. package/dist/file-processor.js +312 -0
  42. package/dist/file-processor.js.map +1 -0
  43. package/dist/index-manager.d.ts +99 -0
  44. package/dist/index-manager.d.ts.map +1 -0
  45. package/dist/index-manager.js +444 -0
  46. package/dist/index-manager.js.map +1 -0
  47. package/dist/index.d.ts +13 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +21 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/indexer.d.ts +7 -0
  52. package/dist/indexer.d.ts.map +1 -0
  53. package/dist/indexer.js +51 -0
  54. package/dist/indexer.js.map +1 -0
  55. package/dist/ingestion.d.ts +175 -0
  56. package/dist/ingestion.d.ts.map +1 -0
  57. package/dist/ingestion.js +705 -0
  58. package/dist/ingestion.js.map +1 -0
  59. package/dist/mcp-server.d.ts +14 -0
  60. package/dist/mcp-server.d.ts.map +1 -0
  61. package/dist/mcp-server.js +680 -0
  62. package/dist/mcp-server.js.map +1 -0
  63. package/dist/path-manager.d.ts +42 -0
  64. package/dist/path-manager.d.ts.map +1 -0
  65. package/dist/path-manager.js +66 -0
  66. package/dist/path-manager.js.map +1 -0
  67. package/dist/preprocess.d.ts +19 -0
  68. package/dist/preprocess.d.ts.map +1 -0
  69. package/dist/preprocess.js +203 -0
  70. package/dist/preprocess.js.map +1 -0
  71. package/dist/preprocessors/index.d.ts +17 -0
  72. package/dist/preprocessors/index.d.ts.map +1 -0
  73. package/dist/preprocessors/index.js +38 -0
  74. package/dist/preprocessors/index.js.map +1 -0
  75. package/dist/preprocessors/mdx.d.ts +25 -0
  76. package/dist/preprocessors/mdx.d.ts.map +1 -0
  77. package/dist/preprocessors/mdx.js +101 -0
  78. package/dist/preprocessors/mdx.js.map +1 -0
  79. package/dist/preprocessors/mermaid.d.ts +68 -0
  80. package/dist/preprocessors/mermaid.d.ts.map +1 -0
  81. package/dist/preprocessors/mermaid.js +329 -0
  82. package/dist/preprocessors/mermaid.js.map +1 -0
  83. package/dist/preprocessors/registry.d.ts +56 -0
  84. package/dist/preprocessors/registry.d.ts.map +1 -0
  85. package/dist/preprocessors/registry.js +179 -0
  86. package/dist/preprocessors/registry.js.map +1 -0
  87. package/dist/reranker.d.ts +40 -0
  88. package/dist/reranker.d.ts.map +1 -0
  89. package/dist/reranker.js +212 -0
  90. package/dist/reranker.js.map +1 -0
  91. package/dist/resource-manager-demo.d.ts +7 -0
  92. package/dist/resource-manager-demo.d.ts.map +1 -0
  93. package/dist/resource-manager-demo.js +52 -0
  94. package/dist/resource-manager-demo.js.map +1 -0
  95. package/dist/resource-manager.d.ts +129 -0
  96. package/dist/resource-manager.d.ts.map +1 -0
  97. package/dist/resource-manager.js +389 -0
  98. package/dist/resource-manager.js.map +1 -0
  99. package/dist/search-standalone.d.ts +7 -0
  100. package/dist/search-standalone.d.ts.map +1 -0
  101. package/dist/search-standalone.js +117 -0
  102. package/dist/search-standalone.js.map +1 -0
  103. package/dist/search.d.ts +92 -0
  104. package/dist/search.d.ts.map +1 -0
  105. package/dist/search.js +454 -0
  106. package/dist/search.js.map +1 -0
  107. package/dist/test-utils.d.ts +36 -0
  108. package/dist/test-utils.d.ts.map +1 -0
  109. package/dist/test-utils.js +27 -0
  110. package/dist/test-utils.js.map +1 -0
  111. package/dist/tokenizer.d.ts +21 -0
  112. package/dist/tokenizer.d.ts.map +1 -0
  113. package/dist/tokenizer.js +59 -0
  114. package/dist/tokenizer.js.map +1 -0
  115. package/dist/types.d.ts +44 -0
  116. package/dist/types.d.ts.map +1 -0
  117. package/dist/types.js +3 -0
  118. package/dist/types.js.map +1 -0
  119. package/dist/vector-index.d.ts +64 -0
  120. package/dist/vector-index.d.ts.map +1 -0
  121. package/dist/vector-index.js +308 -0
  122. package/dist/vector-index.js.map +1 -0
  123. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-errors.js","sourceRoot":"","sources":["../src/api-errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Configuration for chunking behavior
3
+ */
4
+ export interface ChunkConfig {
5
+ /** Target chunk size in tokens (200-300 recommended) */
6
+ chunkSize: number;
7
+ /** Overlap between chunks in tokens (50 recommended) */
8
+ chunkOverlap: number;
9
+ }
10
+ /**
11
+ * Represents a text chunk with metadata
12
+ */
13
+ export interface Chunk {
14
+ /** The text content of the chunk */
15
+ text: string;
16
+ /** Index of this chunk within the document */
17
+ chunkIndex: number;
18
+ /** Number of tokens in this chunk */
19
+ tokenCount: number;
20
+ }
21
+ /**
22
+ * Represents a document to be chunked
23
+ */
24
+ export interface Document {
25
+ /** Source path or identifier */
26
+ source: string;
27
+ /** Document title */
28
+ title: string;
29
+ /** Full text content */
30
+ content: string;
31
+ }
32
+ /**
33
+ * Default chunking configuration
34
+ */
35
+ export declare const DEFAULT_CHUNK_CONFIG: ChunkConfig;
36
+ /**
37
+ * Main chunking function implementing the three-tier strategy:
38
+ * 1. Split at paragraph boundaries (double newlines)
39
+ * 2. If paragraphs are too large, split at sentence boundaries
40
+ * 3. If sentences are still too large, use fixed-size chunking
41
+ *
42
+ * @param document - Document to chunk
43
+ * @param config - Chunking configuration
44
+ * @returns Array of chunks with metadata
45
+ */
46
+ export declare function chunkDocument(document: Document, config?: ChunkConfig): Promise<Chunk[]>;
47
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAC;AA+LF;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,WAAkC,GACzC,OAAO,CAAC,KAAK,EAAE,CAAC,CAmFlB"}
@@ -0,0 +1,256 @@
1
+ import { countTokens } from './tokenizer.js';
2
+ /**
3
+ * Default chunking configuration
4
+ */
5
+ export const DEFAULT_CHUNK_CONFIG = {
6
+ chunkSize: 250, // Target 200-300 tokens
7
+ chunkOverlap: 50
8
+ };
9
+ /**
10
+ * Split text at paragraph boundaries (double newlines)
11
+ * This is the first tier of the chunking strategy
12
+ */
13
+ function splitIntoParagraphs(text) {
14
+ // Split on double newlines, filter out empty strings
15
+ return text
16
+ .split(/\n\s*\n/)
17
+ .map(p => p.trim())
18
+ .filter(p => p.length > 0);
19
+ }
20
+ /**
21
+ * Split text at sentence boundaries using punctuation marks
22
+ * This is the second tier of the chunking strategy
23
+ */
24
+ function splitIntoSentences(text) {
25
+ // Split on sentence-ending punctuation followed by whitespace or end of string
26
+ // Handle common abbreviations and edge cases
27
+ const sentences = text
28
+ .split(/(?<=[.!?])\s+/)
29
+ .map(s => s.trim())
30
+ .filter(s => s.length > 0);
31
+ return sentences;
32
+ }
33
+ /**
34
+ * Split text into fixed-size chunks based on character count
35
+ * This is the fallback tier when semantic splitting fails
36
+ */
37
+ async function splitIntoFixedSizeChunks(text, maxTokens, overlapTokens) {
38
+ const chunks = [];
39
+ const words = text.split(/\s+/);
40
+ let currentChunk = '';
41
+ let currentTokens = 0;
42
+ let i = 0;
43
+ while (i < words.length) {
44
+ const word = words[i];
45
+ const testChunk = currentChunk ? `${currentChunk} ${word}` : word;
46
+ const testTokens = await countTokens(testChunk);
47
+ if (testTokens <= maxTokens) {
48
+ currentChunk = testChunk;
49
+ currentTokens = testTokens;
50
+ i++;
51
+ }
52
+ else {
53
+ // Current chunk is full, save it
54
+ if (currentChunk) {
55
+ chunks.push(currentChunk);
56
+ // Create overlap for next chunk
57
+ if (overlapTokens > 0 && chunks.length > 0) {
58
+ const overlapText = await createOverlapFromWords(currentChunk, overlapTokens);
59
+ currentChunk = overlapText;
60
+ currentTokens = await countTokens(currentChunk);
61
+ }
62
+ else {
63
+ currentChunk = '';
64
+ currentTokens = 0;
65
+ }
66
+ }
67
+ else {
68
+ // Single word exceeds limit, add it anyway
69
+ chunks.push(word);
70
+ i++;
71
+ }
72
+ }
73
+ }
74
+ // Add final chunk if it has content
75
+ if (currentChunk.trim()) {
76
+ chunks.push(currentChunk.trim());
77
+ }
78
+ return chunks;
79
+ }
80
+ /**
81
+ * Create overlap text from words at the end of a chunk
82
+ */
83
+ async function createOverlapFromWords(text, overlapTokens) {
84
+ const words = text.split(/\s+/);
85
+ let overlapText = '';
86
+ let tokens = 0;
87
+ // Work backwards from the end
88
+ for (let i = words.length - 1; i >= 0; i--) {
89
+ const word = words[i];
90
+ const testText = word + (overlapText ? ' ' + overlapText : '');
91
+ const testTokens = await countTokens(testText);
92
+ if (testTokens <= overlapTokens) {
93
+ overlapText = testText;
94
+ tokens = testTokens;
95
+ }
96
+ else {
97
+ break;
98
+ }
99
+ }
100
+ return overlapText;
101
+ }
102
+ /**
103
+ * Create chunks from a list of text segments, respecting token limits
104
+ */
105
+ async function createChunksFromSegments(segments, config) {
106
+ const chunks = [];
107
+ let currentChunk = '';
108
+ let currentTokens = 0;
109
+ for (const segment of segments) {
110
+ const segmentTokens = await countTokens(segment);
111
+ // If this single segment exceeds our limit, we need to split it further
112
+ if (segmentTokens > config.chunkSize) {
113
+ // Save current chunk if it has content
114
+ if (currentChunk.trim()) {
115
+ chunks.push(currentChunk.trim());
116
+ currentChunk = '';
117
+ currentTokens = 0;
118
+ }
119
+ // Split the large segment using fixed-size chunking based on tokens
120
+ const subChunks = await splitIntoFixedSizeChunks(segment, config.chunkSize, config.chunkOverlap);
121
+ chunks.push(...subChunks);
122
+ continue;
123
+ }
124
+ // Check if adding this segment would exceed our token limit
125
+ const potentialChunk = currentChunk ? `${currentChunk}\n\n${segment}` : segment;
126
+ const potentialTokens = await countTokens(potentialChunk);
127
+ if (potentialTokens <= config.chunkSize) {
128
+ // Add to current chunk
129
+ currentChunk = potentialChunk;
130
+ currentTokens = potentialTokens;
131
+ }
132
+ else {
133
+ // Save current chunk and start a new one
134
+ if (currentChunk.trim()) {
135
+ chunks.push(currentChunk.trim());
136
+ }
137
+ // Start new chunk with overlap if possible
138
+ if (config.chunkOverlap > 0 && currentChunk) {
139
+ const overlapText = await createOverlapText(currentChunk, config.chunkOverlap);
140
+ currentChunk = overlapText ? `${overlapText}\n\n${segment}` : segment;
141
+ }
142
+ else {
143
+ currentChunk = segment;
144
+ }
145
+ currentTokens = await countTokens(currentChunk);
146
+ }
147
+ }
148
+ // Add final chunk if it has content
149
+ if (currentChunk.trim()) {
150
+ chunks.push(currentChunk.trim());
151
+ }
152
+ return chunks;
153
+ }
154
+ /**
155
+ * Create overlap text from the end of a chunk
156
+ */
157
+ async function createOverlapText(text, overlapTokens) {
158
+ // Split into sentences and work backwards to get approximately the right amount of overlap
159
+ const sentences = splitIntoSentences(text);
160
+ let overlapText = '';
161
+ let tokens = 0;
162
+ for (let i = sentences.length - 1; i >= 0; i--) {
163
+ const sentence = sentences[i];
164
+ const sentenceTokens = await countTokens(sentence);
165
+ if (tokens + sentenceTokens <= overlapTokens) {
166
+ overlapText = sentence + (overlapText ? ' ' + overlapText : '');
167
+ tokens += sentenceTokens;
168
+ }
169
+ else {
170
+ break;
171
+ }
172
+ }
173
+ return overlapText;
174
+ }
175
+ /**
176
+ * Main chunking function implementing the three-tier strategy:
177
+ * 1. Split at paragraph boundaries (double newlines)
178
+ * 2. If paragraphs are too large, split at sentence boundaries
179
+ * 3. If sentences are still too large, use fixed-size chunking
180
+ *
181
+ * @param document - Document to chunk
182
+ * @param config - Chunking configuration
183
+ * @returns Array of chunks with metadata
184
+ */
185
+ export async function chunkDocument(document, config = DEFAULT_CHUNK_CONFIG) {
186
+ console.log(`📝 Chunking document "${document.title}" with config: chunkSize=${config.chunkSize}, chunkOverlap=${config.chunkOverlap}`);
187
+ if (!document.content || document.content.trim().length === 0) {
188
+ return [];
189
+ }
190
+ // Tier 1: Split into paragraphs
191
+ const paragraphs = splitIntoParagraphs(document.content);
192
+ // Tier 2: For large paragraphs, split into sentences
193
+ const segments = [];
194
+ for (const paragraph of paragraphs) {
195
+ const paragraphTokens = await countTokens(paragraph);
196
+ if (paragraphTokens <= config.chunkSize) {
197
+ // Paragraph is small enough, use as-is
198
+ segments.push(paragraph);
199
+ }
200
+ else {
201
+ // Paragraph is too large, split into sentences
202
+ const sentences = splitIntoSentences(paragraph);
203
+ // Group sentences that fit within token limits
204
+ let currentGroup = '';
205
+ let currentTokens = 0;
206
+ for (const sentence of sentences) {
207
+ const sentenceTokens = await countTokens(sentence);
208
+ // If single sentence exceeds limit, it will be handled in createChunksFromSegments
209
+ if (sentenceTokens > config.chunkSize) {
210
+ // Save current group if it has content
211
+ if (currentGroup.trim()) {
212
+ segments.push(currentGroup.trim());
213
+ currentGroup = '';
214
+ currentTokens = 0;
215
+ }
216
+ // Add the large sentence as its own segment (will be split later)
217
+ segments.push(sentence);
218
+ continue;
219
+ }
220
+ const potentialGroup = currentGroup ? `${currentGroup} ${sentence}` : sentence;
221
+ const potentialTokens = await countTokens(potentialGroup);
222
+ if (potentialTokens <= config.chunkSize) {
223
+ currentGroup = potentialGroup;
224
+ currentTokens = potentialTokens;
225
+ }
226
+ else {
227
+ // Save current group and start new one
228
+ if (currentGroup.trim()) {
229
+ segments.push(currentGroup.trim());
230
+ }
231
+ currentGroup = sentence;
232
+ currentTokens = sentenceTokens;
233
+ }
234
+ }
235
+ // Add final group if it has content
236
+ if (currentGroup.trim()) {
237
+ segments.push(currentGroup.trim());
238
+ }
239
+ }
240
+ }
241
+ // Tier 3: Create final chunks with overlap handling
242
+ const chunkTexts = await createChunksFromSegments(segments, config);
243
+ // Convert to Chunk objects with metadata
244
+ const chunks = [];
245
+ for (let i = 0; i < chunkTexts.length; i++) {
246
+ const text = chunkTexts[i];
247
+ const tokenCount = await countTokens(text);
248
+ chunks.push({
249
+ text,
250
+ chunkIndex: i,
251
+ tokenCount
252
+ });
253
+ }
254
+ return chunks;
255
+ }
256
+ //# sourceMappingURL=chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Run document ingestion from CLI
3
+ * @param path - File or directory path to ingest
4
+ * @param options - CLI options including model selection
5
+ */
6
+ export declare function runIngest(path: string, options?: Record<string, any>): Promise<void>;
7
+ /**
8
+ * Run index rebuild from CLI
9
+ */
10
+ export declare function runRebuild(): Promise<void>;
11
+ //# sourceMappingURL=indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/cli/indexer.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkM9F;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAqEhD"}
@@ -0,0 +1,272 @@
1
+ import { existsSync, statSync } from 'fs';
2
+ import { resolve } from 'path';
3
+ import { IngestionPipeline, rebuildIndex } from '../ingestion.js';
4
+ import { EXIT_CODES, ConfigurationError } from '../config.js';
5
+ /**
6
+ * Run document ingestion from CLI
7
+ * @param path - File or directory path to ingest
8
+ * @param options - CLI options including model selection
9
+ */
10
+ export async function runIngest(path, options = {}) {
11
+ try {
12
+ // Validate path exists
13
+ const resolvedPath = resolve(path);
14
+ if (!existsSync(resolvedPath)) {
15
+ console.error(`Error: Path does not exist: ${path}`);
16
+ console.error('');
17
+ console.error('Please check:');
18
+ console.error('- The path is spelled correctly');
19
+ console.error('- You have read permissions for the path');
20
+ console.error('- The file or directory exists');
21
+ console.error('');
22
+ console.error('Examples:');
23
+ console.error(' raglite ingest ./docs/ # Ingest directory');
24
+ console.error(' raglite ingest ./readme.md # Ingest single file');
25
+ process.exit(EXIT_CODES.FILE_NOT_FOUND);
26
+ }
27
+ // Check if it's a file or directory
28
+ let stats;
29
+ try {
30
+ stats = statSync(resolvedPath);
31
+ }
32
+ catch (error) {
33
+ console.error(`Error: Cannot access path: ${path}`);
34
+ console.error('');
35
+ if (error instanceof Error && error.message.includes('EACCES')) {
36
+ console.error('Permission denied. Please check that you have read permissions for this path.');
37
+ process.exit(EXIT_CODES.PERMISSION_ERROR);
38
+ }
39
+ else {
40
+ console.error('The path exists but cannot be accessed. Please check permissions.');
41
+ process.exit(EXIT_CODES.FILE_NOT_FOUND);
42
+ }
43
+ }
44
+ const pathType = stats.isDirectory() ? 'directory' : 'file';
45
+ // Validate file type for single files
46
+ if (stats.isFile()) {
47
+ const validExtensions = ['.md', '.txt'];
48
+ const hasValidExtension = validExtensions.some(ext => path.toLowerCase().endsWith(ext));
49
+ if (!hasValidExtension) {
50
+ console.error(`Error: Unsupported file type: ${path}`);
51
+ console.error('');
52
+ console.error('Supported file types: .md, .txt');
53
+ console.error('');
54
+ console.error('If you want to ingest multiple files, provide a directory path instead.');
55
+ process.exit(EXIT_CODES.INVALID_ARGUMENTS);
56
+ }
57
+ }
58
+ console.log(`Starting ingestion of ${pathType}: ${resolvedPath}`);
59
+ console.log('This may take a while for large document collections...');
60
+ console.log('');
61
+ // Create and run ingestion pipeline
62
+ const configOverrides = {};
63
+ if (options.model) {
64
+ configOverrides.embedding_model = options.model;
65
+ console.log(`Using embedding model: ${options.model}`);
66
+ }
67
+ const pipeline = new IngestionPipeline();
68
+ pipeline.setConfigOverrides(configOverrides);
69
+ // Set path storage strategy if specified
70
+ if (options['path-strategy'] || options['path-base']) {
71
+ const strategy = options['path-strategy'] || 'relative';
72
+ const basePath = options['path-base'] || process.cwd();
73
+ pipeline.setPathStorageStrategy(strategy, basePath);
74
+ console.log(`Using path storage strategy: ${strategy} (base: ${basePath})`);
75
+ }
76
+ try {
77
+ // Handle automatic rebuild if needed
78
+ if (options.rebuildIfNeeded) {
79
+ try {
80
+ await pipeline.initialize();
81
+ }
82
+ catch (error) {
83
+ if (error instanceof Error && error.message.includes('Model mismatch detected')) {
84
+ console.log('⚠️ Model mismatch detected. Rebuilding index automatically...');
85
+ console.log('⚠️ WARNING: This will regenerate ALL embeddings and may take a while.');
86
+ console.log('');
87
+ // Create a new pipeline with the same config overrides for rebuild
88
+ const rebuildPipeline = new IngestionPipeline();
89
+ rebuildPipeline.setConfigOverrides(configOverrides);
90
+ try {
91
+ await rebuildPipeline.initialize();
92
+ await rebuildPipeline.rebuildIndex();
93
+ }
94
+ finally {
95
+ await rebuildPipeline.cleanup();
96
+ }
97
+ console.log('✅ Rebuild completed. Continuing with ingestion...');
98
+ console.log('');
99
+ }
100
+ else {
101
+ throw error;
102
+ }
103
+ }
104
+ }
105
+ const result = await pipeline.ingestPath(resolvedPath);
106
+ // Display final results
107
+ console.log('\n' + '='.repeat(50));
108
+ console.log('INGESTION SUMMARY');
109
+ console.log('='.repeat(50));
110
+ console.log(`Documents processed: ${result.documentsProcessed}`);
111
+ console.log(`Chunks created: ${result.chunksCreated}`);
112
+ console.log(`Embeddings generated: ${result.embeddingsGenerated}`);
113
+ if (result.documentErrors > 0) {
114
+ console.log(`Document errors: ${result.documentErrors}`);
115
+ }
116
+ if (result.embeddingErrors > 0) {
117
+ console.log(`Embedding errors: ${result.embeddingErrors}`);
118
+ }
119
+ console.log(`Total processing time: ${(result.processingTimeMs / 1000).toFixed(2)} seconds`);
120
+ if (result.chunksCreated > 0) {
121
+ const chunksPerSecond = (result.chunksCreated / (result.processingTimeMs / 1000)).toFixed(1);
122
+ console.log(`Processing rate: ${chunksPerSecond} chunks/second`);
123
+ }
124
+ console.log('\nIngestion completed successfully!');
125
+ console.log('You can now search your documents using: raglite search "your query"');
126
+ }
127
+ finally {
128
+ await pipeline.cleanup();
129
+ }
130
+ }
131
+ catch (error) {
132
+ console.error('\n' + '='.repeat(50));
133
+ console.error('INGESTION FAILED');
134
+ console.error('='.repeat(50));
135
+ if (error instanceof ConfigurationError) {
136
+ console.error('Configuration Error:');
137
+ console.error(error.message);
138
+ process.exit(error.exitCode);
139
+ }
140
+ else if (error instanceof Error) {
141
+ console.error('Error:', error.message);
142
+ console.error('');
143
+ // Provide specific help for common error types
144
+ if (error.message.includes('ENOENT')) {
145
+ console.error('File/Directory Not Found:');
146
+ console.error('- Verify the path exists and is accessible');
147
+ console.error('- Check file and directory permissions');
148
+ console.error('- Ensure you have read access to the specified location');
149
+ process.exit(EXIT_CODES.FILE_NOT_FOUND);
150
+ }
151
+ else if (error.message.includes('EACCES') || error.message.includes('permission')) {
152
+ console.error('Permission Denied:');
153
+ console.error('- Check that you have read permissions for the files/directories');
154
+ console.error('- Ensure the database file is not locked by another process');
155
+ console.error('- Try running with appropriate permissions');
156
+ process.exit(EXIT_CODES.PERMISSION_ERROR);
157
+ }
158
+ else if (error.message.includes('SQLITE') || error.message.includes('database')) {
159
+ console.error('Database Error:');
160
+ console.error('- The database file may be corrupted or locked');
161
+ console.error('- Try running: raglite rebuild');
162
+ console.error('- Ensure no other RAG-lite processes are running');
163
+ console.error('- Check available disk space');
164
+ process.exit(EXIT_CODES.DATABASE_ERROR);
165
+ }
166
+ else if (error.message.includes('ONNX') || error.message.includes('model')) {
167
+ console.error('Model Loading Error:');
168
+ console.error('- The embedding model failed to load');
169
+ console.error('- This may happen on first run while downloading the model');
170
+ console.error('- Ensure you have internet connection for initial model download');
171
+ console.error('- Check available disk space in the models directory');
172
+ console.error('- Try running the command again');
173
+ process.exit(EXIT_CODES.MODEL_ERROR);
174
+ }
175
+ else if (error.message.includes('index') || error.message.includes('vector')) {
176
+ console.error('Vector Index Error:');
177
+ console.error('- The vector index may be corrupted');
178
+ console.error('- Try running: raglite rebuild');
179
+ console.error('- Check available disk space');
180
+ process.exit(EXIT_CODES.INDEX_ERROR);
181
+ }
182
+ else {
183
+ console.error('General Error:');
184
+ console.error('- An unexpected error occurred during ingestion');
185
+ console.error('- Check the error message above for more details');
186
+ console.error('- Try running the command again');
187
+ console.error('- If the problem persists, try: raglite rebuild');
188
+ process.exit(EXIT_CODES.GENERAL_ERROR);
189
+ }
190
+ }
191
+ else {
192
+ console.error('Unknown error:', String(error));
193
+ process.exit(EXIT_CODES.GENERAL_ERROR);
194
+ }
195
+ }
196
+ }
197
+ /**
198
+ * Run index rebuild from CLI
199
+ */
200
+ export async function runRebuild() {
201
+ try {
202
+ console.log('Starting index rebuild...');
203
+ console.log('This will regenerate all embeddings and rebuild the vector index.');
204
+ console.log('This may take a while depending on your document collection size.');
205
+ console.log('');
206
+ console.log('Progress will be shown below...');
207
+ console.log('');
208
+ await rebuildIndex();
209
+ console.log('\n' + '='.repeat(50));
210
+ console.log('REBUILD COMPLETE');
211
+ console.log('='.repeat(50));
212
+ console.log('The vector index has been successfully rebuilt.');
213
+ console.log('All embeddings have been regenerated with the current model.');
214
+ console.log('');
215
+ console.log('You can now search your documents using: raglite search "your query"');
216
+ }
217
+ catch (error) {
218
+ console.error('\n' + '='.repeat(50));
219
+ console.error('REBUILD FAILED');
220
+ console.error('='.repeat(50));
221
+ if (error instanceof ConfigurationError) {
222
+ console.error('Configuration Error:');
223
+ console.error(error.message);
224
+ process.exit(error.exitCode);
225
+ }
226
+ else if (error instanceof Error) {
227
+ console.error('Error:', error.message);
228
+ console.error('');
229
+ if (error.message.includes('No documents found') || error.message.includes('empty')) {
230
+ console.error('No Documents Found:');
231
+ console.error('- Make sure you have ingested documents first');
232
+ console.error('- Run: raglite ingest <path>');
233
+ console.error('- Check that your documents are in supported formats (.md, .txt)');
234
+ process.exit(EXIT_CODES.FILE_NOT_FOUND);
235
+ }
236
+ else if (error.message.includes('SQLITE') || error.message.includes('database')) {
237
+ console.error('Database Error:');
238
+ console.error('- The database file may be missing or corrupted');
239
+ console.error('- Try deleting db.sqlite and re-ingesting your documents');
240
+ console.error('- Ensure you have write permissions in the current directory');
241
+ process.exit(EXIT_CODES.DATABASE_ERROR);
242
+ }
243
+ else if (error.message.includes('model') || error.message.includes('ONNX')) {
244
+ console.error('Model Error:');
245
+ console.error('- The embedding model failed to load');
246
+ console.error('- Ensure you have internet connection for model download');
247
+ console.error('- Check available disk space');
248
+ console.error('- Try deleting the models directory and running again');
249
+ process.exit(EXIT_CODES.MODEL_ERROR);
250
+ }
251
+ else if (error.message.includes('index') || error.message.includes('vector')) {
252
+ console.error('Index Error:');
253
+ console.error('- Failed to rebuild the vector index');
254
+ console.error('- Try deleting vector-index.bin and running again');
255
+ console.error('- Check available disk space');
256
+ process.exit(EXIT_CODES.INDEX_ERROR);
257
+ }
258
+ else {
259
+ console.error('General Error:');
260
+ console.error('- An unexpected error occurred during rebuild');
261
+ console.error('- Try deleting db.sqlite and vector-index.bin, then re-ingest');
262
+ console.error('- Check available disk space and permissions');
263
+ process.exit(EXIT_CODES.GENERAL_ERROR);
264
+ }
265
+ }
266
+ else {
267
+ console.error('Unknown error:', String(error));
268
+ process.exit(EXIT_CODES.GENERAL_ERROR);
269
+ }
270
+ }
271
+ }
272
+ //# sourceMappingURL=indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/cli/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Run search from CLI
3
+ * @param query - Search query string
4
+ * @param options - CLI options including top-k and rerank settings
5
+ */
6
+ export declare function runSearch(query: string, options?: Record<string, any>): Promise<void>;
7
+ //# sourceMappingURL=search.d.ts.map