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.
- package/README.md +94 -65
- package/dist/cli/indexer.d.ts.map +1 -1
- package/dist/cli/indexer.js +78 -50
- package/dist/cli/indexer.js.map +1 -1
- package/dist/cli/search.d.ts.map +1 -1
- package/dist/cli/search.js +13 -30
- package/dist/cli/search.js.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +34 -73
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +50 -255
- package/dist/config.js.map +1 -1
- package/dist/core/adapters.d.ts +93 -0
- package/dist/core/adapters.d.ts.map +1 -0
- package/dist/core/adapters.js +139 -0
- package/dist/core/adapters.js.map +1 -0
- package/dist/core/chunker.d.ts +117 -0
- package/dist/core/chunker.d.ts.map +1 -0
- package/dist/core/chunker.js +73 -0
- package/dist/core/chunker.js.map +1 -0
- package/dist/core/config.d.ts +102 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +240 -0
- package/dist/core/config.js.map +1 -0
- package/dist/{db.d.ts → core/db.d.ts} +25 -9
- package/dist/core/db.d.ts.map +1 -0
- package/dist/{db.js → core/db.js} +86 -16
- package/dist/core/db.js.map +1 -0
- package/dist/{error-handler.d.ts → core/error-handler.d.ts} +23 -2
- package/dist/core/error-handler.d.ts.map +1 -0
- package/dist/{error-handler.js → core/error-handler.js} +51 -8
- package/dist/core/error-handler.js.map +1 -0
- package/dist/core/index.d.ts +57 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +66 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/ingestion.d.ts +143 -0
- package/dist/core/ingestion.d.ts.map +1 -0
- package/dist/core/ingestion.js +347 -0
- package/dist/core/ingestion.js.map +1 -0
- package/dist/core/interfaces.d.ts +408 -0
- package/dist/core/interfaces.d.ts.map +1 -0
- package/dist/core/interfaces.js +106 -0
- package/dist/core/interfaces.js.map +1 -0
- package/dist/{path-manager.d.ts → core/path-manager.d.ts} +5 -0
- package/dist/core/path-manager.d.ts.map +1 -0
- package/dist/{path-manager.js → core/path-manager.js} +5 -0
- package/dist/core/path-manager.js.map +1 -0
- package/dist/core/search-example.d.ts +25 -0
- package/dist/core/search-example.d.ts.map +1 -0
- package/dist/core/search-example.js +138 -0
- package/dist/core/search-example.js.map +1 -0
- package/dist/core/search-pipeline-example.d.ts +21 -0
- package/dist/core/search-pipeline-example.d.ts.map +1 -0
- package/dist/core/search-pipeline-example.js +188 -0
- package/dist/core/search-pipeline-example.js.map +1 -0
- package/dist/core/search-pipeline.d.ts +111 -0
- package/dist/core/search-pipeline.d.ts.map +1 -0
- package/dist/core/search-pipeline.js +287 -0
- package/dist/core/search-pipeline.js.map +1 -0
- package/dist/core/search.d.ts +104 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/search.js +218 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/types.d.ts +63 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/{vector-index.d.ts → core/vector-index.d.ts} +4 -0
- package/dist/core/vector-index.d.ts.map +1 -0
- package/dist/{vector-index.js → core/vector-index.js} +19 -0
- package/dist/core/vector-index.js.map +1 -0
- package/dist/dom-polyfills.d.ts +6 -0
- package/dist/dom-polyfills.d.ts.map +1 -0
- package/dist/dom-polyfills.js +40 -0
- package/dist/dom-polyfills.js.map +1 -0
- package/dist/examples/clean-api-examples.d.ts +44 -0
- package/dist/examples/clean-api-examples.d.ts.map +1 -0
- package/dist/examples/clean-api-examples.js +206 -0
- package/dist/examples/clean-api-examples.js.map +1 -0
- package/dist/factories/index.d.ts +43 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +44 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/factories/text-factory.d.ts +466 -0
- package/dist/factories/text-factory.d.ts.map +1 -0
- package/dist/factories/text-factory.js +719 -0
- package/dist/factories/text-factory.js.map +1 -0
- package/dist/file-processor.d.ts +2 -2
- package/dist/file-processor.d.ts.map +1 -1
- package/dist/file-processor.js +3 -3
- package/dist/file-processor.js.map +1 -1
- package/dist/index-manager.d.ts +3 -2
- package/dist/index-manager.d.ts.map +1 -1
- package/dist/index-manager.js +13 -11
- package/dist/index-manager.js.map +1 -1
- package/dist/index.d.ts +63 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -16
- package/dist/index.js.map +1 -1
- package/dist/indexer.js +1 -1
- package/dist/indexer.js.map +1 -1
- package/dist/ingestion.d.ts +30 -156
- package/dist/ingestion.d.ts.map +1 -1
- package/dist/ingestion.js +58 -675
- package/dist/ingestion.js.map +1 -1
- package/dist/mcp-server.js +86 -55
- package/dist/mcp-server.js.map +1 -1
- package/dist/preprocess.js +1 -1
- package/dist/preprocess.js.map +1 -1
- package/dist/search-standalone.js +1 -1
- package/dist/search-standalone.js.map +1 -1
- package/dist/search.d.ts +32 -76
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +80 -428
- package/dist/search.js.map +1 -1
- package/dist/text/chunker.d.ts +32 -0
- package/dist/text/chunker.d.ts.map +1 -0
- package/dist/{chunker.js → text/chunker.js} +98 -75
- package/dist/text/chunker.js.map +1 -0
- package/dist/{embedder.d.ts → text/embedder.d.ts} +22 -1
- package/dist/text/embedder.d.ts.map +1 -0
- package/dist/{embedder.js → text/embedder.js} +71 -4
- package/dist/text/embedder.js.map +1 -0
- package/dist/text/index.d.ts +7 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +8 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/preprocessors/index.d.ts +17 -0
- package/dist/text/preprocessors/index.d.ts.map +1 -0
- package/dist/text/preprocessors/index.js +38 -0
- package/dist/text/preprocessors/index.js.map +1 -0
- package/dist/text/preprocessors/mdx.d.ts +25 -0
- package/dist/text/preprocessors/mdx.d.ts.map +1 -0
- package/dist/text/preprocessors/mdx.js +101 -0
- package/dist/text/preprocessors/mdx.js.map +1 -0
- package/dist/text/preprocessors/mermaid.d.ts +68 -0
- package/dist/text/preprocessors/mermaid.d.ts.map +1 -0
- package/dist/text/preprocessors/mermaid.js +330 -0
- package/dist/text/preprocessors/mermaid.js.map +1 -0
- package/dist/text/preprocessors/registry.d.ts +56 -0
- package/dist/text/preprocessors/registry.d.ts.map +1 -0
- package/dist/text/preprocessors/registry.js +180 -0
- package/dist/text/preprocessors/registry.js.map +1 -0
- package/dist/text/reranker.d.ts +60 -0
- package/dist/text/reranker.d.ts.map +1 -0
- package/dist/{reranker.js → text/reranker.js} +134 -19
- package/dist/text/reranker.js.map +1 -0
- package/dist/{tokenizer.d.ts → text/tokenizer.d.ts} +1 -0
- package/dist/text/tokenizer.d.ts.map +1 -0
- package/dist/{tokenizer.js → text/tokenizer.js} +7 -2
- package/dist/text/tokenizer.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/chunker.d.ts +0 -47
- package/dist/chunker.d.ts.map +0 -1
- package/dist/chunker.js.map +0 -1
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js.map +0 -1
- package/dist/embedder.d.ts.map +0 -1
- package/dist/embedder.js.map +0 -1
- package/dist/error-handler.d.ts.map +0 -1
- package/dist/error-handler.js.map +0 -1
- package/dist/path-manager.d.ts.map +0 -1
- package/dist/path-manager.js.map +0 -1
- package/dist/reranker.d.ts +0 -40
- package/dist/reranker.d.ts.map +0 -1
- package/dist/reranker.js.map +0 -1
- package/dist/resource-manager-demo.d.ts +0 -7
- package/dist/resource-manager-demo.d.ts.map +0 -1
- package/dist/resource-manager-demo.js +0 -52
- package/dist/resource-manager-demo.js.map +0 -1
- package/dist/resource-manager.d.ts +0 -129
- package/dist/resource-manager.d.ts.map +0 -1
- package/dist/resource-manager.js +0 -389
- package/dist/resource-manager.js.map +0 -1
- package/dist/tokenizer.d.ts.map +0 -1
- package/dist/tokenizer.js.map +0 -1
- package/dist/vector-index.d.ts.map +0 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -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 @@
|
|
|
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"}
|