@venturekit/ai 0.0.0-dev.20260307234057
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/LICENSE +191 -0
- package/dist/agents/agent.d.ts +22 -0
- package/dist/agents/agent.d.ts.map +1 -0
- package/dist/agents/agent.js +138 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/agents/config.d.ts +13 -0
- package/dist/agents/config.d.ts.map +1 -0
- package/dist/agents/config.js +24 -0
- package/dist/agents/config.js.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +9 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/tools.d.ts +14 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +15 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/embeddings/config.d.ts +13 -0
- package/dist/embeddings/config.d.ts.map +1 -0
- package/dist/embeddings/config.js +25 -0
- package/dist/embeddings/config.js.map +1 -0
- package/dist/embeddings/embedder.d.ts +20 -0
- package/dist/embeddings/embedder.d.ts.map +1 -0
- package/dist/embeddings/embedder.js +100 -0
- package/dist/embeddings/embedder.js.map +1 -0
- package/dist/embeddings/index.d.ts +9 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +8 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/rag/chunker.d.ts +11 -0
- package/dist/rag/chunker.d.ts.map +1 -0
- package/dist/rag/chunker.js +109 -0
- package/dist/rag/chunker.js.map +1 -0
- package/dist/rag/config.d.ts +13 -0
- package/dist/rag/config.d.ts.map +1 -0
- package/dist/rag/config.js +35 -0
- package/dist/rag/config.js.map +1 -0
- package/dist/rag/index.d.ts +10 -0
- package/dist/rag/index.d.ts.map +1 -0
- package/dist/rag/index.js +9 -0
- package/dist/rag/index.js.map +1 -0
- package/dist/rag/pipeline.d.ts +26 -0
- package/dist/rag/pipeline.d.ts.map +1 -0
- package/dist/rag/pipeline.js +79 -0
- package/dist/rag/pipeline.js.map +1 -0
- package/dist/types/agents.d.ts +118 -0
- package/dist/types/agents.d.ts.map +1 -0
- package/dist/types/agents.js +5 -0
- package/dist/types/agents.js.map +1 -0
- package/dist/types/embeddings.d.ts +69 -0
- package/dist/types/embeddings.d.ts.map +1 -0
- package/dist/types/embeddings.js +5 -0
- package/dist/types/embeddings.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/rag.d.ts +92 -0
- package/dist/types/rag.d.ts.map +1 -0
- package/dist/types/rag.js +5 -0
- package/dist/types/rag.js.map +1 -0
- package/dist/types/vectors.d.ts +98 -0
- package/dist/types/vectors.d.ts.map +1 -0
- package/dist/types/vectors.js +5 -0
- package/dist/types/vectors.js.map +1 -0
- package/dist/vectors/config.d.ts +13 -0
- package/dist/vectors/config.d.ts.map +1 -0
- package/dist/vectors/config.js +24 -0
- package/dist/vectors/config.js.map +1 -0
- package/dist/vectors/index.d.ts +9 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +8 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/store.d.ts +24 -0
- package/dist/vectors/store.d.ts.map +1 -0
- package/dist/vectors/store.js +156 -0
- package/dist/vectors/store.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/embeddings/embedder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACvC;YACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAuB;IACnD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAY;YACtB,yCAAyC;YACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY;gBACxC,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,KAAe;YAC9B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAErD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;YAC1C,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC9C,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/D,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpD,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;YACnD,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,aAAa;gBACzB,eAAe,EAAE,WAAW;gBAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAAuB;IACpD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAY;YACtB,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACrG,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC;gBACxD,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,kBAAkB;gBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aAC1C,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnE,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,KAAe;YAC9B,4DAA4D;YAC5D,MAAM,UAAU,GAAe,EAAE,CAAC;YAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAED,OAAO;gBACL,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embeddings
|
|
3
|
+
*
|
|
4
|
+
* Utilities for generating text embeddings.
|
|
5
|
+
*/
|
|
6
|
+
export { createEmbeddingConfig, DEFAULT_EMBEDDING_CONFIG } from './config';
|
|
7
|
+
export { createEmbedder } from './embedder';
|
|
8
|
+
export type { Embedder } from './embedder';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @venturekit/ai
|
|
3
|
+
*
|
|
4
|
+
* AI utilities for VentureKit - embeddings, RAG, and agents.
|
|
5
|
+
* Documentation: https://venturekit.dev
|
|
6
|
+
*/
|
|
7
|
+
export * from './types';
|
|
8
|
+
export { createEmbeddingConfig, DEFAULT_EMBEDDING_CONFIG, createEmbedder, } from './embeddings';
|
|
9
|
+
export type { Embedder } from './embeddings';
|
|
10
|
+
export { createVectorStoreConfig, DEFAULT_VECTOR_STORE_CONFIG, createVectorStore, } from './vectors';
|
|
11
|
+
export type { VectorStore } from './vectors';
|
|
12
|
+
export { createRagConfig, DEFAULT_RAG_CONFIG, createRagPipeline, chunkText, } from './rag';
|
|
13
|
+
export type { RagPipeline } from './rag';
|
|
14
|
+
export { createAgentConfig, DEFAULT_AGENT_CONFIG, createAgent, defineTool, } from './agents';
|
|
15
|
+
export type { Agent } from './agents';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GACV,MAAM,OAAO,CAAC;AACf,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @venturekit/ai
|
|
3
|
+
*
|
|
4
|
+
* AI utilities for VentureKit - embeddings, RAG, and agents.
|
|
5
|
+
* Documentation: https://venturekit.dev
|
|
6
|
+
*/
|
|
7
|
+
// Types
|
|
8
|
+
export * from './types';
|
|
9
|
+
// Embeddings
|
|
10
|
+
export { createEmbeddingConfig, DEFAULT_EMBEDDING_CONFIG, createEmbedder, } from './embeddings';
|
|
11
|
+
// Vector Store
|
|
12
|
+
export { createVectorStoreConfig, DEFAULT_VECTOR_STORE_CONFIG, createVectorStore, } from './vectors';
|
|
13
|
+
// RAG
|
|
14
|
+
export { createRagConfig, DEFAULT_RAG_CONFIG, createRagPipeline, chunkText, } from './rag';
|
|
15
|
+
// Agents
|
|
16
|
+
export { createAgentConfig, DEFAULT_AGENT_CONFIG, createAgent, defineTool, } from './agents';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,eAAe;AACf,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,MAAM;AACN,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GACV,MAAM,OAAO,CAAC;AAGf,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,UAAU,GACX,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text Chunker
|
|
3
|
+
*
|
|
4
|
+
* Utilities for splitting text into chunks for embedding.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChunkingConfig, DocumentChunk } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Chunk text into smaller pieces
|
|
9
|
+
*/
|
|
10
|
+
export declare function chunkText(text: string, sourceId: string, config: ChunkingConfig): DocumentChunk[];
|
|
11
|
+
//# sourceMappingURL=chunker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/rag/chunker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,aAAa,EAAE,CAWjB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text Chunker
|
|
3
|
+
*
|
|
4
|
+
* Utilities for splitting text into chunks for embedding.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Chunk text into smaller pieces
|
|
8
|
+
*/
|
|
9
|
+
export function chunkText(text, sourceId, config) {
|
|
10
|
+
switch (config.strategy) {
|
|
11
|
+
case 'fixed':
|
|
12
|
+
return fixedChunking(text, sourceId, config);
|
|
13
|
+
case 'sentence':
|
|
14
|
+
return sentenceChunking(text, sourceId, config);
|
|
15
|
+
case 'paragraph':
|
|
16
|
+
return paragraphChunking(text, sourceId, config);
|
|
17
|
+
default:
|
|
18
|
+
return fixedChunking(text, sourceId, config);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Fixed-size chunking with overlap
|
|
23
|
+
*/
|
|
24
|
+
function fixedChunking(text, sourceId, config) {
|
|
25
|
+
const chunks = [];
|
|
26
|
+
const { chunkSize, chunkOverlap } = config;
|
|
27
|
+
let start = 0;
|
|
28
|
+
let chunkIndex = 0;
|
|
29
|
+
while (start < text.length) {
|
|
30
|
+
const end = Math.min(start + chunkSize, text.length);
|
|
31
|
+
const content = text.slice(start, end);
|
|
32
|
+
chunks.push({
|
|
33
|
+
id: `${sourceId}-${chunkIndex}`,
|
|
34
|
+
content,
|
|
35
|
+
sourceId,
|
|
36
|
+
chunkIndex,
|
|
37
|
+
});
|
|
38
|
+
start = end - chunkOverlap;
|
|
39
|
+
if (start >= text.length - chunkOverlap)
|
|
40
|
+
break;
|
|
41
|
+
chunkIndex++;
|
|
42
|
+
}
|
|
43
|
+
return chunks;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sentence-based chunking
|
|
47
|
+
*/
|
|
48
|
+
function sentenceChunking(text, sourceId, config) {
|
|
49
|
+
const sentences = text.match(/[^.!?]+[.!?]+/g) || [text];
|
|
50
|
+
const chunks = [];
|
|
51
|
+
const { chunkSize } = config;
|
|
52
|
+
let currentChunk = '';
|
|
53
|
+
let chunkIndex = 0;
|
|
54
|
+
for (const sentence of sentences) {
|
|
55
|
+
if (currentChunk.length + sentence.length > chunkSize && currentChunk) {
|
|
56
|
+
chunks.push({
|
|
57
|
+
id: `${sourceId}-${chunkIndex}`,
|
|
58
|
+
content: currentChunk.trim(),
|
|
59
|
+
sourceId,
|
|
60
|
+
chunkIndex,
|
|
61
|
+
});
|
|
62
|
+
currentChunk = '';
|
|
63
|
+
chunkIndex++;
|
|
64
|
+
}
|
|
65
|
+
currentChunk += sentence;
|
|
66
|
+
}
|
|
67
|
+
if (currentChunk.trim()) {
|
|
68
|
+
chunks.push({
|
|
69
|
+
id: `${sourceId}-${chunkIndex}`,
|
|
70
|
+
content: currentChunk.trim(),
|
|
71
|
+
sourceId,
|
|
72
|
+
chunkIndex,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return chunks;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Paragraph-based chunking
|
|
79
|
+
*/
|
|
80
|
+
function paragraphChunking(text, sourceId, config) {
|
|
81
|
+
const paragraphs = text.split(/\n\n+/);
|
|
82
|
+
const chunks = [];
|
|
83
|
+
const { chunkSize } = config;
|
|
84
|
+
let currentChunk = '';
|
|
85
|
+
let chunkIndex = 0;
|
|
86
|
+
for (const paragraph of paragraphs) {
|
|
87
|
+
if (currentChunk.length + paragraph.length > chunkSize && currentChunk) {
|
|
88
|
+
chunks.push({
|
|
89
|
+
id: `${sourceId}-${chunkIndex}`,
|
|
90
|
+
content: currentChunk.trim(),
|
|
91
|
+
sourceId,
|
|
92
|
+
chunkIndex,
|
|
93
|
+
});
|
|
94
|
+
currentChunk = '';
|
|
95
|
+
chunkIndex++;
|
|
96
|
+
}
|
|
97
|
+
currentChunk += paragraph + '\n\n';
|
|
98
|
+
}
|
|
99
|
+
if (currentChunk.trim()) {
|
|
100
|
+
chunks.push({
|
|
101
|
+
id: `${sourceId}-${chunkIndex}`,
|
|
102
|
+
content: currentChunk.trim(),
|
|
103
|
+
sourceId,
|
|
104
|
+
chunkIndex,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return chunks;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=chunker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/rag/chunker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Configuration
|
|
3
|
+
*/
|
|
4
|
+
import type { RagConfig, RagConfigInput } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Default RAG configuration
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_RAG_CONFIG: RagConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Create RAG configuration from input
|
|
11
|
+
*/
|
|
12
|
+
export declare function createRagConfig(input?: RagConfigInput): RagConfig;
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/rag/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAWhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAUjE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Configuration
|
|
3
|
+
*/
|
|
4
|
+
import { DEFAULT_EMBEDDING_CONFIG } from '../embeddings/config';
|
|
5
|
+
import { DEFAULT_VECTOR_STORE_CONFIG } from '../vectors/config';
|
|
6
|
+
/**
|
|
7
|
+
* Default RAG configuration
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_RAG_CONFIG = {
|
|
10
|
+
embedding: DEFAULT_EMBEDDING_CONFIG,
|
|
11
|
+
vectorStore: DEFAULT_VECTOR_STORE_CONFIG,
|
|
12
|
+
chunking: {
|
|
13
|
+
strategy: 'fixed',
|
|
14
|
+
chunkSize: 1000,
|
|
15
|
+
chunkOverlap: 200,
|
|
16
|
+
},
|
|
17
|
+
topK: 5,
|
|
18
|
+
minScore: 0.7,
|
|
19
|
+
rerank: false,
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Create RAG configuration from input
|
|
23
|
+
*/
|
|
24
|
+
export function createRagConfig(input) {
|
|
25
|
+
if (!input)
|
|
26
|
+
return DEFAULT_RAG_CONFIG;
|
|
27
|
+
return {
|
|
28
|
+
...DEFAULT_RAG_CONFIG,
|
|
29
|
+
...input,
|
|
30
|
+
embedding: { ...DEFAULT_RAG_CONFIG.embedding, ...input.embedding },
|
|
31
|
+
vectorStore: { ...DEFAULT_RAG_CONFIG.vectorStore, ...input.vectorStore },
|
|
32
|
+
chunking: { ...DEFAULT_RAG_CONFIG.chunking, ...input.chunking },
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rag/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,SAAS,EAAE,wBAAwB;IACnC,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;KAClB;IACD,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,KAAK;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,kBAAkB,CAAC;IAEtC,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG,KAAK;QACR,SAAS,EAAE,EAAE,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE;QAClE,WAAW,EAAE,EAAE,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE;QACxE,QAAQ,EAAE,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG (Retrieval-Augmented Generation)
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building RAG pipelines.
|
|
5
|
+
*/
|
|
6
|
+
export { createRagConfig, DEFAULT_RAG_CONFIG } from './config';
|
|
7
|
+
export { createRagPipeline } from './pipeline';
|
|
8
|
+
export { chunkText } from './chunker';
|
|
9
|
+
export type { RagPipeline } from './pipeline';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rag/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG (Retrieval-Augmented Generation)
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building RAG pipelines.
|
|
5
|
+
*/
|
|
6
|
+
export { createRagConfig, DEFAULT_RAG_CONFIG } from './config';
|
|
7
|
+
export { createRagPipeline } from './pipeline';
|
|
8
|
+
export { chunkText } from './chunker';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rag/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Pipeline
|
|
3
|
+
*
|
|
4
|
+
* End-to-end retrieval-augmented generation pipeline.
|
|
5
|
+
*/
|
|
6
|
+
import type { RagConfig, RetrievedContext, RagQueryOptions } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* RAG pipeline interface
|
|
9
|
+
*/
|
|
10
|
+
export interface RagPipeline {
|
|
11
|
+
/** Index documents */
|
|
12
|
+
index(documents: Array<{
|
|
13
|
+
id: string;
|
|
14
|
+
content: string;
|
|
15
|
+
metadata?: Record<string, unknown>;
|
|
16
|
+
}>): Promise<void>;
|
|
17
|
+
/** Retrieve relevant context for a query */
|
|
18
|
+
retrieve(query: string, options?: RagQueryOptions): Promise<RetrievedContext>;
|
|
19
|
+
/** Delete documents by ID */
|
|
20
|
+
delete(ids: string[]): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a RAG pipeline
|
|
24
|
+
*/
|
|
25
|
+
export declare function createRagPipeline(config: RagConfig): RagPipeline;
|
|
26
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/rag/pipeline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAiB,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAK5F;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5G,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9E,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CA6EhE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Pipeline
|
|
3
|
+
*
|
|
4
|
+
* End-to-end retrieval-augmented generation pipeline.
|
|
5
|
+
*/
|
|
6
|
+
import { createEmbedder } from '../embeddings/embedder';
|
|
7
|
+
import { createVectorStore } from '../vectors/store';
|
|
8
|
+
import { chunkText } from './chunker';
|
|
9
|
+
/**
|
|
10
|
+
* Create a RAG pipeline
|
|
11
|
+
*/
|
|
12
|
+
export function createRagPipeline(config) {
|
|
13
|
+
const embedder = createEmbedder(config.embedding);
|
|
14
|
+
const vectorStore = createVectorStore(config.vectorStore);
|
|
15
|
+
return {
|
|
16
|
+
async index(documents) {
|
|
17
|
+
const allChunks = [];
|
|
18
|
+
// Chunk all documents
|
|
19
|
+
for (const doc of documents) {
|
|
20
|
+
const chunks = chunkText(doc.content, doc.id, config.chunking);
|
|
21
|
+
for (const chunk of chunks) {
|
|
22
|
+
chunk.metadata = { ...chunk.metadata, ...doc.metadata };
|
|
23
|
+
}
|
|
24
|
+
allChunks.push(...chunks);
|
|
25
|
+
}
|
|
26
|
+
// Generate embeddings
|
|
27
|
+
const texts = allChunks.map(c => c.content);
|
|
28
|
+
const { embeddings } = await embedder.embedBatch(texts);
|
|
29
|
+
// Store vectors
|
|
30
|
+
const vectors = allChunks.map((chunk, i) => ({
|
|
31
|
+
id: chunk.id,
|
|
32
|
+
values: embeddings[i],
|
|
33
|
+
metadata: {
|
|
34
|
+
content: chunk.content,
|
|
35
|
+
sourceId: chunk.sourceId,
|
|
36
|
+
chunkIndex: chunk.chunkIndex,
|
|
37
|
+
...chunk.metadata,
|
|
38
|
+
},
|
|
39
|
+
}));
|
|
40
|
+
await vectorStore.upsert(vectors);
|
|
41
|
+
},
|
|
42
|
+
async retrieve(query, options) {
|
|
43
|
+
// Embed query
|
|
44
|
+
const { embedding } = await embedder.embed(query);
|
|
45
|
+
// Search vectors
|
|
46
|
+
const results = await vectorStore.search({
|
|
47
|
+
vector: embedding,
|
|
48
|
+
topK: options?.topK || config.topK,
|
|
49
|
+
filter: options?.filter,
|
|
50
|
+
includeMetadata: true,
|
|
51
|
+
minScore: config.minScore,
|
|
52
|
+
});
|
|
53
|
+
// Build context
|
|
54
|
+
const chunks = results.map(r => ({
|
|
55
|
+
content: r.metadata?.content || '',
|
|
56
|
+
score: r.score,
|
|
57
|
+
metadata: options?.includeMetadata ? r.metadata : undefined,
|
|
58
|
+
}));
|
|
59
|
+
const context = chunks.map(c => c.content).join('\n\n');
|
|
60
|
+
return {
|
|
61
|
+
chunks,
|
|
62
|
+
context,
|
|
63
|
+
totalChunks: chunks.length,
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
async delete(ids) {
|
|
67
|
+
// Delete all chunks for each document
|
|
68
|
+
const chunkIds = [];
|
|
69
|
+
for (const id of ids) {
|
|
70
|
+
// Assume up to 100 chunks per document
|
|
71
|
+
for (let i = 0; i < 100; i++) {
|
|
72
|
+
chunkIds.push(`${id}-${i}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
await vectorStore.delete(chunkIds);
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/rag/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* LLM provider for agents
|
|
6
|
+
*/
|
|
7
|
+
export type LLMProvider = 'openai' | 'anthropic' | 'bedrock';
|
|
8
|
+
/**
|
|
9
|
+
* Tool definition for agents
|
|
10
|
+
*/
|
|
11
|
+
export interface Tool {
|
|
12
|
+
/** Tool name */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Tool description (for LLM) */
|
|
15
|
+
description: string;
|
|
16
|
+
/** JSON schema for parameters */
|
|
17
|
+
parameters: {
|
|
18
|
+
type: 'object';
|
|
19
|
+
properties: Record<string, {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
enum?: string[];
|
|
23
|
+
}>;
|
|
24
|
+
required?: string[];
|
|
25
|
+
};
|
|
26
|
+
/** Tool execution function */
|
|
27
|
+
execute: (params: Record<string, unknown>) => Promise<unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Agent configuration
|
|
31
|
+
*/
|
|
32
|
+
export interface AgentConfig {
|
|
33
|
+
/** LLM provider */
|
|
34
|
+
provider: LLMProvider;
|
|
35
|
+
/** Model name */
|
|
36
|
+
model: string;
|
|
37
|
+
/** System prompt */
|
|
38
|
+
systemPrompt?: string;
|
|
39
|
+
/** Available tools */
|
|
40
|
+
tools?: Tool[];
|
|
41
|
+
/** Max iterations for tool use */
|
|
42
|
+
maxIterations?: number;
|
|
43
|
+
/** Temperature (0-1) */
|
|
44
|
+
temperature?: number;
|
|
45
|
+
/** API key */
|
|
46
|
+
apiKey?: string;
|
|
47
|
+
/** AWS region (for Bedrock) */
|
|
48
|
+
region?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Agent config input (partial for overrides)
|
|
52
|
+
*/
|
|
53
|
+
export interface AgentConfigInput {
|
|
54
|
+
provider?: LLMProvider;
|
|
55
|
+
model?: string;
|
|
56
|
+
systemPrompt?: string;
|
|
57
|
+
tools?: Tool[];
|
|
58
|
+
maxIterations?: number;
|
|
59
|
+
temperature?: number;
|
|
60
|
+
apiKey?: string;
|
|
61
|
+
region?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Chat message
|
|
65
|
+
*/
|
|
66
|
+
export interface ChatMessage {
|
|
67
|
+
/** Role */
|
|
68
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
69
|
+
/** Content */
|
|
70
|
+
content: string;
|
|
71
|
+
/** Tool call ID (for tool responses) */
|
|
72
|
+
toolCallId?: string;
|
|
73
|
+
/** Tool calls made by assistant */
|
|
74
|
+
toolCalls?: Array<{
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
arguments: Record<string, unknown>;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Agent response
|
|
82
|
+
*/
|
|
83
|
+
export interface AgentResponse {
|
|
84
|
+
/** Final response content */
|
|
85
|
+
content: string;
|
|
86
|
+
/** Tool calls made during execution */
|
|
87
|
+
toolCalls?: Array<{
|
|
88
|
+
tool: string;
|
|
89
|
+
input: Record<string, unknown>;
|
|
90
|
+
output: unknown;
|
|
91
|
+
}>;
|
|
92
|
+
/** Number of iterations used */
|
|
93
|
+
iterations: number;
|
|
94
|
+
/** Tokens used */
|
|
95
|
+
tokensUsed?: {
|
|
96
|
+
prompt: number;
|
|
97
|
+
completion: number;
|
|
98
|
+
total: number;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Streaming chunk
|
|
103
|
+
*/
|
|
104
|
+
export interface StreamChunk {
|
|
105
|
+
/** Chunk type */
|
|
106
|
+
type: 'text' | 'tool_call' | 'tool_result' | 'done';
|
|
107
|
+
/** Text content (for text chunks) */
|
|
108
|
+
content?: string;
|
|
109
|
+
/** Tool call info */
|
|
110
|
+
toolCall?: {
|
|
111
|
+
id: string;
|
|
112
|
+
name: string;
|
|
113
|
+
arguments: Record<string, unknown>;
|
|
114
|
+
};
|
|
115
|
+
/** Tool result */
|
|
116
|
+
toolResult?: unknown;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Embedding provider
|
|
6
|
+
*/
|
|
7
|
+
export type EmbeddingProvider = 'openai' | 'bedrock' | 'cohere' | 'custom';
|
|
8
|
+
/**
|
|
9
|
+
* OpenAI embedding models
|
|
10
|
+
*/
|
|
11
|
+
export type OpenAIEmbeddingModel = 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002';
|
|
12
|
+
/**
|
|
13
|
+
* AWS Bedrock embedding models
|
|
14
|
+
*/
|
|
15
|
+
export type BedrockEmbeddingModel = 'amazon.titan-embed-text-v1' | 'amazon.titan-embed-text-v2:0' | 'cohere.embed-english-v3' | 'cohere.embed-multilingual-v3';
|
|
16
|
+
/**
|
|
17
|
+
* Embedding configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface EmbeddingConfig {
|
|
20
|
+
/** Provider to use */
|
|
21
|
+
provider: EmbeddingProvider;
|
|
22
|
+
/** Model name */
|
|
23
|
+
model: string;
|
|
24
|
+
/** Embedding dimensions (provider-specific) */
|
|
25
|
+
dimensions?: number;
|
|
26
|
+
/** API key (for OpenAI, Cohere) */
|
|
27
|
+
apiKey?: string;
|
|
28
|
+
/** AWS region (for Bedrock) */
|
|
29
|
+
region?: string;
|
|
30
|
+
/** Batch size for bulk operations */
|
|
31
|
+
batchSize?: number;
|
|
32
|
+
/** Max retries on failure */
|
|
33
|
+
maxRetries?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Embedding config input (partial for overrides)
|
|
37
|
+
*/
|
|
38
|
+
export interface EmbeddingConfigInput {
|
|
39
|
+
provider?: EmbeddingProvider;
|
|
40
|
+
model?: string;
|
|
41
|
+
dimensions?: number;
|
|
42
|
+
apiKey?: string;
|
|
43
|
+
region?: string;
|
|
44
|
+
batchSize?: number;
|
|
45
|
+
maxRetries?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Embedding result
|
|
49
|
+
*/
|
|
50
|
+
export interface EmbeddingResult {
|
|
51
|
+
/** The embedding vector */
|
|
52
|
+
embedding: number[];
|
|
53
|
+
/** Number of tokens used */
|
|
54
|
+
tokensUsed?: number;
|
|
55
|
+
/** Model used */
|
|
56
|
+
model: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Batch embedding result
|
|
60
|
+
*/
|
|
61
|
+
export interface BatchEmbeddingResult {
|
|
62
|
+
/** Embeddings in same order as input */
|
|
63
|
+
embeddings: number[][];
|
|
64
|
+
/** Total tokens used */
|
|
65
|
+
totalTokensUsed?: number;
|
|
66
|
+
/** Model used */
|
|
67
|
+
model: string;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/types/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,4BAA4B,GAC5B,8BAA8B,GAC9B,yBAAyB,GACzB,8BAA8B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/types/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
|