@toolpack-sdk/knowledge 1.2.0-SNAPSHOT.04032026-2 → 1.2.0
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 +4 -4
- package/dist/index.cjs +25 -0
- package/dist/index.d.cts +239 -0
- package/dist/index.d.ts +239 -14
- package/dist/index.js +25 -31
- package/package.json +30 -8
- package/dist/embedders/ollama.d.ts +0 -15
- package/dist/embedders/ollama.d.ts.map +0 -1
- package/dist/embedders/ollama.js +0 -51
- package/dist/embedders/ollama.js.map +0 -1
- package/dist/embedders/openai.d.ts +0 -18
- package/dist/embedders/openai.d.ts.map +0 -1
- package/dist/embedders/openai.js +0 -63
- package/dist/embedders/openai.js.map +0 -1
- package/dist/errors.d.ts +0 -25
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -58
- package/dist/errors.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interfaces.d.ts +0 -48
- package/dist/interfaces.d.ts.map +0 -1
- package/dist/interfaces.js +0 -3
- package/dist/interfaces.js.map +0 -1
- package/dist/knowledge.d.ts +0 -74
- package/dist/knowledge.d.ts.map +0 -1
- package/dist/knowledge.js +0 -120
- package/dist/knowledge.js.map +0 -1
- package/dist/providers/memory.d.ts +0 -16
- package/dist/providers/memory.d.ts.map +0 -1
- package/dist/providers/memory.js +0 -72
- package/dist/providers/memory.js.map +0 -1
- package/dist/providers/persistent.d.ts +0 -23
- package/dist/providers/persistent.d.ts.map +0 -1
- package/dist/providers/persistent.js +0 -162
- package/dist/providers/persistent.js.map +0 -1
- package/dist/sources/markdown.d.ts +0 -20
- package/dist/sources/markdown.d.ts.map +0 -1
- package/dist/sources/markdown.js +0 -196
- package/dist/sources/markdown.js.map +0 -1
- package/dist/utils/chunking.d.ts +0 -6
- package/dist/utils/chunking.d.ts.map +0 -1
- package/dist/utils/chunking.js +0 -86
- package/dist/utils/chunking.js.map +0 -1
- package/dist/utils/cosine.d.ts +0 -4
- package/dist/utils/cosine.d.ts.map +0 -1
- package/dist/utils/cosine.js +0 -52
- package/dist/utils/cosine.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,29 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toolpack-sdk/knowledge",
|
|
3
|
-
"version": "1.2.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "RAG (Retrieval-Augmented Generation) package for Toolpack SDK",
|
|
5
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"require": "./dist/index.cjs"
|
|
12
|
+
},
|
|
6
13
|
"types": "dist/index.d.ts",
|
|
7
14
|
"files": [
|
|
8
15
|
"dist",
|
|
9
16
|
"README.md"
|
|
10
17
|
],
|
|
11
18
|
"scripts": {
|
|
12
|
-
"build": "
|
|
13
|
-
"build:dev": "
|
|
19
|
+
"build": "tsup",
|
|
20
|
+
"build:dev": "tsup",
|
|
14
21
|
"test": "vitest run",
|
|
15
|
-
"test:watch": "vitest"
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"watch": "tsup --watch",
|
|
24
|
+
"publish:npm": "npm run build && npm run test && npm publish --access public"
|
|
16
25
|
},
|
|
17
26
|
"keywords": [
|
|
27
|
+
"ai",
|
|
28
|
+
"llm",
|
|
18
29
|
"rag",
|
|
19
30
|
"retrieval",
|
|
20
31
|
"embeddings",
|
|
21
32
|
"vector-search",
|
|
22
33
|
"knowledge-base",
|
|
23
|
-
"
|
|
34
|
+
"sdk"
|
|
24
35
|
],
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=20"
|
|
38
|
+
},
|
|
25
39
|
"author": "Sajeer (https://sajeerzeji.com)",
|
|
26
40
|
"license": "Apache-2.0",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "git+https://github.com/toolpack-ai/toolpack-sdk.git"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://toolpacksdk.com",
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/toolpack-ai/toolpack-sdk/issues"
|
|
48
|
+
},
|
|
27
49
|
"dependencies": {
|
|
28
50
|
"better-sqlite3": "^12.6.2",
|
|
29
51
|
"fast-glob": "^3.3.3",
|
|
@@ -32,8 +54,8 @@
|
|
|
32
54
|
"devDependencies": {
|
|
33
55
|
"@types/better-sqlite3": "^7.6.13",
|
|
34
56
|
"@types/node": "^25.3.2",
|
|
57
|
+
"rimraf": "^5.0.10",
|
|
35
58
|
"typescript": "^5.9.3",
|
|
36
|
-
"vitest": "^4.0.18"
|
|
37
|
-
"rimraf": "^5.0.0"
|
|
59
|
+
"vitest": "^4.0.18"
|
|
38
60
|
}
|
|
39
61
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Embedder } from '../interfaces.js';
|
|
2
|
-
export interface OllamaEmbedderOptions {
|
|
3
|
-
model: string;
|
|
4
|
-
baseUrl?: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class OllamaEmbedder implements Embedder {
|
|
7
|
-
private options;
|
|
8
|
-
readonly dimensions: number;
|
|
9
|
-
private baseUrl;
|
|
10
|
-
constructor(options: OllamaEmbedderOptions);
|
|
11
|
-
private getModelDimensions;
|
|
12
|
-
embed(text: string): Promise<number[]>;
|
|
13
|
-
embedBatch(texts: string[]): Promise<number[][]>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ollama.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/embedders/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAe,YAAW,QAAQ;IAIjC,OAAO,CAAC,OAAO;IAH3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,qBAAqB;IAKlD,OAAO,CAAC,kBAAkB;IASpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAOvD"}
|
package/dist/embedders/ollama.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OllamaEmbedder = void 0;
|
|
4
|
-
const errors_js_1 = require("../errors.js");
|
|
5
|
-
class OllamaEmbedder {
|
|
6
|
-
options;
|
|
7
|
-
dimensions;
|
|
8
|
-
baseUrl;
|
|
9
|
-
constructor(options) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
this.baseUrl = options.baseUrl || 'http://localhost:11434';
|
|
12
|
-
this.dimensions = this.getModelDimensions(options.model);
|
|
13
|
-
}
|
|
14
|
-
getModelDimensions(model) {
|
|
15
|
-
const dimensionsMap = {
|
|
16
|
-
'nomic-embed-text': 768,
|
|
17
|
-
'mxbai-embed-large': 1024,
|
|
18
|
-
'all-minilm': 384,
|
|
19
|
-
};
|
|
20
|
-
return dimensionsMap[model] || 768;
|
|
21
|
-
}
|
|
22
|
-
async embed(text) {
|
|
23
|
-
try {
|
|
24
|
-
const response = await fetch(`${this.baseUrl}/api/embeddings`, {
|
|
25
|
-
method: 'POST',
|
|
26
|
-
headers: { 'Content-Type': 'application/json' },
|
|
27
|
-
body: JSON.stringify({ model: this.options.model, prompt: text }),
|
|
28
|
-
});
|
|
29
|
-
if (!response.ok) {
|
|
30
|
-
throw new errors_js_1.EmbeddingError(`Ollama embedding failed: ${response.statusText}`, response.status);
|
|
31
|
-
}
|
|
32
|
-
const data = await response.json();
|
|
33
|
-
return data.embedding;
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
if (error instanceof errors_js_1.EmbeddingError) {
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
39
|
-
throw new errors_js_1.EmbeddingError(`Ollama embedding failed: ${error.message}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async embedBatch(texts) {
|
|
43
|
-
const embeddings = [];
|
|
44
|
-
for (const text of texts) {
|
|
45
|
-
embeddings.push(await this.embed(text));
|
|
46
|
-
}
|
|
47
|
-
return embeddings;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.OllamaEmbedder = OllamaEmbedder;
|
|
51
|
-
//# sourceMappingURL=ollama.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/embedders/ollama.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAO9C,MAAa,cAAc;IAIL;IAHX,UAAU,CAAS;IACpB,OAAO,CAAS;IAExB,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,wBAAwB,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACtC,MAAM,aAAa,GAA2B;YAC5C,kBAAkB,EAAE,GAAG;YACvB,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,GAAG;SAClB,CAAC;QACF,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,iBAAiB,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAClE,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,0BAAc,CAAC,4BAA4B,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/F,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;YAC9D,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,0BAAc,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,0BAAc,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA/CD,wCA+CC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Embedder } from '../interfaces.js';
|
|
2
|
-
export interface OpenAIEmbedderOptions {
|
|
3
|
-
model: string;
|
|
4
|
-
apiKey: string;
|
|
5
|
-
retries?: number;
|
|
6
|
-
retryDelay?: number;
|
|
7
|
-
timeout?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare class OpenAIEmbedder implements Embedder {
|
|
10
|
-
private options;
|
|
11
|
-
readonly dimensions: number;
|
|
12
|
-
private client;
|
|
13
|
-
constructor(options: OpenAIEmbedderOptions);
|
|
14
|
-
private getModelDimensions;
|
|
15
|
-
embed(text: string): Promise<number[]>;
|
|
16
|
-
embedBatch(texts: string[]): Promise<number[][]>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAe,YAAW,QAAQ;IAIjC,OAAO,CAAC,OAAO;IAH3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEH,OAAO,EAAE,qBAAqB;IAQlD,OAAO,CAAC,kBAAkB;IASpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAWvD"}
|
package/dist/embedders/openai.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.OpenAIEmbedder = void 0;
|
|
7
|
-
const openai_1 = __importDefault(require("openai"));
|
|
8
|
-
const errors_js_1 = require("../errors.js");
|
|
9
|
-
class OpenAIEmbedder {
|
|
10
|
-
options;
|
|
11
|
-
dimensions;
|
|
12
|
-
client;
|
|
13
|
-
constructor(options) {
|
|
14
|
-
this.options = options;
|
|
15
|
-
this.client = new openai_1.default({
|
|
16
|
-
apiKey: options.apiKey,
|
|
17
|
-
timeout: options.timeout || 30000,
|
|
18
|
-
});
|
|
19
|
-
this.dimensions = this.getModelDimensions(options.model);
|
|
20
|
-
}
|
|
21
|
-
getModelDimensions(model) {
|
|
22
|
-
const dimensionsMap = {
|
|
23
|
-
'text-embedding-3-small': 1536,
|
|
24
|
-
'text-embedding-3-large': 3072,
|
|
25
|
-
'text-embedding-ada-002': 1536,
|
|
26
|
-
};
|
|
27
|
-
return dimensionsMap[model] || 1536;
|
|
28
|
-
}
|
|
29
|
-
async embed(text) {
|
|
30
|
-
let lastError = null;
|
|
31
|
-
const retries = this.options.retries || 3;
|
|
32
|
-
for (let attempt = 0; attempt < retries; attempt++) {
|
|
33
|
-
try {
|
|
34
|
-
const response = await this.client.embeddings.create({
|
|
35
|
-
model: this.options.model,
|
|
36
|
-
input: text,
|
|
37
|
-
});
|
|
38
|
-
return response.data[0].embedding;
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
lastError = error;
|
|
42
|
-
if (attempt < retries - 1) {
|
|
43
|
-
await new Promise(resolve => setTimeout(resolve, this.options.retryDelay || 1000));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
throw new errors_js_1.EmbeddingError(`OpenAI embedding failed after ${retries} retries: ${lastError?.message}`);
|
|
48
|
-
}
|
|
49
|
-
async embedBatch(texts) {
|
|
50
|
-
try {
|
|
51
|
-
const response = await this.client.embeddings.create({
|
|
52
|
-
model: this.options.model,
|
|
53
|
-
input: texts,
|
|
54
|
-
});
|
|
55
|
-
return response.data.map(d => d.embedding);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
throw new errors_js_1.EmbeddingError(`OpenAI batch embedding failed: ${error.message}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.OpenAIEmbedder = OpenAIEmbedder;
|
|
63
|
-
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,4CAA8C;AAU9C,MAAa,cAAc;IAIL;IAHX,UAAU,CAAS;IACpB,MAAM,CAAS;IAEvB,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACtC,MAAM,aAAa,GAA2B;YAC5C,wBAAwB,EAAE,IAAI;YAC9B,wBAAwB,EAAE,IAAI;YAC9B,wBAAwB,EAAE,IAAI;SAC/B,CAAC;QACF,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QAE1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;oBACnD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;oBACzB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAC;gBAC3B,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,0BAAc,CAAC,iCAAiC,OAAO,aAAa,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,0BAAc,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;CACF;AAtDD,wCAsDC"}
|
package/dist/errors.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export declare class KnowledgeError extends Error {
|
|
2
|
-
readonly code?: string | undefined;
|
|
3
|
-
constructor(message: string, code?: string | undefined);
|
|
4
|
-
}
|
|
5
|
-
export declare class EmbeddingError extends KnowledgeError {
|
|
6
|
-
readonly statusCode?: number | undefined;
|
|
7
|
-
constructor(message: string, statusCode?: number | undefined);
|
|
8
|
-
}
|
|
9
|
-
export declare class IngestionError extends KnowledgeError {
|
|
10
|
-
readonly file?: string | undefined;
|
|
11
|
-
constructor(message: string, file?: string | undefined);
|
|
12
|
-
}
|
|
13
|
-
export declare class ChunkTooLargeError extends KnowledgeError {
|
|
14
|
-
readonly chunkSize: number;
|
|
15
|
-
constructor(message: string, chunkSize: number);
|
|
16
|
-
}
|
|
17
|
-
export declare class DimensionMismatchError extends KnowledgeError {
|
|
18
|
-
readonly expected: number;
|
|
19
|
-
readonly actual: number;
|
|
20
|
-
constructor(expected: number, actual: number);
|
|
21
|
-
}
|
|
22
|
-
export declare class KnowledgeProviderError extends KnowledgeError {
|
|
23
|
-
constructor(message: string);
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;aACM,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED,qBAAa,cAAe,SAAQ,cAAc;aACH,UAAU,CAAC,EAAE,MAAM;gBAApD,OAAO,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,MAAM,YAAA;CAIjE;AAED,qBAAa,cAAe,SAAQ,cAAc;aACH,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED,qBAAa,kBAAmB,SAAQ,cAAc;aACP,SAAS,EAAE,MAAM;gBAAlD,OAAO,EAAE,MAAM,EAAkB,SAAS,EAAE,MAAM;CAI/D;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAS7C;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/errors.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KnowledgeProviderError = exports.DimensionMismatchError = exports.ChunkTooLargeError = exports.IngestionError = exports.EmbeddingError = exports.KnowledgeError = void 0;
|
|
4
|
-
class KnowledgeError extends Error {
|
|
5
|
-
code;
|
|
6
|
-
constructor(message, code) {
|
|
7
|
-
super(message);
|
|
8
|
-
this.code = code;
|
|
9
|
-
this.name = 'KnowledgeError';
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.KnowledgeError = KnowledgeError;
|
|
13
|
-
class EmbeddingError extends KnowledgeError {
|
|
14
|
-
statusCode;
|
|
15
|
-
constructor(message, statusCode) {
|
|
16
|
-
super(message, 'EMBEDDING_ERROR');
|
|
17
|
-
this.statusCode = statusCode;
|
|
18
|
-
this.name = 'EmbeddingError';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.EmbeddingError = EmbeddingError;
|
|
22
|
-
class IngestionError extends KnowledgeError {
|
|
23
|
-
file;
|
|
24
|
-
constructor(message, file) {
|
|
25
|
-
super(message, 'INGESTION_ERROR');
|
|
26
|
-
this.file = file;
|
|
27
|
-
this.name = 'IngestionError';
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.IngestionError = IngestionError;
|
|
31
|
-
class ChunkTooLargeError extends KnowledgeError {
|
|
32
|
-
chunkSize;
|
|
33
|
-
constructor(message, chunkSize) {
|
|
34
|
-
super(message, 'CHUNK_TOO_LARGE');
|
|
35
|
-
this.chunkSize = chunkSize;
|
|
36
|
-
this.name = 'ChunkTooLargeError';
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.ChunkTooLargeError = ChunkTooLargeError;
|
|
40
|
-
class DimensionMismatchError extends KnowledgeError {
|
|
41
|
-
expected;
|
|
42
|
-
actual;
|
|
43
|
-
constructor(expected, actual) {
|
|
44
|
-
super(`Dimension mismatch: expected ${expected}, got ${actual}`, 'DIMENSION_MISMATCH');
|
|
45
|
-
this.name = 'DimensionMismatchError';
|
|
46
|
-
this.expected = expected;
|
|
47
|
-
this.actual = actual;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.DimensionMismatchError = DimensionMismatchError;
|
|
51
|
-
class KnowledgeProviderError extends KnowledgeError {
|
|
52
|
-
constructor(message) {
|
|
53
|
-
super(message, 'PROVIDER_ERROR');
|
|
54
|
-
this.name = 'KnowledgeProviderError';
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.KnowledgeProviderError = KnowledgeProviderError;
|
|
58
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;IACM;IAA7C,YAAY,OAAe,EAAkB,IAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAS;QAExD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,cAAe,SAAQ,cAAc;IACH;IAA7C,YAAY,OAAe,EAAkB,UAAmB;QAC9D,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QADS,eAAU,GAAV,UAAU,CAAS;QAE9D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,cAAe,SAAQ,cAAc;IACH;IAA7C,YAAY,OAAe,EAAkB,IAAa;QACxD,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QADS,SAAI,GAAJ,IAAI,CAAS;QAExD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IACP;IAA7C,YAAY,OAAe,EAAkB,SAAiB;QAC5D,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAE5D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED,MAAa,sBAAuB,SAAQ,cAAc;IACxC,QAAQ,CAAS;IACjB,MAAM,CAAS;IAE/B,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CACH,gCAAgC,QAAQ,SAAS,MAAM,EAAE,EACzD,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAbD,wDAaC;AAED,MAAa,sBAAuB,SAAQ,cAAc;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,YAAY,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,8CAA4B;AAC5B,iDAA+B;AAE/B,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AAGvB,2DAAwE;AAA/D,4HAAA,2BAA2B,OAAA;AAGpC,qDAAuD;AAA9C,6GAAA,cAAc,OAAA;AAGvB,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AAGvB,mDAAuD;AAA9C,2GAAA,cAAc,OAAA"}
|
package/dist/interfaces.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export interface Chunk {
|
|
2
|
-
id: string;
|
|
3
|
-
content: string;
|
|
4
|
-
metadata: Record<string, unknown>;
|
|
5
|
-
vector?: number[];
|
|
6
|
-
}
|
|
7
|
-
export interface ChunkUpdate {
|
|
8
|
-
type: 'add' | 'update' | 'delete';
|
|
9
|
-
chunk: Chunk;
|
|
10
|
-
}
|
|
11
|
-
export interface QueryOptions {
|
|
12
|
-
limit?: number;
|
|
13
|
-
threshold?: number;
|
|
14
|
-
filter?: MetadataFilter;
|
|
15
|
-
includeMetadata?: boolean;
|
|
16
|
-
includeVectors?: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface MetadataFilter {
|
|
19
|
-
[key: string]: string | number | boolean | {
|
|
20
|
-
$in: unknown[];
|
|
21
|
-
} | {
|
|
22
|
-
$gt: number;
|
|
23
|
-
} | {
|
|
24
|
-
$lt: number;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export interface QueryResult {
|
|
28
|
-
chunk: Chunk;
|
|
29
|
-
score: number;
|
|
30
|
-
distance?: number;
|
|
31
|
-
}
|
|
32
|
-
export interface KnowledgeProvider {
|
|
33
|
-
add(chunks: Chunk[]): Promise<void>;
|
|
34
|
-
query(queryVector: number[], options?: QueryOptions): Promise<QueryResult[]>;
|
|
35
|
-
delete(ids: string[]): Promise<void>;
|
|
36
|
-
clear(): Promise<void>;
|
|
37
|
-
validateDimensions(dimensions: number): Promise<void>;
|
|
38
|
-
}
|
|
39
|
-
export interface KnowledgeSource {
|
|
40
|
-
load(): AsyncIterable<Chunk>;
|
|
41
|
-
watch?(): AsyncIterable<ChunkUpdate>;
|
|
42
|
-
}
|
|
43
|
-
export interface Embedder {
|
|
44
|
-
embed(text: string): Promise<number[]>;
|
|
45
|
-
embedBatch(texts: string[]): Promise<number[][]>;
|
|
46
|
-
readonly dimensions: number;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=interfaces.d.ts.map
|
package/dist/interfaces.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GACpC;QAAE,GAAG,EAAE,OAAO,EAAE,CAAA;KAAE,GAClB;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACf;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/interfaces.js
DELETED
package/dist/interfaces.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
|
package/dist/knowledge.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { KnowledgeProvider, KnowledgeSource, Embedder, QueryOptions, QueryResult, Chunk } from './interfaces.js';
|
|
2
|
-
export interface KnowledgeOptions {
|
|
3
|
-
provider: KnowledgeProvider;
|
|
4
|
-
sources: KnowledgeSource[];
|
|
5
|
-
embedder: Embedder;
|
|
6
|
-
description: string;
|
|
7
|
-
reSync?: boolean;
|
|
8
|
-
onError?: ErrorHandler;
|
|
9
|
-
onSync?: SyncEventHandler;
|
|
10
|
-
onEmbeddingProgress?: EmbeddingProgressHandler;
|
|
11
|
-
}
|
|
12
|
-
export type ErrorHandler = (error: Error, context: {
|
|
13
|
-
file?: string;
|
|
14
|
-
chunk?: Chunk;
|
|
15
|
-
}) => 'skip' | 'abort';
|
|
16
|
-
export interface SyncEvent {
|
|
17
|
-
type: 'start' | 'file' | 'chunk' | 'complete' | 'error';
|
|
18
|
-
file?: string;
|
|
19
|
-
chunksAffected?: number;
|
|
20
|
-
error?: Error;
|
|
21
|
-
}
|
|
22
|
-
export type SyncEventHandler = (event: SyncEvent) => void;
|
|
23
|
-
export interface EmbeddingProgressEvent {
|
|
24
|
-
source: string;
|
|
25
|
-
current: number;
|
|
26
|
-
total: number;
|
|
27
|
-
percent: number;
|
|
28
|
-
}
|
|
29
|
-
export type EmbeddingProgressHandler = (event: EmbeddingProgressEvent) => void;
|
|
30
|
-
export declare class Knowledge {
|
|
31
|
-
private provider;
|
|
32
|
-
private embedder;
|
|
33
|
-
private description;
|
|
34
|
-
private sources;
|
|
35
|
-
private options;
|
|
36
|
-
private constructor();
|
|
37
|
-
static create(options: KnowledgeOptions): Promise<Knowledge>;
|
|
38
|
-
query(text: string, options?: QueryOptions): Promise<QueryResult[]>;
|
|
39
|
-
sync(): Promise<void>;
|
|
40
|
-
private embedChunks;
|
|
41
|
-
stop(): Promise<void>;
|
|
42
|
-
toTool(): KnowledgeTool;
|
|
43
|
-
}
|
|
44
|
-
export interface KnowledgeTool {
|
|
45
|
-
name: string;
|
|
46
|
-
displayName: string;
|
|
47
|
-
description: string;
|
|
48
|
-
category: string;
|
|
49
|
-
cacheable?: boolean;
|
|
50
|
-
parameters: {
|
|
51
|
-
type: string;
|
|
52
|
-
properties: Record<string, unknown>;
|
|
53
|
-
required: string[];
|
|
54
|
-
};
|
|
55
|
-
execute: (params: KnowledgeToolParams) => Promise<KnowledgeToolResult[]>;
|
|
56
|
-
}
|
|
57
|
-
export interface KnowledgeToolParams {
|
|
58
|
-
query: string;
|
|
59
|
-
limit?: number;
|
|
60
|
-
threshold?: number;
|
|
61
|
-
filter?: Record<string, string | number | boolean | {
|
|
62
|
-
$in: unknown[];
|
|
63
|
-
} | {
|
|
64
|
-
$gt: number;
|
|
65
|
-
} | {
|
|
66
|
-
$lt: number;
|
|
67
|
-
}>;
|
|
68
|
-
}
|
|
69
|
-
export interface KnowledgeToolResult {
|
|
70
|
-
content: string;
|
|
71
|
-
score: number;
|
|
72
|
-
metadata: Record<string, unknown>;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=knowledge.d.ts.map
|
package/dist/knowledge.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"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"}
|
package/dist/knowledge.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Knowledge = void 0;
|
|
4
|
-
const persistent_js_1 = require("./providers/persistent.js");
|
|
5
|
-
class Knowledge {
|
|
6
|
-
provider;
|
|
7
|
-
embedder;
|
|
8
|
-
description;
|
|
9
|
-
sources;
|
|
10
|
-
options;
|
|
11
|
-
constructor(provider, embedder, description, sources, options) {
|
|
12
|
-
this.provider = provider;
|
|
13
|
-
this.embedder = embedder;
|
|
14
|
-
this.description = description;
|
|
15
|
-
this.sources = sources;
|
|
16
|
-
this.options = options;
|
|
17
|
-
}
|
|
18
|
-
static async create(options) {
|
|
19
|
-
await options.provider.validateDimensions(options.embedder.dimensions);
|
|
20
|
-
const kb = new Knowledge(options.provider, options.embedder, options.description, options.sources, options);
|
|
21
|
-
const userWantsSync = options.reSync !== false;
|
|
22
|
-
if (!userWantsSync && options.provider instanceof persistent_js_1.PersistentKnowledgeProvider) {
|
|
23
|
-
if (options.provider.shouldReSync()) {
|
|
24
|
-
await kb.sync();
|
|
25
|
-
}
|
|
26
|
-
return kb;
|
|
27
|
-
}
|
|
28
|
-
if (userWantsSync) {
|
|
29
|
-
await kb.sync();
|
|
30
|
-
}
|
|
31
|
-
return kb;
|
|
32
|
-
}
|
|
33
|
-
async query(text, options) {
|
|
34
|
-
const vector = await this.embedder.embed(text);
|
|
35
|
-
return this.provider.query(vector, options);
|
|
36
|
-
}
|
|
37
|
-
async sync() {
|
|
38
|
-
this.options.onSync?.({ type: 'start' });
|
|
39
|
-
try {
|
|
40
|
-
const dimensions = this.embedder.dimensions;
|
|
41
|
-
await this.provider.clear();
|
|
42
|
-
await this.provider.validateDimensions(dimensions);
|
|
43
|
-
const allChunks = [];
|
|
44
|
-
for (const source of this.sources) {
|
|
45
|
-
for await (const chunk of source.load()) {
|
|
46
|
-
allChunks.push(chunk);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const embeddedChunks = await this.embedChunks(allChunks);
|
|
50
|
-
if (embeddedChunks.length > 0) {
|
|
51
|
-
await this.provider.add(embeddedChunks);
|
|
52
|
-
}
|
|
53
|
-
this.options.onSync?.({ type: 'complete', chunksAffected: embeddedChunks.length });
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
this.options.onSync?.({ type: 'error', error: error });
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
async embedChunks(chunks) {
|
|
61
|
-
const embeddedChunks = [];
|
|
62
|
-
for (let i = 0; i < chunks.length; i++) {
|
|
63
|
-
try {
|
|
64
|
-
const vector = await this.embedder.embed(chunks[i].content);
|
|
65
|
-
embeddedChunks.push({ ...chunks[i], vector });
|
|
66
|
-
this.options.onEmbeddingProgress?.({
|
|
67
|
-
source: 'sync',
|
|
68
|
-
current: i + 1,
|
|
69
|
-
total: chunks.length,
|
|
70
|
-
percent: Math.round(((i + 1) / chunks.length) * 100),
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
const action = this.options.onError?.(error, { chunk: chunks[i] });
|
|
75
|
-
if (action === 'abort') {
|
|
76
|
-
throw error;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return embeddedChunks;
|
|
81
|
-
}
|
|
82
|
-
async stop() {
|
|
83
|
-
if (this.provider instanceof persistent_js_1.PersistentKnowledgeProvider) {
|
|
84
|
-
this.provider.close();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
toTool() {
|
|
88
|
-
return {
|
|
89
|
-
name: 'knowledge_search',
|
|
90
|
-
displayName: 'Knowledge Search',
|
|
91
|
-
description: this.description || 'Search the knowledge base for relevant information',
|
|
92
|
-
category: 'search',
|
|
93
|
-
cacheable: false,
|
|
94
|
-
parameters: {
|
|
95
|
-
type: 'object',
|
|
96
|
-
properties: {
|
|
97
|
-
query: { type: 'string', description: 'Search query to find relevant information' },
|
|
98
|
-
limit: { type: 'number', description: 'Maximum number of results to return (default: 10)' },
|
|
99
|
-
threshold: { type: 'number', description: 'Minimum similarity threshold 0-1 (default: 0.7)' },
|
|
100
|
-
filter: { type: 'object', description: 'Optional metadata filters' },
|
|
101
|
-
},
|
|
102
|
-
required: ['query'],
|
|
103
|
-
},
|
|
104
|
-
execute: async (params) => {
|
|
105
|
-
const results = await this.query(params.query, {
|
|
106
|
-
limit: params.limit,
|
|
107
|
-
threshold: params.threshold,
|
|
108
|
-
filter: params.filter,
|
|
109
|
-
});
|
|
110
|
-
return results.map(r => ({
|
|
111
|
-
content: r.chunk.content,
|
|
112
|
-
score: r.score,
|
|
113
|
-
metadata: r.chunk.metadata,
|
|
114
|
-
}));
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
exports.Knowledge = Knowledge;
|
|
120
|
-
//# sourceMappingURL=knowledge.js.map
|
package/dist/knowledge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { KnowledgeProvider, Chunk, QueryOptions, QueryResult } from '../interfaces.js';
|
|
2
|
-
export interface MemoryProviderOptions {
|
|
3
|
-
maxChunks?: number;
|
|
4
|
-
}
|
|
5
|
-
export declare class MemoryProvider implements KnowledgeProvider {
|
|
6
|
-
private options;
|
|
7
|
-
private chunks;
|
|
8
|
-
private dimensions?;
|
|
9
|
-
constructor(options?: MemoryProviderOptions);
|
|
10
|
-
validateDimensions(dimensions: number): Promise<void>;
|
|
11
|
-
add(chunks: Chunk[]): Promise<void>;
|
|
12
|
-
query(queryVector: number[], options?: QueryOptions): Promise<QueryResult[]>;
|
|
13
|
-
delete(ids: string[]): Promise<void>;
|
|
14
|
-
clear(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/providers/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIvF,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,YAAW,iBAAiB;IAI1C,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,MAAM,CAAyD;IACvE,OAAO,CAAC,UAAU,CAAC,CAAS;gBAER,OAAO,GAAE,qBAA0B;IAEjD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAqChF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|