@robthepcguy/rag-vault 1.5.3 → 1.6.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 +86 -14
- package/dist/bin/install-skills.d.ts.map +1 -0
- package/dist/bin/install-skills.js +16 -17
- package/dist/bin/install-skills.js.map +1 -0
- package/dist/chunker/index.d.ts.map +1 -0
- package/dist/chunker/index.js +1 -5
- package/dist/chunker/index.js.map +1 -0
- package/dist/chunker/semantic-chunker.d.ts.map +1 -0
- package/dist/chunker/semantic-chunker.js +9 -13
- package/dist/chunker/semantic-chunker.js.map +1 -0
- package/dist/chunker/sentence-splitter.d.ts.map +1 -0
- package/dist/chunker/sentence-splitter.js +1 -4
- package/dist/chunker/sentence-splitter.js.map +1 -0
- package/dist/embedder/index.d.ts +10 -0
- package/dist/embedder/index.d.ts.map +1 -0
- package/dist/embedder/index.js +58 -32
- package/dist/embedder/index.js.map +1 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +10 -17
- package/dist/errors/index.js.map +1 -0
- package/dist/explainability/index.d.ts.map +1 -0
- package/dist/explainability/index.js +1 -5
- package/dist/explainability/index.js.map +1 -0
- package/dist/explainability/keywords.d.ts.map +1 -0
- package/dist/explainability/keywords.js +1 -4
- package/dist/explainability/keywords.js.map +1 -0
- package/dist/flywheel/feedback.d.ts.map +1 -0
- package/dist/flywheel/feedback.js +15 -19
- package/dist/flywheel/feedback.js.map +1 -0
- package/dist/flywheel/index.d.ts.map +1 -0
- package/dist/flywheel/index.js +1 -5
- package/dist/flywheel/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -64
- package/dist/index.js.map +1 -0
- package/dist/parser/html-parser.d.ts.map +1 -0
- package/dist/parser/html-parser.js +7 -13
- package/dist/parser/html-parser.js.map +1 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +44 -52
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/pdf-filter.d.ts.map +1 -0
- package/dist/parser/pdf-filter.js +10 -16
- package/dist/parser/pdf-filter.js.map +1 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +1 -8
- package/dist/query/index.js.map +1 -0
- package/dist/query/parser.d.ts.map +1 -0
- package/dist/query/parser.js +5 -12
- package/dist/query/parser.js.map +1 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +106 -95
- package/dist/server/index.js.map +1 -0
- package/dist/server/raw-data-utils.d.ts.map +1 -0
- package/dist/server/raw-data-utils.js +21 -33
- package/dist/server/raw-data-utils.js.map +1 -0
- package/dist/server/remote-transport.d.ts +31 -0
- package/dist/server/remote-transport.d.ts.map +1 -0
- package/dist/server/remote-transport.js +177 -0
- package/dist/server/remote-transport.js.map +1 -0
- package/dist/server/schemas.d.ts.map +1 -0
- package/dist/server/schemas.js +35 -38
- package/dist/server/schemas.js.map +1 -0
- package/dist/utils/config-parsers.d.ts.map +1 -0
- package/dist/utils/config-parsers.js +3 -8
- package/dist/utils/config-parsers.js.map +1 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +12 -19
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/embedding-device-cli.d.ts +12 -0
- package/dist/utils/embedding-device-cli.d.ts.map +1 -0
- package/dist/utils/embedding-device-cli.js +61 -0
- package/dist/utils/embedding-device-cli.js.map +1 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +12 -18
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +2 -6
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/process-handlers.d.ts.map +1 -0
- package/dist/utils/process-handlers.js +5 -10
- package/dist/utils/process-handlers.js.map +1 -0
- package/dist/vectordb/index.d.ts.map +1 -0
- package/dist/vectordb/index.js +39 -45
- package/dist/vectordb/index.js.map +1 -0
- package/dist/web/api-routes.d.ts.map +1 -0
- package/dist/web/api-routes.js +41 -47
- package/dist/web/api-routes.js.map +1 -0
- package/dist/web/config-routes.d.ts.map +1 -0
- package/dist/web/config-routes.js +30 -33
- package/dist/web/config-routes.js.map +1 -0
- package/dist/web/database-manager.d.ts.map +1 -0
- package/dist/web/database-manager.js +67 -72
- package/dist/web/database-manager.js.map +1 -0
- package/dist/web/http-server.d.ts.map +1 -0
- package/dist/web/http-server.js +45 -86
- package/dist/web/http-server.js.map +1 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +20 -58
- package/dist/web/index.js.map +1 -0
- package/dist/web/middleware/async-handler.d.ts.map +1 -0
- package/dist/web/middleware/async-handler.js +1 -4
- package/dist/web/middleware/async-handler.js.map +1 -0
- package/dist/web/middleware/auth.d.ts.map +1 -0
- package/dist/web/middleware/auth.js +3 -6
- package/dist/web/middleware/auth.js.map +1 -0
- package/dist/web/middleware/error-handler.d.ts.map +1 -0
- package/dist/web/middleware/error-handler.js +4 -8
- package/dist/web/middleware/error-handler.js.map +1 -0
- package/dist/web/middleware/index.d.ts.map +1 -0
- package/dist/web/middleware/index.js +5 -17
- package/dist/web/middleware/index.js.map +1 -0
- package/dist/web/middleware/rate-limit.d.ts.map +1 -0
- package/dist/web/middleware/rate-limit.js +3 -8
- package/dist/web/middleware/rate-limit.js.map +1 -0
- package/dist/web/middleware/request-logger.d.ts.map +1 -0
- package/dist/web/middleware/request-logger.js +2 -6
- package/dist/web/middleware/request-logger.js.map +1 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/types.js +1 -2
- package/dist/web/types.js.map +1 -0
- package/package.json +31 -35
- package/web-ui/dist/assets/CollectionsPage-BDmEfv3V.js +1 -0
- package/web-ui/dist/assets/FilesPage-pG9HmpgQ.js +1 -0
- package/web-ui/dist/assets/ReaderPage-CwMN03NU.js +28 -0
- package/web-ui/dist/assets/ReaderSettingsContext-CkSjqsRh.js +1 -0
- package/web-ui/dist/assets/SearchPage-DAltjnLL.js +1 -0
- package/web-ui/dist/assets/SettingsPage-C6J5BITP.js +1 -0
- package/web-ui/dist/assets/StatusPage-powRGmW3.js +1 -0
- package/web-ui/dist/assets/UploadPage-eyfSjL4u.js +8 -0
- package/web-ui/dist/assets/format-DOJ3IkRX.js +1 -0
- package/web-ui/dist/assets/index-BpwaiuGL.css +1 -0
- package/web-ui/dist/assets/index-D068MV_o.js +6 -0
- package/web-ui/dist/assets/link-indexer.worker-DGXNsXmZ.js +1 -0
- package/web-ui/dist/assets/motion-CKwJwI3J.js +9 -0
- package/web-ui/dist/assets/query-DPt-uCb6.js +1 -0
- package/web-ui/dist/assets/vendor-C2QPsZ3S.js +10 -0
- package/web-ui/dist/index.html +7 -2
- package/web-ui/dist/assets/index-SBHxoAwi.js +0 -120
- package/web-ui/dist/assets/index-ej8i4PGl.css +0 -1
package/dist/utils/config.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Shared configuration builder for RAG servers
|
|
3
2
|
// Used by both MCP server (src/index.ts) and Web server (src/web/index.ts)
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.buildRAGConfig = buildRAGConfig;
|
|
9
|
-
exports.validateRAGConfig = validateRAGConfig;
|
|
10
|
-
exports.validateAllowedScanRoots = validateAllowedScanRoots;
|
|
11
|
-
const node_fs_1 = require("node:fs");
|
|
12
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
-
const config_parsers_js_1 = require("./config-parsers.js");
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { parseGroupingMode, parseHybridWeight, parseMaxDistance } from './config-parsers.js';
|
|
14
6
|
/**
|
|
15
7
|
* Configuration validation error (internal use only)
|
|
16
8
|
*/
|
|
17
9
|
class ConfigValidationError extends Error {
|
|
10
|
+
field;
|
|
18
11
|
constructor(message, field) {
|
|
19
12
|
super(message);
|
|
20
13
|
this.field = field;
|
|
@@ -43,7 +36,7 @@ const DEFAULTS = {
|
|
|
43
36
|
* - RAG_GROUPING: Quality filter grouping mode ('similar' | 'related')
|
|
44
37
|
* - RAG_HYBRID_WEIGHT: Hybrid search weight (0.0-1.0)
|
|
45
38
|
*/
|
|
46
|
-
function buildRAGConfig(overrides) {
|
|
39
|
+
export function buildRAGConfig(overrides) {
|
|
47
40
|
const config = {
|
|
48
41
|
dbPath: process.env['DB_PATH'] || overrides?.dbPath || DEFAULTS.dbPath,
|
|
49
42
|
modelName: process.env['MODEL_NAME'] || overrides?.modelName || DEFAULTS.modelName,
|
|
@@ -52,9 +45,9 @@ function buildRAGConfig(overrides) {
|
|
|
52
45
|
maxFileSize: Number.parseInt(process.env['MAX_FILE_SIZE'] || String(overrides?.maxFileSize || DEFAULTS.maxFileSize), 10),
|
|
53
46
|
};
|
|
54
47
|
// Add quality filter settings only if defined
|
|
55
|
-
const maxDistance =
|
|
56
|
-
const grouping =
|
|
57
|
-
const hybridWeight =
|
|
48
|
+
const maxDistance = parseMaxDistance(process.env['RAG_MAX_DISTANCE']) ?? overrides?.maxDistance;
|
|
49
|
+
const grouping = parseGroupingMode(process.env['RAG_GROUPING']) ?? overrides?.grouping;
|
|
50
|
+
const hybridWeight = parseHybridWeight(process.env['RAG_HYBRID_WEIGHT']) ?? overrides?.hybridWeight;
|
|
58
51
|
if (maxDistance !== undefined) {
|
|
59
52
|
config.maxDistance = maxDistance;
|
|
60
53
|
}
|
|
@@ -73,7 +66,7 @@ function buildRAGConfig(overrides) {
|
|
|
73
66
|
* @param config - The configuration to validate
|
|
74
67
|
* @throws ConfigValidationError if validation fails
|
|
75
68
|
*/
|
|
76
|
-
function validateRAGConfig(config) {
|
|
69
|
+
export function validateRAGConfig(config) {
|
|
77
70
|
// Validate dbPath - must be a valid path format
|
|
78
71
|
if (!config.dbPath || typeof config.dbPath !== 'string') {
|
|
79
72
|
throw new ConfigValidationError('dbPath must be a non-empty string', 'dbPath');
|
|
@@ -115,17 +108,17 @@ function validateRAGConfig(config) {
|
|
|
115
108
|
*
|
|
116
109
|
* @returns Array of validated root paths
|
|
117
110
|
*/
|
|
118
|
-
function validateAllowedScanRoots() {
|
|
111
|
+
export function validateAllowedScanRoots() {
|
|
119
112
|
const envRoots = process.env['ALLOWED_SCAN_ROOTS'];
|
|
120
113
|
if (!envRoots) {
|
|
121
114
|
return [];
|
|
122
115
|
}
|
|
123
|
-
const roots = envRoots.split(',').map((p) =>
|
|
116
|
+
const roots = envRoots.split(',').map((p) => path.resolve(p.trim()));
|
|
124
117
|
const validRoots = [];
|
|
125
118
|
for (const root of roots) {
|
|
126
119
|
if (!root)
|
|
127
120
|
continue;
|
|
128
|
-
if (!
|
|
121
|
+
if (!existsSync(root)) {
|
|
129
122
|
console.warn(`ALLOWED_SCAN_ROOTS: Path does not exist: ${root}`);
|
|
130
123
|
continue;
|
|
131
124
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply CLI overrides for embedding device and return remaining args.
|
|
3
|
+
*
|
|
4
|
+
* Supported flags:
|
|
5
|
+
* - --embedding-device <value>
|
|
6
|
+
* - --embedding-device=<value>
|
|
7
|
+
* - --device <value>
|
|
8
|
+
* - --device=<value>
|
|
9
|
+
* - --gpu-auto
|
|
10
|
+
*/
|
|
11
|
+
export declare function applyEmbeddingDeviceCliOverride(args: string[]): string[];
|
|
12
|
+
//# sourceMappingURL=embedding-device-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-device-cli.d.ts","sourceRoot":"","sources":["../../src/utils/embedding-device-cli.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwCxE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const DEVICE_VALUE_FLAGS = ['--embedding-device', '--device'];
|
|
2
|
+
const AUTO_DEVICE_FLAGS = ['--gpu-auto'];
|
|
3
|
+
function setEmbeddingDevice(value, source) {
|
|
4
|
+
const normalized = value.trim();
|
|
5
|
+
if (normalized.length === 0) {
|
|
6
|
+
throw new Error(`Empty value for ${source}.`);
|
|
7
|
+
}
|
|
8
|
+
process.env['RAG_EMBEDDING_DEVICE'] = normalized;
|
|
9
|
+
console.error(`Embedding device override from CLI: ${normalized}`);
|
|
10
|
+
}
|
|
11
|
+
function parseInlineFlagValue(arg, prefix) {
|
|
12
|
+
if (!arg.startsWith(prefix)) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return arg.slice(prefix.length);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Apply CLI overrides for embedding device and return remaining args.
|
|
19
|
+
*
|
|
20
|
+
* Supported flags:
|
|
21
|
+
* - --embedding-device <value>
|
|
22
|
+
* - --embedding-device=<value>
|
|
23
|
+
* - --device <value>
|
|
24
|
+
* - --device=<value>
|
|
25
|
+
* - --gpu-auto
|
|
26
|
+
*/
|
|
27
|
+
export function applyEmbeddingDeviceCliOverride(args) {
|
|
28
|
+
const remaining = [];
|
|
29
|
+
for (let i = 0; i < args.length; i++) {
|
|
30
|
+
const arg = args[i];
|
|
31
|
+
if (arg === undefined) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (AUTO_DEVICE_FLAGS.includes(arg)) {
|
|
35
|
+
setEmbeddingDevice('auto', arg);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const deviceFromLongEquals = parseInlineFlagValue(arg, '--embedding-device=');
|
|
39
|
+
if (deviceFromLongEquals !== null) {
|
|
40
|
+
setEmbeddingDevice(deviceFromLongEquals, '--embedding-device');
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const deviceFromShortEquals = parseInlineFlagValue(arg, '--device=');
|
|
44
|
+
if (deviceFromShortEquals !== null) {
|
|
45
|
+
setEmbeddingDevice(deviceFromShortEquals, '--device');
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (DEVICE_VALUE_FLAGS.includes(arg)) {
|
|
49
|
+
const value = args[i + 1];
|
|
50
|
+
if (!value || value.startsWith('-')) {
|
|
51
|
+
throw new Error(`Missing value for ${arg}. Example: ${arg} auto`);
|
|
52
|
+
}
|
|
53
|
+
setEmbeddingDevice(value, arg);
|
|
54
|
+
i++;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
remaining.push(arg);
|
|
58
|
+
}
|
|
59
|
+
return remaining;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=embedding-device-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-device-cli.js","sourceRoot":"","sources":["../../src/utils/embedding-device-cli.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAU,CAAA;AACtE,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAU,CAAA;AAEjD,SAAS,kBAAkB,CAAC,KAAa,EAAE,MAAc;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAA;IAChD,OAAO,CAAC,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW,EAAE,MAAc;IACvD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAAc;IAC5D,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAQ;QACV,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAyC,CAAC,EAAE,CAAC;YAC1E,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;QAC7E,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAClC,kBAAkB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAA;YAC9D,SAAQ;QACV,CAAC;QAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACpE,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,kBAAkB,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;YACrD,SAAQ;QACV,CAAC;QAED,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAA0C,CAAC,EAAE,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,cAAc,GAAG,OAAO,CAAC,CAAA;YACnE,CAAC;YACD,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC9B,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtF"}
|
package/dist/utils/file-utils.js
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Shared file utility functions
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.atomicWriteFile = atomicWriteFile;
|
|
8
|
-
const node_fs_1 = require("node:fs");
|
|
9
|
-
const promises_1 = require("node:fs/promises");
|
|
10
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const node_crypto_1 = require("node:crypto");
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { mkdir, rename, rm, writeFile } from 'node:fs/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { randomUUID } from 'node:crypto';
|
|
12
6
|
/**
|
|
13
7
|
* Atomically write a file using temp file + rename pattern.
|
|
14
8
|
* This prevents read-modify-write race conditions.
|
|
@@ -16,21 +10,21 @@ const node_crypto_1 = require("node:crypto");
|
|
|
16
10
|
* @param filePath - Destination file path
|
|
17
11
|
* @param content - Content to write
|
|
18
12
|
*/
|
|
19
|
-
async function atomicWriteFile(filePath, content) {
|
|
20
|
-
const dir =
|
|
21
|
-
if (!
|
|
22
|
-
await
|
|
13
|
+
export async function atomicWriteFile(filePath, content) {
|
|
14
|
+
const dir = path.dirname(filePath);
|
|
15
|
+
if (!existsSync(dir)) {
|
|
16
|
+
await mkdir(dir, { recursive: true });
|
|
23
17
|
}
|
|
24
18
|
// Write to temp file with unique name, then rename atomically
|
|
25
|
-
const tempPath = `${filePath}.${
|
|
19
|
+
const tempPath = `${filePath}.${randomUUID()}.tmp`;
|
|
26
20
|
try {
|
|
27
|
-
await
|
|
28
|
-
await
|
|
21
|
+
await writeFile(tempPath, content, 'utf-8');
|
|
22
|
+
await rename(tempPath, filePath);
|
|
29
23
|
}
|
|
30
24
|
catch (error) {
|
|
31
25
|
// Clean up temp file on failure
|
|
32
26
|
try {
|
|
33
|
-
await
|
|
27
|
+
await rm(tempPath, { force: true });
|
|
34
28
|
}
|
|
35
29
|
catch {
|
|
36
30
|
// Ignore cleanup errors
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAe;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,MAAM,CAAA;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBvE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAWjE"}
|
package/dist/utils/math.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Mathematical utility functions for vector operations
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.cosineSimilarity = cosineSimilarity;
|
|
5
|
-
exports.dotProduct = dotProduct;
|
|
6
2
|
/**
|
|
7
3
|
* Calculate cosine similarity between two vectors.
|
|
8
4
|
*
|
|
@@ -20,7 +16,7 @@ exports.dotProduct = dotProduct;
|
|
|
20
16
|
* const opposite = cosineSimilarity([1, 0, 0], [-1, 0, 0]) // -1.0 (opposite)
|
|
21
17
|
* ```
|
|
22
18
|
*/
|
|
23
|
-
function cosineSimilarity(vec1, vec2) {
|
|
19
|
+
export function cosineSimilarity(vec1, vec2) {
|
|
24
20
|
if (vec1.length !== vec2.length || vec1.length === 0) {
|
|
25
21
|
return 0;
|
|
26
22
|
}
|
|
@@ -46,7 +42,7 @@ function cosineSimilarity(vec1, vec2) {
|
|
|
46
42
|
* @param vec2 - Second vector
|
|
47
43
|
* @returns Dot product value, or 0 if vectors have different lengths
|
|
48
44
|
*/
|
|
49
|
-
function dotProduct(vec1, vec2) {
|
|
45
|
+
export function dotProduct(vec1, vec2) {
|
|
50
46
|
if (vec1.length !== vec2.length) {
|
|
51
47
|
return 0;
|
|
52
48
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc,EAAE,IAAc;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACvB,UAAU,IAAI,EAAE,GAAG,EAAE,CAAA;QACrB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAA;QAChB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvD,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAE/B,OAAO,UAAU,GAAG,WAAW,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,IAAc;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-handlers.d.ts","sourceRoot":"","sources":["../../src/utils/process-handlers.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAErE;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAI,GAAG,IAAI,CAgCvD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA8C5C"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Shared process error handlers
|
|
3
2
|
// Used by both MCP server (src/index.ts) and Web server (src/web/index.ts)
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.onShutdown = onShutdown;
|
|
6
|
-
exports.setupProcessHandlers = setupProcessHandlers;
|
|
7
|
-
exports.setupGracefulShutdown = setupGracefulShutdown;
|
|
8
3
|
/** Cleanup callbacks registered for graceful shutdown */
|
|
9
4
|
const cleanupCallbacks = [];
|
|
10
5
|
/** Track if process handlers have been registered (prevent duplicate registration) */
|
|
@@ -12,9 +7,9 @@ let processHandlersRegistered = false;
|
|
|
12
7
|
/** Track if graceful shutdown handlers have been registered (prevent duplicate registration) */
|
|
13
8
|
let gracefulShutdownRegistered = false;
|
|
14
9
|
/** Timeout for cleanup operations (10 seconds) */
|
|
15
|
-
const CLEANUP_TIMEOUT_MS =
|
|
10
|
+
const CLEANUP_TIMEOUT_MS = 10_000;
|
|
16
11
|
/** Timeout for individual cleanup callback (5 seconds) */
|
|
17
|
-
const CALLBACK_TIMEOUT_MS =
|
|
12
|
+
const CALLBACK_TIMEOUT_MS = 5_000;
|
|
18
13
|
/**
|
|
19
14
|
* Register a cleanup callback for graceful shutdown
|
|
20
15
|
*
|
|
@@ -22,7 +17,7 @@ const CALLBACK_TIMEOUT_MS = 5000;
|
|
|
22
17
|
*
|
|
23
18
|
* @param callback - Cleanup function to execute on shutdown
|
|
24
19
|
*/
|
|
25
|
-
function onShutdown(callback) {
|
|
20
|
+
export function onShutdown(callback) {
|
|
26
21
|
cleanupCallbacks.push(callback);
|
|
27
22
|
}
|
|
28
23
|
/**
|
|
@@ -54,7 +49,7 @@ async function runCleanupCallbacks() {
|
|
|
54
49
|
*
|
|
55
50
|
* @param exitCode - Exit code to use on error (default: 1)
|
|
56
51
|
*/
|
|
57
|
-
function setupProcessHandlers(exitCode = 1) {
|
|
52
|
+
export function setupProcessHandlers(exitCode = 1) {
|
|
58
53
|
// Guard against duplicate registration
|
|
59
54
|
if (processHandlersRegistered) {
|
|
60
55
|
return;
|
|
@@ -93,7 +88,7 @@ function setupProcessHandlers(exitCode = 1) {
|
|
|
93
88
|
* Includes a forced exit timeout to prevent hanging on slow cleanup.
|
|
94
89
|
* Guards against duplicate registration to prevent multiple handlers.
|
|
95
90
|
*/
|
|
96
|
-
function setupGracefulShutdown() {
|
|
91
|
+
export function setupGracefulShutdown() {
|
|
97
92
|
// Guard against duplicate registration
|
|
98
93
|
if (gracefulShutdownRegistered) {
|
|
99
94
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-handlers.js","sourceRoot":"","sources":["../../src/utils/process-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"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"}
|
package/dist/vectordb/index.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// VectorStore implementation with LanceDB integration
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.generateChunkFingerprint = generateChunkFingerprint;
|
|
7
|
-
const node_crypto_1 = require("node:crypto");
|
|
8
|
-
const lancedb_1 = require("@lancedb/lancedb");
|
|
9
|
-
const index_js_1 = require("../errors/index.js");
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { Index, connect } from '@lancedb/lancedb';
|
|
4
|
+
import { DatabaseError } from '../errors/index.js';
|
|
10
5
|
// Re-export error class for backwards compatibility
|
|
11
|
-
|
|
12
|
-
Object.defineProperty(exports, "DatabaseError", { enumerable: true, get: function () { return index_js_2.DatabaseError; } });
|
|
6
|
+
export { DatabaseError } from '../errors/index.js';
|
|
13
7
|
// ============================================
|
|
14
8
|
// Constants (configurable via environment variables)
|
|
15
9
|
// ============================================
|
|
@@ -97,7 +91,7 @@ const SAFE_PATH_REGEX = /^[a-zA-Z0-9\\/_.:\- ]+$/;
|
|
|
97
91
|
* @param filePath - The file path to validate
|
|
98
92
|
* @returns true if path is safe for use in queries
|
|
99
93
|
*/
|
|
100
|
-
function isValidFilePath(filePath) {
|
|
94
|
+
export function isValidFilePath(filePath) {
|
|
101
95
|
if (!filePath || typeof filePath !== 'string')
|
|
102
96
|
return false;
|
|
103
97
|
if (filePath.includes('..'))
|
|
@@ -127,9 +121,9 @@ function normalizeTextForFingerprint(text) {
|
|
|
127
121
|
* Uses SHA-256 hash of normalized text (first 16 hex chars for compactness).
|
|
128
122
|
* This enables stable chunk identification across re-indexing.
|
|
129
123
|
*/
|
|
130
|
-
function generateChunkFingerprint(text) {
|
|
124
|
+
export function generateChunkFingerprint(text) {
|
|
131
125
|
const normalized = normalizeTextForFingerprint(text);
|
|
132
|
-
const hash =
|
|
126
|
+
const hash = createHash('sha256').update(normalized, 'utf8').digest('hex');
|
|
133
127
|
// Use first 16 characters (64 bits) - sufficient for practical uniqueness
|
|
134
128
|
return hash.slice(0, 16);
|
|
135
129
|
}
|
|
@@ -190,7 +184,7 @@ function toDbRecord(chunk) {
|
|
|
190
184
|
*/
|
|
191
185
|
function toSearchResult(raw) {
|
|
192
186
|
if (!isLanceDBRawResult(raw)) {
|
|
193
|
-
throw new
|
|
187
|
+
throw new DatabaseError('Invalid search result format from LanceDB');
|
|
194
188
|
}
|
|
195
189
|
const result = {
|
|
196
190
|
filePath: raw.filePath,
|
|
@@ -225,19 +219,20 @@ function toSearchResult(raw) {
|
|
|
225
219
|
* - Auto-recovers after 5-minute cooldown
|
|
226
220
|
* - Prevents permanent FTS disable from transient errors
|
|
227
221
|
*/
|
|
228
|
-
class VectorStore {
|
|
222
|
+
export class VectorStore {
|
|
223
|
+
db = null;
|
|
224
|
+
table = null;
|
|
225
|
+
config;
|
|
226
|
+
ftsEnabled = false;
|
|
227
|
+
ftsFailureCount = 0;
|
|
228
|
+
ftsLastFailure = null;
|
|
229
|
+
/** Promise-based mutex for atomic circuit breaker reset */
|
|
230
|
+
ftsRecoveryPromise = null;
|
|
231
|
+
/** Runtime override for hybrid weight (allows dynamic adjustment) */
|
|
232
|
+
hybridWeightOverride = null;
|
|
233
|
+
/** Promise-based mutex for table creation (prevents race on first insert) */
|
|
234
|
+
tableCreationPromise = null;
|
|
229
235
|
constructor(config) {
|
|
230
|
-
this.db = null;
|
|
231
|
-
this.table = null;
|
|
232
|
-
this.ftsEnabled = false;
|
|
233
|
-
this.ftsFailureCount = 0;
|
|
234
|
-
this.ftsLastFailure = null;
|
|
235
|
-
/** Promise-based mutex for atomic circuit breaker reset */
|
|
236
|
-
this.ftsRecoveryPromise = null;
|
|
237
|
-
/** Runtime override for hybrid weight (allows dynamic adjustment) */
|
|
238
|
-
this.hybridWeightOverride = null;
|
|
239
|
-
/** Promise-based mutex for table creation (prevents race on first insert) */
|
|
240
|
-
this.tableCreationPromise = null;
|
|
241
236
|
this.config = config;
|
|
242
237
|
}
|
|
243
238
|
/**
|
|
@@ -388,7 +383,7 @@ class VectorStore {
|
|
|
388
383
|
*/
|
|
389
384
|
async addChunksWithSchemaFallback(chunks) {
|
|
390
385
|
if (!this.table) {
|
|
391
|
-
throw new
|
|
386
|
+
throw new DatabaseError('VectorStore is not initialized. Call initialize() first.');
|
|
392
387
|
}
|
|
393
388
|
let chunksToInsert = chunks;
|
|
394
389
|
const removedFields = new Set();
|
|
@@ -418,7 +413,7 @@ class VectorStore {
|
|
|
418
413
|
chunksToInsert = strippedChunks;
|
|
419
414
|
}
|
|
420
415
|
}
|
|
421
|
-
throw new
|
|
416
|
+
throw new DatabaseError('Failed to insert chunks after schema fallback retries');
|
|
422
417
|
}
|
|
423
418
|
/**
|
|
424
419
|
* Initialize LanceDB and create table
|
|
@@ -426,7 +421,7 @@ class VectorStore {
|
|
|
426
421
|
async initialize() {
|
|
427
422
|
try {
|
|
428
423
|
// Connect to LanceDB
|
|
429
|
-
this.db = await
|
|
424
|
+
this.db = await connect(this.config.dbPath);
|
|
430
425
|
// Check table existence and create if needed
|
|
431
426
|
const tableNames = await this.db.tableNames();
|
|
432
427
|
if (tableNames.includes(this.config.tableName)) {
|
|
@@ -463,7 +458,7 @@ class VectorStore {
|
|
|
463
458
|
}
|
|
464
459
|
this.db = null;
|
|
465
460
|
}
|
|
466
|
-
throw new
|
|
461
|
+
throw new DatabaseError('Failed to initialize VectorStore', error);
|
|
467
462
|
}
|
|
468
463
|
}
|
|
469
464
|
/**
|
|
@@ -479,7 +474,7 @@ class VectorStore {
|
|
|
479
474
|
}
|
|
480
475
|
// Validate file path before use in query to prevent SQL injection
|
|
481
476
|
if (!isValidFilePath(filePath)) {
|
|
482
|
-
throw new
|
|
477
|
+
throw new DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
|
|
483
478
|
}
|
|
484
479
|
// Escape path before try block so it's available in catch for logging
|
|
485
480
|
const escapedFilePath = filePath.replace(/'/g, "''");
|
|
@@ -507,7 +502,7 @@ class VectorStore {
|
|
|
507
502
|
const errorMessage = error.message.toLowerCase();
|
|
508
503
|
const isIgnorable = DELETE_IGNORABLE_PATTERNS.some((pattern) => errorMessage.includes(pattern));
|
|
509
504
|
if (!isIgnorable) {
|
|
510
|
-
throw new
|
|
505
|
+
throw new DatabaseError(`Failed to delete chunks for file: ${filePath}`, error);
|
|
511
506
|
}
|
|
512
507
|
// Ignorable errors (no matching records) are logged but not thrown
|
|
513
508
|
}
|
|
@@ -537,7 +532,7 @@ class VectorStore {
|
|
|
537
532
|
if (!this.table) {
|
|
538
533
|
// Create table on first insertion with mutex
|
|
539
534
|
if (!this.db) {
|
|
540
|
-
throw new
|
|
535
|
+
throw new DatabaseError('VectorStore is not initialized. Call initialize() first.');
|
|
541
536
|
}
|
|
542
537
|
// Set promise atomically before async operation
|
|
543
538
|
this.tableCreationPromise = (async () => {
|
|
@@ -565,7 +560,7 @@ class VectorStore {
|
|
|
565
560
|
console.error(`VectorStore: Inserted ${chunks.length} chunks`);
|
|
566
561
|
}
|
|
567
562
|
catch (error) {
|
|
568
|
-
throw new
|
|
563
|
+
throw new DatabaseError('Failed to insert chunks', error);
|
|
569
564
|
}
|
|
570
565
|
}
|
|
571
566
|
/**
|
|
@@ -590,7 +585,7 @@ class VectorStore {
|
|
|
590
585
|
// - max=3: Balance between precision and index size
|
|
591
586
|
// - prefixOnly=false: Generate ngrams from all positions for proper CJK support
|
|
592
587
|
await this.table.createIndex('text', {
|
|
593
|
-
config:
|
|
588
|
+
config: Index.fts({
|
|
594
589
|
baseTokenizer: 'ngram',
|
|
595
590
|
ngramMinLength: 2,
|
|
596
591
|
ngramMaxLength: 3,
|
|
@@ -691,7 +686,7 @@ class VectorStore {
|
|
|
691
686
|
return [];
|
|
692
687
|
}
|
|
693
688
|
if (limit < 1 || limit > 20) {
|
|
694
|
-
throw new
|
|
689
|
+
throw new DatabaseError(`Invalid limit: expected 1-20, got ${limit}`);
|
|
695
690
|
}
|
|
696
691
|
try {
|
|
697
692
|
// Step 1: Semantic (vector) search - always the primary search
|
|
@@ -740,7 +735,7 @@ class VectorStore {
|
|
|
740
735
|
return results.slice(0, limit);
|
|
741
736
|
}
|
|
742
737
|
catch (error) {
|
|
743
|
-
throw new
|
|
738
|
+
throw new DatabaseError('Failed to search vectors', error);
|
|
744
739
|
}
|
|
745
740
|
}
|
|
746
741
|
/**
|
|
@@ -847,7 +842,7 @@ class VectorStore {
|
|
|
847
842
|
return results;
|
|
848
843
|
}
|
|
849
844
|
catch (error) {
|
|
850
|
-
throw new
|
|
845
|
+
throw new DatabaseError('Failed to list files', error);
|
|
851
846
|
}
|
|
852
847
|
}
|
|
853
848
|
/**
|
|
@@ -890,7 +885,7 @@ class VectorStore {
|
|
|
890
885
|
console.error('VectorStore: Connection closed');
|
|
891
886
|
// Propagate errors to caller after cleanup is complete
|
|
892
887
|
if (errors.length > 0) {
|
|
893
|
-
throw new
|
|
888
|
+
throw new DatabaseError(`Errors during close: ${errors.map((e) => e.message).join('; ')}`, errors[0]);
|
|
894
889
|
}
|
|
895
890
|
}
|
|
896
891
|
/**
|
|
@@ -905,7 +900,7 @@ class VectorStore {
|
|
|
905
900
|
}
|
|
906
901
|
// Validate file path before use in query
|
|
907
902
|
if (!isValidFilePath(filePath)) {
|
|
908
|
-
throw new
|
|
903
|
+
throw new DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
|
|
909
904
|
}
|
|
910
905
|
try {
|
|
911
906
|
const escapedFilePath = filePath.replace(/'/g, "''");
|
|
@@ -929,7 +924,7 @@ class VectorStore {
|
|
|
929
924
|
return chunks.sort((a, b) => a.chunkIndex - b.chunkIndex);
|
|
930
925
|
}
|
|
931
926
|
catch (error) {
|
|
932
|
-
throw new
|
|
927
|
+
throw new DatabaseError(`Failed to get document chunks for: ${filePath}`, error);
|
|
933
928
|
}
|
|
934
929
|
}
|
|
935
930
|
/**
|
|
@@ -947,7 +942,7 @@ class VectorStore {
|
|
|
947
942
|
}
|
|
948
943
|
// Validate file path before use in query
|
|
949
944
|
if (!isValidFilePath(filePath)) {
|
|
950
|
-
throw new
|
|
945
|
+
throw new DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
|
|
951
946
|
}
|
|
952
947
|
try {
|
|
953
948
|
// First, fetch the source chunk to get its vector
|
|
@@ -1000,7 +995,7 @@ class VectorStore {
|
|
|
1000
995
|
}
|
|
1001
996
|
catch (error) {
|
|
1002
997
|
const cause = error instanceof Error ? error.message : String(error);
|
|
1003
|
-
throw new
|
|
998
|
+
throw new DatabaseError(`Failed to find related chunks for: ${filePath}:${chunkIndex}: ${cause}`, error);
|
|
1004
999
|
}
|
|
1005
1000
|
}
|
|
1006
1001
|
/**
|
|
@@ -1043,9 +1038,8 @@ class VectorStore {
|
|
|
1043
1038
|
};
|
|
1044
1039
|
}
|
|
1045
1040
|
catch (error) {
|
|
1046
|
-
throw new
|
|
1041
|
+
throw new DatabaseError('Failed to get status', error);
|
|
1047
1042
|
}
|
|
1048
1043
|
}
|
|
1049
1044
|
}
|
|
1050
|
-
exports.VectorStore = VectorStore;
|
|
1051
1045
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"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"}
|