rag-lite-ts 1.0.1 → 1.0.2

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 (182) hide show
  1. package/README.md +94 -65
  2. package/dist/cli/indexer.d.ts.map +1 -1
  3. package/dist/cli/indexer.js +78 -50
  4. package/dist/cli/indexer.js.map +1 -1
  5. package/dist/cli/search.d.ts.map +1 -1
  6. package/dist/cli/search.js +13 -30
  7. package/dist/cli/search.js.map +1 -1
  8. package/dist/cli.js +2 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +34 -73
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +50 -255
  13. package/dist/config.js.map +1 -1
  14. package/dist/core/adapters.d.ts +93 -0
  15. package/dist/core/adapters.d.ts.map +1 -0
  16. package/dist/core/adapters.js +139 -0
  17. package/dist/core/adapters.js.map +1 -0
  18. package/dist/core/chunker.d.ts +117 -0
  19. package/dist/core/chunker.d.ts.map +1 -0
  20. package/dist/core/chunker.js +73 -0
  21. package/dist/core/chunker.js.map +1 -0
  22. package/dist/core/config.d.ts +102 -0
  23. package/dist/core/config.d.ts.map +1 -0
  24. package/dist/core/config.js +240 -0
  25. package/dist/core/config.js.map +1 -0
  26. package/dist/{db.d.ts → core/db.d.ts} +25 -9
  27. package/dist/core/db.d.ts.map +1 -0
  28. package/dist/{db.js → core/db.js} +86 -16
  29. package/dist/core/db.js.map +1 -0
  30. package/dist/{error-handler.d.ts → core/error-handler.d.ts} +23 -2
  31. package/dist/core/error-handler.d.ts.map +1 -0
  32. package/dist/{error-handler.js → core/error-handler.js} +51 -8
  33. package/dist/core/error-handler.js.map +1 -0
  34. package/dist/core/index.d.ts +57 -0
  35. package/dist/core/index.d.ts.map +1 -0
  36. package/dist/core/index.js +66 -0
  37. package/dist/core/index.js.map +1 -0
  38. package/dist/core/ingestion.d.ts +143 -0
  39. package/dist/core/ingestion.d.ts.map +1 -0
  40. package/dist/core/ingestion.js +347 -0
  41. package/dist/core/ingestion.js.map +1 -0
  42. package/dist/core/interfaces.d.ts +408 -0
  43. package/dist/core/interfaces.d.ts.map +1 -0
  44. package/dist/core/interfaces.js +106 -0
  45. package/dist/core/interfaces.js.map +1 -0
  46. package/dist/{path-manager.d.ts → core/path-manager.d.ts} +5 -0
  47. package/dist/core/path-manager.d.ts.map +1 -0
  48. package/dist/{path-manager.js → core/path-manager.js} +5 -0
  49. package/dist/core/path-manager.js.map +1 -0
  50. package/dist/core/search-example.d.ts +25 -0
  51. package/dist/core/search-example.d.ts.map +1 -0
  52. package/dist/core/search-example.js +138 -0
  53. package/dist/core/search-example.js.map +1 -0
  54. package/dist/core/search-pipeline-example.d.ts +21 -0
  55. package/dist/core/search-pipeline-example.d.ts.map +1 -0
  56. package/dist/core/search-pipeline-example.js +188 -0
  57. package/dist/core/search-pipeline-example.js.map +1 -0
  58. package/dist/core/search-pipeline.d.ts +111 -0
  59. package/dist/core/search-pipeline.d.ts.map +1 -0
  60. package/dist/core/search-pipeline.js +287 -0
  61. package/dist/core/search-pipeline.js.map +1 -0
  62. package/dist/core/search.d.ts +104 -0
  63. package/dist/core/search.d.ts.map +1 -0
  64. package/dist/core/search.js +218 -0
  65. package/dist/core/search.js.map +1 -0
  66. package/dist/core/types.d.ts +63 -0
  67. package/dist/core/types.d.ts.map +1 -0
  68. package/dist/core/types.js +6 -0
  69. package/dist/core/types.js.map +1 -0
  70. package/dist/{vector-index.d.ts → core/vector-index.d.ts} +4 -0
  71. package/dist/core/vector-index.d.ts.map +1 -0
  72. package/dist/{vector-index.js → core/vector-index.js} +19 -0
  73. package/dist/core/vector-index.js.map +1 -0
  74. package/dist/dom-polyfills.d.ts +6 -0
  75. package/dist/dom-polyfills.d.ts.map +1 -0
  76. package/dist/dom-polyfills.js +40 -0
  77. package/dist/dom-polyfills.js.map +1 -0
  78. package/dist/examples/clean-api-examples.d.ts +44 -0
  79. package/dist/examples/clean-api-examples.d.ts.map +1 -0
  80. package/dist/examples/clean-api-examples.js +206 -0
  81. package/dist/examples/clean-api-examples.js.map +1 -0
  82. package/dist/factories/index.d.ts +43 -0
  83. package/dist/factories/index.d.ts.map +1 -0
  84. package/dist/factories/index.js +44 -0
  85. package/dist/factories/index.js.map +1 -0
  86. package/dist/factories/text-factory.d.ts +466 -0
  87. package/dist/factories/text-factory.d.ts.map +1 -0
  88. package/dist/factories/text-factory.js +719 -0
  89. package/dist/factories/text-factory.js.map +1 -0
  90. package/dist/file-processor.d.ts +2 -2
  91. package/dist/file-processor.d.ts.map +1 -1
  92. package/dist/file-processor.js +3 -3
  93. package/dist/file-processor.js.map +1 -1
  94. package/dist/index-manager.d.ts +3 -2
  95. package/dist/index-manager.d.ts.map +1 -1
  96. package/dist/index-manager.js +13 -11
  97. package/dist/index-manager.js.map +1 -1
  98. package/dist/index.d.ts +63 -8
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +91 -16
  101. package/dist/index.js.map +1 -1
  102. package/dist/indexer.js +1 -1
  103. package/dist/indexer.js.map +1 -1
  104. package/dist/ingestion.d.ts +30 -156
  105. package/dist/ingestion.d.ts.map +1 -1
  106. package/dist/ingestion.js +58 -675
  107. package/dist/ingestion.js.map +1 -1
  108. package/dist/mcp-server.js +86 -55
  109. package/dist/mcp-server.js.map +1 -1
  110. package/dist/preprocess.js +1 -1
  111. package/dist/preprocess.js.map +1 -1
  112. package/dist/search-standalone.js +1 -1
  113. package/dist/search-standalone.js.map +1 -1
  114. package/dist/search.d.ts +32 -76
  115. package/dist/search.d.ts.map +1 -1
  116. package/dist/search.js +80 -428
  117. package/dist/search.js.map +1 -1
  118. package/dist/text/chunker.d.ts +32 -0
  119. package/dist/text/chunker.d.ts.map +1 -0
  120. package/dist/{chunker.js → text/chunker.js} +98 -75
  121. package/dist/text/chunker.js.map +1 -0
  122. package/dist/{embedder.d.ts → text/embedder.d.ts} +22 -1
  123. package/dist/text/embedder.d.ts.map +1 -0
  124. package/dist/{embedder.js → text/embedder.js} +71 -4
  125. package/dist/text/embedder.js.map +1 -0
  126. package/dist/text/index.d.ts +7 -0
  127. package/dist/text/index.d.ts.map +1 -0
  128. package/dist/text/index.js +8 -0
  129. package/dist/text/index.js.map +1 -0
  130. package/dist/text/preprocessors/index.d.ts +17 -0
  131. package/dist/text/preprocessors/index.d.ts.map +1 -0
  132. package/dist/text/preprocessors/index.js +38 -0
  133. package/dist/text/preprocessors/index.js.map +1 -0
  134. package/dist/text/preprocessors/mdx.d.ts +25 -0
  135. package/dist/text/preprocessors/mdx.d.ts.map +1 -0
  136. package/dist/text/preprocessors/mdx.js +101 -0
  137. package/dist/text/preprocessors/mdx.js.map +1 -0
  138. package/dist/text/preprocessors/mermaid.d.ts +68 -0
  139. package/dist/text/preprocessors/mermaid.d.ts.map +1 -0
  140. package/dist/text/preprocessors/mermaid.js +330 -0
  141. package/dist/text/preprocessors/mermaid.js.map +1 -0
  142. package/dist/text/preprocessors/registry.d.ts +56 -0
  143. package/dist/text/preprocessors/registry.d.ts.map +1 -0
  144. package/dist/text/preprocessors/registry.js +180 -0
  145. package/dist/text/preprocessors/registry.js.map +1 -0
  146. package/dist/text/reranker.d.ts +60 -0
  147. package/dist/text/reranker.d.ts.map +1 -0
  148. package/dist/{reranker.js → text/reranker.js} +134 -19
  149. package/dist/text/reranker.js.map +1 -0
  150. package/dist/{tokenizer.d.ts → text/tokenizer.d.ts} +1 -0
  151. package/dist/text/tokenizer.d.ts.map +1 -0
  152. package/dist/{tokenizer.js → text/tokenizer.js} +7 -2
  153. package/dist/text/tokenizer.js.map +1 -0
  154. package/dist/types.d.ts +1 -1
  155. package/dist/types.d.ts.map +1 -1
  156. package/package.json +2 -2
  157. package/dist/chunker.d.ts +0 -47
  158. package/dist/chunker.d.ts.map +0 -1
  159. package/dist/chunker.js.map +0 -1
  160. package/dist/db.d.ts.map +0 -1
  161. package/dist/db.js.map +0 -1
  162. package/dist/embedder.d.ts.map +0 -1
  163. package/dist/embedder.js.map +0 -1
  164. package/dist/error-handler.d.ts.map +0 -1
  165. package/dist/error-handler.js.map +0 -1
  166. package/dist/path-manager.d.ts.map +0 -1
  167. package/dist/path-manager.js.map +0 -1
  168. package/dist/reranker.d.ts +0 -40
  169. package/dist/reranker.d.ts.map +0 -1
  170. package/dist/reranker.js.map +0 -1
  171. package/dist/resource-manager-demo.d.ts +0 -7
  172. package/dist/resource-manager-demo.d.ts.map +0 -1
  173. package/dist/resource-manager-demo.js +0 -52
  174. package/dist/resource-manager-demo.js.map +0 -1
  175. package/dist/resource-manager.d.ts +0 -129
  176. package/dist/resource-manager.d.ts.map +0 -1
  177. package/dist/resource-manager.js +0 -389
  178. package/dist/resource-manager.js.map +0 -1
  179. package/dist/tokenizer.d.ts.map +0 -1
  180. package/dist/tokenizer.js.map +0 -1
  181. package/dist/vector-index.d.ts.map +0 -1
  182. package/dist/vector-index.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ /**
2
+ * CORE MODULE — Shared between text-only (rag-lite-ts) and future multimodal (rag-lite-mm)
3
+ * Model-agnostic. No transformer or modality-specific logic.
4
+ */
5
+ export interface ContentDocument {
6
+ source: string;
7
+ title: string;
8
+ content: string;
9
+ contentType: string;
10
+ metadata?: Record<string, any>;
11
+ }
12
+ export interface ContentChunk {
13
+ text: string;
14
+ chunkIndex: number;
15
+ contentType: string;
16
+ metadata?: Record<string, any>;
17
+ }
18
+ export interface EmbeddingResult {
19
+ embedding_id: string;
20
+ vector: Float32Array;
21
+ contentType?: string;
22
+ }
23
+ export type EmbedFunction = (query: string, contentType?: string) => Promise<EmbeddingResult>;
24
+ export interface SearchResult {
25
+ content: string;
26
+ score: number;
27
+ contentType: string;
28
+ document: {
29
+ id: number;
30
+ source: string;
31
+ title: string;
32
+ contentType: string;
33
+ };
34
+ metadata?: Record<string, any>;
35
+ }
36
+ export type RerankFunction = (query: string, results: SearchResult[], contentType?: string) => Promise<SearchResult[]>;
37
+ export interface EmbeddingQueryInterface {
38
+ embedQuery: EmbedFunction;
39
+ supportedContentTypes: string[];
40
+ embeddingDimensions: number;
41
+ }
42
+ export interface RerankingInterface {
43
+ rerankResults: RerankFunction;
44
+ supportedContentTypes: string[];
45
+ isEnabled: boolean;
46
+ }
47
+ export interface SearchOptions {
48
+ top_k?: number;
49
+ rerank?: boolean;
50
+ contentType?: string;
51
+ }
52
+ export interface Chunk {
53
+ text: string;
54
+ chunk_index: number;
55
+ }
56
+ export interface Document {
57
+ source: string;
58
+ title: string;
59
+ content: string;
60
+ }
61
+ export type { DatabaseConnection } from './db.js';
62
+ export type { ContentChunk as ChunkResult } from './db.js';
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAGD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAG9F,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAGD,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,aAAa,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,cAAc,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CORE MODULE — Shared between text-only (rag-lite-ts) and future multimodal (rag-lite-mm)
3
+ * Model-agnostic. No transformer or modality-specific logic.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * CORE MODULE — Shared between text-only (rag-lite-ts) and future multimodal (rag-lite-mm)
3
+ * Model-agnostic. No transformer or modality-specific logic.
4
+ */
1
5
  export interface VectorIndexOptions {
2
6
  dimensions: number;
3
7
  maxElements: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-index.d.ts","sourceRoot":"","sources":["../../src/core/vector-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA0BD,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAwC;gBAEjD,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;IAU1D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2GhC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BhC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAmB1D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI;IAMtE;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,GAAE,MAAU,GAAG,YAAY;IAwB9D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAkBvB;;OAEG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;CAiB1C"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * CORE MODULE — Shared between text-only (rag-lite-ts) and future multimodal (rag-lite-mm)
3
+ * Model-agnostic. No transformer or modality-specific logic.
4
+ */
1
5
  import { readFileSync, writeFileSync, existsSync } from 'fs';
2
6
  import { JSDOM } from 'jsdom';
3
7
  import { ErrorCategory, ErrorSeverity, safeExecute } from './error-handler.js';
@@ -149,6 +153,21 @@ export class VectorIndex {
149
153
  // Load from JSON format since IDBFS doesn't work in Node.js
150
154
  const data = readFileSync(this.indexPath, 'utf-8');
151
155
  const stored = JSON.parse(data);
156
+ // Check dimension compatibility and log details
157
+ if (stored.dimensions && stored.dimensions !== this.options.dimensions) {
158
+ console.log(`⚠️ Dimension mismatch detected:`);
159
+ console.log(` Stored dimensions: ${stored.dimensions}`);
160
+ console.log(` Expected dimensions: ${this.options.dimensions}`);
161
+ console.log(` Number of vectors: ${stored.vectors?.length || 0}`);
162
+ if (stored.vectors && stored.vectors.length > 0) {
163
+ console.log(` Actual vector length: ${stored.vectors[0].vector.length}`);
164
+ }
165
+ throw new Error(`Vector dimension mismatch!\n` +
166
+ `Index was created with ${stored.dimensions} dimensions\n` +
167
+ `Current model expects ${this.options.dimensions} dimensions\n` +
168
+ `This indicates the embedding model has changed.\n` +
169
+ `Please rebuild the index with the current model.`);
170
+ }
152
171
  // Update options from stored data
153
172
  this.options.maxElements = stored.maxElements || this.options.maxElements;
154
173
  this.options.M = stored.M || this.options.M;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-index.js","sourceRoot":"","sources":["../../src/core/vector-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * DOM polyfills for Node.js environment
3
+ * Required for transformers.js and other browser-dependent libraries
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=dom-polyfills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-polyfills.d.ts","sourceRoot":"","sources":["../src/dom-polyfills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH,OAAO,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * DOM polyfills for Node.js environment
3
+ * Required for transformers.js and other browser-dependent libraries
4
+ */
5
+ import { JSDOM } from 'jsdom';
6
+ // Only set up polyfills if we're in Node.js (not browser)
7
+ if (typeof window === 'undefined') {
8
+ console.log('Setting up DOM polyfills for Node.js environment...');
9
+ // Create a minimal DOM environment
10
+ const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>', {
11
+ pretendToBeVisual: true,
12
+ resources: 'usable'
13
+ });
14
+ // Set up global objects that transformers.js expects
15
+ if (typeof globalThis.self === 'undefined') {
16
+ globalThis.self = globalThis;
17
+ }
18
+ // Also set on global for older Node.js versions
19
+ if (typeof global.self === 'undefined') {
20
+ global.self = global;
21
+ }
22
+ console.log('DOM polyfills set up successfully. self is now:', typeof self !== 'undefined' ? 'defined' : 'undefined');
23
+ if (typeof globalThis.window === 'undefined') {
24
+ globalThis.window = dom.window;
25
+ }
26
+ if (typeof globalThis.document === 'undefined') {
27
+ globalThis.document = dom.window.document;
28
+ }
29
+ // Additional polyfills that might be needed
30
+ if (typeof globalThis.navigator === 'undefined') {
31
+ globalThis.navigator = dom.window.navigator;
32
+ }
33
+ // Polyfill createImageBitmap if needed (for image processing)
34
+ if (typeof globalThis.createImageBitmap === 'undefined') {
35
+ globalThis.createImageBitmap = dom.window.createImageBitmap || (() => {
36
+ throw new Error('createImageBitmap not available in Node.js environment');
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=dom-polyfills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-polyfills.js","sourceRoot":"","sources":["../src/dom-polyfills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,0DAA0D;AAC1D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,mCAAmC;IACnC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,2CAA2C,EAAE;QACjE,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnD,UAAkB,CAAC,IAAI,GAAG,UAAU,CAAC;IACxC,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAQ,MAAc,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/C,MAAc,CAAC,IAAI,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAEtH,IAAI,OAAQ,UAAkB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACrD,UAAkB,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,IAAI,OAAQ,UAAkB,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvD,UAAkB,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAQ,UAAkB,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACxD,UAAkB,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAQ,UAAkB,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;QAChE,UAAkB,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE;YAC5E,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Examples demonstrating the simple API in rag-lite-ts
3
+ *
4
+ * This file shows the recommended usage patterns with simple constructors and smart initialization.
5
+ */
6
+ /**
7
+ * Example 1: Simple Constructor Usage (Recommended)
8
+ *
9
+ * This is the easiest way to get started with rag-lite-ts.
10
+ * Clean, simple API with powerful architecture underneath.
11
+ */
12
+ declare function simpleConstructorExample(): Promise<void>;
13
+ /**
14
+ * Example 2: Configuration Options
15
+ *
16
+ * Shows how to customize behavior using configuration options.
17
+ */
18
+ declare function configurationExample(): Promise<void>;
19
+ /**
20
+ * Example 3: Custom Functions (Advanced)
21
+ *
22
+ * Shows how to provide custom embedding and reranking functions.
23
+ */
24
+ declare function customFunctionsExample(): Promise<void>;
25
+ /**
26
+ * Example 4: Factory Functions (Advanced/Batch Operations)
27
+ *
28
+ * Shows when to use factory functions for complex scenarios.
29
+ */
30
+ declare function factoryFunctionsExample(): Promise<void>;
31
+ /**
32
+ * Example 5: Error Handling and Fallback Patterns
33
+ *
34
+ * Shows how to handle errors gracefully with the new API.
35
+ */
36
+ declare function errorHandlingExample(): Promise<void>;
37
+ /**
38
+ * Example 6: Configuration Recommendations
39
+ *
40
+ * Shows how to use the helper functions to get recommended configurations.
41
+ */
42
+ declare function configurationRecommendationsExample(): Promise<void>;
43
+ export { simpleConstructorExample, configurationExample, customFunctionsExample, factoryFunctionsExample, errorHandlingExample, configurationRecommendationsExample };
44
+ //# sourceMappingURL=clean-api-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-api-examples.d.ts","sourceRoot":"","sources":["../../src/examples/clean-api-examples.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiCH;;;;;GAKG;AACH,iBAAe,wBAAwB,kBAkBtC;AAED;;;;GAIG;AACH,iBAAe,oBAAoB,kBAkClC;AAED;;;;GAIG;AACH,iBAAe,sBAAsB,kBAgCpC;AAED;;;;GAIG;AACH,iBAAe,uBAAuB,kBAyCrC;AAED;;;;GAIG;AACH,iBAAe,oBAAoB,kBAsBlC;AAED;;;;GAIG;AACH,iBAAe,mCAAmC,kBAiCjD;AA8BD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,mCAAmC,EACpC,CAAC"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Examples demonstrating the simple API in rag-lite-ts
3
+ *
4
+ * This file shows the recommended usage patterns with simple constructors and smart initialization.
5
+ */
6
+ import {
7
+ // Factory functions (recommended for most users)
8
+ TextSearchFactory, TextIngestionFactory, TextRAGFactory, TextFactoryHelpers,
9
+ // Core classes for direct dependency injection
10
+ CoreSearchEngine, CoreIngestionPipeline,
11
+ // Text implementations for custom dependency injection
12
+ createTextEmbedFunction, createTextRerankFunction,
13
+ // Core infrastructure
14
+ IndexManager, openDatabase } from '../index.js';
15
+ /**
16
+ * Example 1: Simple Constructor Usage (Recommended)
17
+ *
18
+ * This is the easiest way to get started with rag-lite-ts.
19
+ * Clean, simple API with powerful architecture underneath.
20
+ */
21
+ async function simpleConstructorExample() {
22
+ console.log('=== Simple Constructor Example ===');
23
+ try {
24
+ // Simple ingestion using factory - just works!
25
+ const ingestion = await TextIngestionFactory.create('./example-db.sqlite', './example-index.bin');
26
+ await ingestion.ingestDirectory('./documents');
27
+ await ingestion.cleanup();
28
+ // Simple search using factory - just works!
29
+ const search = await TextSearchFactory.create('./example-index.bin', './example-db.sqlite');
30
+ const results = await search.search('What is machine learning?');
31
+ console.log(`Found ${results.length} results`);
32
+ await search.cleanup();
33
+ }
34
+ catch (error) {
35
+ console.error('Simple constructor example failed:', error);
36
+ }
37
+ }
38
+ /**
39
+ * Example 2: Configuration Options
40
+ *
41
+ * Shows how to customize behavior using configuration options.
42
+ */
43
+ async function configurationExample() {
44
+ console.log('=== Configuration Example ===');
45
+ try {
46
+ // Custom ingestion options
47
+ const ingestionOptions = {
48
+ embeddingModel: 'Xenova/all-mpnet-base-v2', // Use different model
49
+ chunkSize: 2048, // Larger chunks
50
+ chunkOverlap: 200, // More overlap
51
+ batchSize: 8 // Smaller batches for quality
52
+ };
53
+ // Custom search options
54
+ const searchOptions = {
55
+ embeddingModel: 'Xenova/all-mpnet-base-v2', // Match ingestion model
56
+ enableReranking: true, // Enable reranking
57
+ rerankingModel: 'Xenova/ms-marco-MiniLM-L-6-v2',
58
+ topK: 20 // Return more results
59
+ };
60
+ // Use factories with configuration
61
+ const ingestion = await TextIngestionFactory.create('./custom-db.sqlite', './custom-index.bin', ingestionOptions);
62
+ await ingestion.ingestDirectory('./documents');
63
+ await ingestion.cleanup();
64
+ const search = await TextSearchFactory.create('./custom-index.bin', './custom-db.sqlite', searchOptions);
65
+ const results = await search.search('advanced machine learning techniques');
66
+ console.log(`Custom search found ${results.length} results with reranking`);
67
+ await search.cleanup();
68
+ }
69
+ catch (error) {
70
+ console.error('Configuration example failed:', error);
71
+ }
72
+ }
73
+ /**
74
+ * Example 3: Custom Functions (Advanced)
75
+ *
76
+ * Shows how to provide custom embedding and reranking functions.
77
+ */
78
+ async function customFunctionsExample() {
79
+ console.log('=== Custom Functions Example ===');
80
+ try {
81
+ // Create custom embedding function
82
+ const customEmbedFn = createTextEmbedFunction('sentence-transformers/all-MiniLM-L6-v2', 16 // batch size
83
+ );
84
+ // Create custom reranking function
85
+ const customRerankFn = createTextRerankFunction('Xenova/ms-marco-MiniLM-L-6-v2');
86
+ // Use direct dependency injection with custom functions
87
+ const indexManager = new IndexManager('./custom-fn-index.bin', './custom-fn-db.sqlite', 384);
88
+ const db = await openDatabase('./custom-fn-db.sqlite');
89
+ const ingestion = new CoreIngestionPipeline(customEmbedFn, indexManager, db);
90
+ await ingestion.ingestDirectory('./documents');
91
+ await ingestion.cleanup();
92
+ const search = new CoreSearchEngine(customEmbedFn, indexManager, db, customRerankFn);
93
+ const results = await search.search('custom function patterns');
94
+ console.log(`Custom functions search found ${results.length} results`);
95
+ await search.cleanup();
96
+ }
97
+ catch (error) {
98
+ console.error('Custom functions example failed:', error);
99
+ }
100
+ }
101
+ /**
102
+ * Example 4: Factory Functions (Advanced/Batch Operations)
103
+ *
104
+ * Shows when to use factory functions for complex scenarios.
105
+ */
106
+ async function factoryFunctionsExample() {
107
+ console.log('=== Factory Functions Example ===');
108
+ try {
109
+ // Factory functions are useful for:
110
+ // 1. Batch operations
111
+ // 2. Complex initialization scenarios
112
+ // 3. When you need the removed automatic initialization logic
113
+ const factorySearchOptions = {
114
+ embeddingModel: 'Xenova/all-mpnet-base-v2',
115
+ enableReranking: true,
116
+ topK: 20
117
+ };
118
+ const factoryIngestionOptions = {
119
+ embeddingModel: 'Xenova/all-mpnet-base-v2',
120
+ chunkSize: 2048,
121
+ forceRebuild: true
122
+ };
123
+ // Create both instances with factory (handles complex initialization)
124
+ const { searchEngine, ingestionPipeline } = await TextRAGFactory.createBoth('./factory-index.bin', './factory-db.sqlite', factorySearchOptions, factoryIngestionOptions);
125
+ await ingestionPipeline.ingestDirectory('./documents');
126
+ const results = await searchEngine.search('factory pattern usage');
127
+ console.log(`Factory functions search found ${results.length} results`);
128
+ // Clean up
129
+ await searchEngine.cleanup();
130
+ await ingestionPipeline.cleanup();
131
+ }
132
+ catch (error) {
133
+ console.error('Factory functions example failed:', error);
134
+ }
135
+ }
136
+ /**
137
+ * Example 5: Error Handling and Fallback Patterns
138
+ *
139
+ * Shows how to handle errors gracefully with the new API.
140
+ */
141
+ async function errorHandlingExample() {
142
+ console.log('=== Error Handling Example ===');
143
+ try {
144
+ // Use the helper function that provides fallback behavior
145
+ const searchEngine = await TextFactoryHelpers.createSearchWithFallback('./fallback-index.bin', './fallback-db.sqlite', {
146
+ embeddingModel: 'sentence-transformers/all-MiniLM-L6-v2',
147
+ enableReranking: true // This might fail, but fallback will disable it
148
+ });
149
+ const results = await searchEngine.search('error handling patterns');
150
+ console.log(`Fallback search found ${results.length} results`);
151
+ await searchEngine.cleanup();
152
+ }
153
+ catch (error) {
154
+ console.error('Even fallback failed:', error);
155
+ }
156
+ }
157
+ /**
158
+ * Example 6: Configuration Recommendations
159
+ *
160
+ * Shows how to use the helper functions to get recommended configurations.
161
+ */
162
+ async function configurationRecommendationsExample() {
163
+ console.log('=== Configuration Recommendations Example ===');
164
+ try {
165
+ // Get recommended configurations for different use cases
166
+ const fastConfig = TextFactoryHelpers.getRecommendedConfig('fast');
167
+ const balancedConfig = TextFactoryHelpers.getRecommendedConfig('balanced');
168
+ const qualityConfig = TextFactoryHelpers.getRecommendedConfig('quality');
169
+ console.log('Fast config:', fastConfig);
170
+ console.log('Balanced config:', balancedConfig);
171
+ console.log('Quality config:', qualityConfig);
172
+ // Use the balanced configuration
173
+ const { searchEngine, ingestionPipeline } = await TextRAGFactory.createBoth('./recommended-index.bin', './recommended-db.sqlite', balancedConfig.searchOptions, balancedConfig.ingestionOptions);
174
+ await ingestionPipeline.ingestDirectory('./documents');
175
+ const results = await searchEngine.search('configuration recommendations');
176
+ console.log(`Recommended config search found ${results.length} results`);
177
+ // Clean up
178
+ await searchEngine.cleanup();
179
+ await ingestionPipeline.cleanup();
180
+ }
181
+ catch (error) {
182
+ console.error('Configuration recommendations example failed:', error);
183
+ }
184
+ }
185
+ /**
186
+ * Run all examples
187
+ */
188
+ async function runAllExamples() {
189
+ console.log('🚀 Running all simple API examples...\n');
190
+ await simpleConstructorExample();
191
+ console.log();
192
+ await configurationExample();
193
+ console.log();
194
+ await customFunctionsExample();
195
+ console.log();
196
+ await factoryFunctionsExample();
197
+ console.log();
198
+ await errorHandlingExample();
199
+ console.log();
200
+ await configurationRecommendationsExample();
201
+ console.log();
202
+ console.log('✅ All examples completed!');
203
+ }
204
+ // Export individual examples for selective testing
205
+ export { simpleConstructorExample, configurationExample, customFunctionsExample, factoryFunctionsExample, errorHandlingExample, configurationRecommendationsExample };
206
+ //# sourceMappingURL=clean-api-examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-api-examples.js","sourceRoot":"","sources":["../../src/examples/clean-api-examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Factory exports for creating text-specific RAG instances
3
+ * Provides convenient factory functions for common use cases
4
+ *
5
+ * This module serves as the main entry point for factory functions that
6
+ * simplify the creation of text-based search and ingestion systems.
7
+ * The factories handle complex initialization while providing clean APIs.
8
+ *
9
+ * MAIN FACTORY CLASSES:
10
+ * - TextSearchFactory: Creates SearchEngine instances for text search
11
+ * - TextIngestionFactory: Creates IngestionPipeline instances for text ingestion
12
+ * - TextRAGFactory: Creates both search and ingestion instances together
13
+ * - TextFactoryHelpers: Utility functions for validation and error recovery
14
+ *
15
+ * CONVENIENCE ALIASES:
16
+ * - SearchFactory: Alias for TextSearchFactory
17
+ * - IngestionFactory: Alias for TextIngestionFactory
18
+ * - RAGFactory: Alias for TextRAGFactory
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { TextSearchFactory, TextIngestionFactory } from './factories';
23
+ *
24
+ * // Create search engine
25
+ * const search = await TextSearchFactory.create('./index.bin', './db.sqlite');
26
+ *
27
+ * // Create ingestion pipeline
28
+ * const ingestion = await TextIngestionFactory.create('./db.sqlite', './index.bin');
29
+ *
30
+ * // Or create both together
31
+ * import { TextRAGFactory } from './factories';
32
+ * const { searchEngine, ingestionPipeline } = await TextRAGFactory.createBoth(
33
+ * './index.bin',
34
+ * './db.sqlite'
35
+ * );
36
+ * ```
37
+ */
38
+ export { TextSearchFactory, TextIngestionFactory, TextRAGFactory, TextFactoryHelpers } from './text-factory.js';
39
+ export type { TextSearchOptions, TextIngestionOptions } from './text-factory.js';
40
+ export { TextSearchFactory as SearchFactory } from './text-factory.js';
41
+ export { TextIngestionFactory as IngestionFactory } from './text-factory.js';
42
+ export { TextRAGFactory as RAGFactory } from './text-factory.js';
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Factory exports for creating text-specific RAG instances
3
+ * Provides convenient factory functions for common use cases
4
+ *
5
+ * This module serves as the main entry point for factory functions that
6
+ * simplify the creation of text-based search and ingestion systems.
7
+ * The factories handle complex initialization while providing clean APIs.
8
+ *
9
+ * MAIN FACTORY CLASSES:
10
+ * - TextSearchFactory: Creates SearchEngine instances for text search
11
+ * - TextIngestionFactory: Creates IngestionPipeline instances for text ingestion
12
+ * - TextRAGFactory: Creates both search and ingestion instances together
13
+ * - TextFactoryHelpers: Utility functions for validation and error recovery
14
+ *
15
+ * CONVENIENCE ALIASES:
16
+ * - SearchFactory: Alias for TextSearchFactory
17
+ * - IngestionFactory: Alias for TextIngestionFactory
18
+ * - RAGFactory: Alias for TextRAGFactory
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { TextSearchFactory, TextIngestionFactory } from './factories';
23
+ *
24
+ * // Create search engine
25
+ * const search = await TextSearchFactory.create('./index.bin', './db.sqlite');
26
+ *
27
+ * // Create ingestion pipeline
28
+ * const ingestion = await TextIngestionFactory.create('./db.sqlite', './index.bin');
29
+ *
30
+ * // Or create both together
31
+ * import { TextRAGFactory } from './factories';
32
+ * const { searchEngine, ingestionPipeline } = await TextRAGFactory.createBoth(
33
+ * './index.bin',
34
+ * './db.sqlite'
35
+ * );
36
+ * ```
37
+ */
38
+ // Main factory classes
39
+ export { TextSearchFactory, TextIngestionFactory, TextRAGFactory, TextFactoryHelpers } from './text-factory.js';
40
+ // Convenience re-exports for common patterns
41
+ export { TextSearchFactory as SearchFactory } from './text-factory.js';
42
+ export { TextIngestionFactory as IngestionFactory } from './text-factory.js';
43
+ export { TextRAGFactory as RAGFactory } from './text-factory.js';
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAQ3B,6CAA6C;AAC7C,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC"}