@robthepcguy/rag-vault 1.5.2 → 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 +56 -89
- package/dist/web/http-server.js.map +1 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +31 -59
- 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
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// DatabaseManager - Manages RAG database lifecycle and configuration
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const promises_1 = require("node:fs/promises");
|
|
10
|
-
const node_os_1 = require("node:os");
|
|
11
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
const schemas_js_1 = require("../server/schemas.js");
|
|
13
|
-
const file_utils_js_1 = require("../utils/file-utils.js");
|
|
2
|
+
import { existsSync, realpathSync } from 'node:fs';
|
|
3
|
+
import { mkdir, readdir, readFile, rm, stat } from 'node:fs/promises';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import { RecentDatabasesFileSchema, StatusResponseSchema } from '../server/schemas.js';
|
|
7
|
+
import { atomicWriteFile } from '../utils/file-utils.js';
|
|
14
8
|
// ============================================
|
|
15
9
|
// Constants
|
|
16
10
|
// ============================================
|
|
17
11
|
/** Config directory for rag-vault */
|
|
18
|
-
const CONFIG_DIR =
|
|
12
|
+
const CONFIG_DIR = path.join(homedir(), '.rag-vault');
|
|
19
13
|
/** Recent databases file path */
|
|
20
|
-
const RECENT_DBS_FILE =
|
|
14
|
+
const RECENT_DBS_FILE = path.join(CONFIG_DIR, 'recent-dbs.json');
|
|
21
15
|
/** User-added allowed roots file path */
|
|
22
|
-
const ALLOWED_ROOTS_FILE =
|
|
16
|
+
const ALLOWED_ROOTS_FILE = path.join(CONFIG_DIR, 'allowed-roots.json');
|
|
23
17
|
/** LanceDB directory name (indicator of a valid database) */
|
|
24
18
|
const LANCEDB_DIR_NAME = 'chunks.lance';
|
|
25
19
|
/** Maximum number of recent databases to track */
|
|
@@ -31,23 +25,23 @@ const MAX_RECENT_DATABASES = 10;
|
|
|
31
25
|
function getEnvAllowedScanRoots() {
|
|
32
26
|
const envRoots = process.env['ALLOWED_SCAN_ROOTS'];
|
|
33
27
|
if (envRoots) {
|
|
34
|
-
return envRoots.split(',').map((p) =>
|
|
28
|
+
return envRoots.split(',').map((p) => path.resolve(p.trim()));
|
|
35
29
|
}
|
|
36
30
|
// Default: only allow scanning within home directory
|
|
37
|
-
return [
|
|
31
|
+
return [homedir()];
|
|
38
32
|
}
|
|
39
33
|
/**
|
|
40
34
|
* Read user-added allowed roots from config file
|
|
41
35
|
* Note: This is async to avoid blocking the event loop
|
|
42
36
|
*/
|
|
43
37
|
async function readUserAllowedRoots() {
|
|
44
|
-
if (!
|
|
38
|
+
if (!existsSync(ALLOWED_ROOTS_FILE)) {
|
|
45
39
|
return [];
|
|
46
40
|
}
|
|
47
41
|
try {
|
|
48
|
-
const content = JSON.parse(await
|
|
42
|
+
const content = JSON.parse(await readFile(ALLOWED_ROOTS_FILE, 'utf-8'));
|
|
49
43
|
if (Array.isArray(content.roots)) {
|
|
50
|
-
return content.roots.map((p) =>
|
|
44
|
+
return content.roots.map((p) => path.resolve(p));
|
|
51
45
|
}
|
|
52
46
|
return [];
|
|
53
47
|
}
|
|
@@ -60,7 +54,7 @@ async function readUserAllowedRoots() {
|
|
|
60
54
|
* Uses atomic write to prevent race conditions
|
|
61
55
|
*/
|
|
62
56
|
async function writeUserAllowedRoots(roots) {
|
|
63
|
-
await
|
|
57
|
+
await atomicWriteFile(ALLOWED_ROOTS_FILE, JSON.stringify({ roots }, null, 2));
|
|
64
58
|
}
|
|
65
59
|
/**
|
|
66
60
|
* Check if a path is within a set of allowed roots
|
|
@@ -69,7 +63,7 @@ function isPathWithinRoots(targetPath, allowedRoots) {
|
|
|
69
63
|
let resolvedPath;
|
|
70
64
|
try {
|
|
71
65
|
// Resolve to absolute path and resolve symlinks
|
|
72
|
-
resolvedPath =
|
|
66
|
+
resolvedPath = existsSync(targetPath) ? realpathSync(targetPath) : path.resolve(targetPath);
|
|
73
67
|
}
|
|
74
68
|
catch {
|
|
75
69
|
// If we can't resolve the path, reject it
|
|
@@ -77,10 +71,10 @@ function isPathWithinRoots(targetPath, allowedRoots) {
|
|
|
77
71
|
}
|
|
78
72
|
// Check if the resolved path is within any allowed root
|
|
79
73
|
return allowedRoots.some((root) => {
|
|
80
|
-
const normalizedRoot =
|
|
81
|
-
const normalizedTarget =
|
|
74
|
+
const normalizedRoot = path.normalize(root);
|
|
75
|
+
const normalizedTarget = path.normalize(resolvedPath);
|
|
82
76
|
// Ensure exact prefix match (avoid /home/user matching /home/username)
|
|
83
|
-
return (normalizedTarget === normalizedRoot || normalizedTarget.startsWith(normalizedRoot +
|
|
77
|
+
return (normalizedTarget === normalizedRoot || normalizedTarget.startsWith(normalizedRoot + path.sep));
|
|
84
78
|
});
|
|
85
79
|
}
|
|
86
80
|
/**
|
|
@@ -88,17 +82,17 @@ function isPathWithinRoots(targetPath, allowedRoots) {
|
|
|
88
82
|
*/
|
|
89
83
|
function expandTilde(filePath) {
|
|
90
84
|
if (filePath.startsWith('~/')) {
|
|
91
|
-
return
|
|
85
|
+
return path.join(homedir(), filePath.slice(2));
|
|
92
86
|
}
|
|
93
87
|
if (filePath === '~') {
|
|
94
|
-
return
|
|
88
|
+
return homedir();
|
|
95
89
|
}
|
|
96
90
|
return filePath;
|
|
97
91
|
}
|
|
98
92
|
/**
|
|
99
93
|
* Preset embedding models
|
|
100
94
|
*/
|
|
101
|
-
|
|
95
|
+
export const AVAILABLE_MODELS = [
|
|
102
96
|
{
|
|
103
97
|
id: 'Xenova/all-MiniLM-L6-v2',
|
|
104
98
|
name: 'all-MiniLM-L6-v2',
|
|
@@ -148,11 +142,13 @@ exports.AVAILABLE_MODELS = [
|
|
|
148
142
|
* - Persist recent databases list
|
|
149
143
|
* - Discover databases by scanning directories
|
|
150
144
|
*/
|
|
151
|
-
class DatabaseManager {
|
|
145
|
+
export class DatabaseManager {
|
|
146
|
+
currentServer = null;
|
|
147
|
+
currentConfig = null;
|
|
148
|
+
serverFactory;
|
|
149
|
+
baseConfig;
|
|
150
|
+
switchPromise = null;
|
|
152
151
|
constructor(serverFactory, baseConfig) {
|
|
153
|
-
this.currentServer = null;
|
|
154
|
-
this.currentConfig = null;
|
|
155
|
-
this.switchPromise = null;
|
|
156
152
|
this.serverFactory = serverFactory;
|
|
157
153
|
this.baseConfig = baseConfig;
|
|
158
154
|
}
|
|
@@ -201,7 +197,7 @@ class DatabaseManager {
|
|
|
201
197
|
throw new Error('Malformed server response: missing text in content');
|
|
202
198
|
}
|
|
203
199
|
// Parse and validate status response with Zod
|
|
204
|
-
const parsed =
|
|
200
|
+
const parsed = StatusResponseSchema.safeParse(JSON.parse(firstContent.text));
|
|
205
201
|
if (!parsed.success) {
|
|
206
202
|
throw new Error(`Invalid status response: ${parsed.error.message}`);
|
|
207
203
|
}
|
|
@@ -228,11 +224,11 @@ class DatabaseManager {
|
|
|
228
224
|
const resolvedPath = expandTilde(newDbPath);
|
|
229
225
|
await this.assertPathAllowedForMutation('Switch path', resolvedPath);
|
|
230
226
|
// Validate the new path exists and is a valid database
|
|
231
|
-
if (!
|
|
227
|
+
if (!existsSync(resolvedPath)) {
|
|
232
228
|
throw new Error(`Database path does not exist: ${resolvedPath}`);
|
|
233
229
|
}
|
|
234
|
-
const lanceDbPath =
|
|
235
|
-
if (!
|
|
230
|
+
const lanceDbPath = path.join(resolvedPath, LANCEDB_DIR_NAME);
|
|
231
|
+
if (!existsSync(lanceDbPath)) {
|
|
236
232
|
throw new Error(`Invalid database: ${resolvedPath} (missing LanceDB data)`);
|
|
237
233
|
}
|
|
238
234
|
// Look up stored model name from recent databases
|
|
@@ -293,14 +289,14 @@ class DatabaseManager {
|
|
|
293
289
|
const resolvedPath = expandTilde(options.dbPath);
|
|
294
290
|
await this.assertPathAllowedForMutation('Create path', resolvedPath);
|
|
295
291
|
// Check if path already exists
|
|
296
|
-
if (
|
|
297
|
-
const lanceDbPath =
|
|
298
|
-
if (
|
|
292
|
+
if (existsSync(resolvedPath)) {
|
|
293
|
+
const lanceDbPath = path.join(resolvedPath, LANCEDB_DIR_NAME);
|
|
294
|
+
if (existsSync(lanceDbPath)) {
|
|
299
295
|
throw new Error(`Database already exists at: ${resolvedPath}`);
|
|
300
296
|
}
|
|
301
297
|
}
|
|
302
298
|
// Create the directory if needed
|
|
303
|
-
await
|
|
299
|
+
await mkdir(resolvedPath, { recursive: true });
|
|
304
300
|
// Switch to the new database (it will be empty initially)
|
|
305
301
|
// The VectorStore will create the table on first data insertion
|
|
306
302
|
await this.switchToNewDatabase(resolvedPath, options.modelName);
|
|
@@ -367,21 +363,21 @@ class DatabaseManager {
|
|
|
367
363
|
*/
|
|
368
364
|
async getRecentDatabases() {
|
|
369
365
|
await this.ensureConfigDir();
|
|
370
|
-
if (!
|
|
366
|
+
if (!existsSync(RECENT_DBS_FILE)) {
|
|
371
367
|
return [];
|
|
372
368
|
}
|
|
373
369
|
try {
|
|
374
|
-
const content = await
|
|
370
|
+
const content = await readFile(RECENT_DBS_FILE, 'utf-8');
|
|
375
371
|
const jsonData = JSON.parse(content);
|
|
376
372
|
// Validate with Zod schema
|
|
377
|
-
const parsed =
|
|
373
|
+
const parsed = RecentDatabasesFileSchema.safeParse(jsonData);
|
|
378
374
|
if (!parsed.success) {
|
|
379
375
|
console.error('Recent databases file has invalid format:', parsed.error.message);
|
|
380
376
|
console.error('File will be overwritten on next database access.');
|
|
381
377
|
return [];
|
|
382
378
|
}
|
|
383
379
|
// Filter out databases that no longer exist
|
|
384
|
-
const validDatabases = parsed.data.databases.filter((db) =>
|
|
380
|
+
const validDatabases = parsed.data.databases.filter((db) => existsSync(db.path));
|
|
385
381
|
return validDatabases;
|
|
386
382
|
}
|
|
387
383
|
catch (error) {
|
|
@@ -401,7 +397,7 @@ class DatabaseManager {
|
|
|
401
397
|
* Get the base directory (dbPath directory)
|
|
402
398
|
*/
|
|
403
399
|
getBaseDir() {
|
|
404
|
-
return this.currentConfig ?
|
|
400
|
+
return this.currentConfig ? path.dirname(this.currentConfig.dbPath) : homedir();
|
|
405
401
|
}
|
|
406
402
|
/**
|
|
407
403
|
* Get all effective allowed roots (env + baseDir + user-added)
|
|
@@ -440,8 +436,8 @@ class DatabaseManager {
|
|
|
440
436
|
* Add a user-allowed root
|
|
441
437
|
*/
|
|
442
438
|
async addUserAllowedRoot(rootPath) {
|
|
443
|
-
const resolved =
|
|
444
|
-
if (!
|
|
439
|
+
const resolved = path.resolve(expandTilde(rootPath));
|
|
440
|
+
if (!existsSync(resolved)) {
|
|
445
441
|
throw new Error(`Path does not exist: ${resolved}`);
|
|
446
442
|
}
|
|
447
443
|
const roots = await readUserAllowedRoots();
|
|
@@ -454,7 +450,7 @@ class DatabaseManager {
|
|
|
454
450
|
* Remove a user-allowed root
|
|
455
451
|
*/
|
|
456
452
|
async removeUserAllowedRoot(rootPath) {
|
|
457
|
-
const resolved =
|
|
453
|
+
const resolved = path.resolve(expandTilde(rootPath));
|
|
458
454
|
const roots = await readUserAllowedRoots();
|
|
459
455
|
const filtered = roots.filter((r) => r !== resolved);
|
|
460
456
|
await writeUserAllowedRoots(filtered);
|
|
@@ -465,17 +461,17 @@ class DatabaseManager {
|
|
|
465
461
|
* @param showHidden - Whether to include hidden files (starting with .)
|
|
466
462
|
*/
|
|
467
463
|
async listDirectory(dirPath, showHidden = false) {
|
|
468
|
-
const resolved =
|
|
464
|
+
const resolved = path.resolve(expandTilde(dirPath));
|
|
469
465
|
// Allow browsing root directories and paths within allowed roots
|
|
470
466
|
// For security, we still allow browsing but the user can only add paths as allowed roots
|
|
471
|
-
if (!
|
|
467
|
+
if (!existsSync(resolved)) {
|
|
472
468
|
throw new Error(`Directory does not exist: ${resolved}`);
|
|
473
469
|
}
|
|
474
|
-
const dirStat = await
|
|
470
|
+
const dirStat = await stat(resolved);
|
|
475
471
|
if (!dirStat.isDirectory()) {
|
|
476
472
|
throw new Error(`Path is not a directory: ${resolved}`);
|
|
477
473
|
}
|
|
478
|
-
const entries = await
|
|
474
|
+
const entries = await readdir(resolved, { withFileTypes: true });
|
|
479
475
|
const results = [];
|
|
480
476
|
for (const entry of entries) {
|
|
481
477
|
// Skip hidden files/directories unless showHidden is true
|
|
@@ -483,7 +479,7 @@ class DatabaseManager {
|
|
|
483
479
|
continue;
|
|
484
480
|
results.push({
|
|
485
481
|
name: entry.name,
|
|
486
|
-
path:
|
|
482
|
+
path: path.join(resolved, entry.name),
|
|
487
483
|
isDirectory: entry.isDirectory(),
|
|
488
484
|
});
|
|
489
485
|
}
|
|
@@ -519,18 +515,18 @@ class DatabaseManager {
|
|
|
519
515
|
const results = [];
|
|
520
516
|
const recentDbs = await this.getRecentDatabases();
|
|
521
517
|
const knownPaths = new Set(recentDbs.map((db) => db.path));
|
|
522
|
-
if (!
|
|
518
|
+
if (!existsSync(resolvedPath)) {
|
|
523
519
|
throw new Error(`Scan path does not exist: ${resolvedPath}`);
|
|
524
520
|
}
|
|
525
|
-
const scanStat = await
|
|
521
|
+
const scanStat = await stat(resolvedPath);
|
|
526
522
|
if (!scanStat.isDirectory()) {
|
|
527
523
|
throw new Error(`Scan path is not a directory: ${resolvedPath}`);
|
|
528
524
|
}
|
|
529
525
|
// Recursive scan function with depth tracking
|
|
530
526
|
const scanDirectory = async (dirPath, currentDepth) => {
|
|
531
527
|
// Check if this directory is a database
|
|
532
|
-
const lanceDbPath =
|
|
533
|
-
if (
|
|
528
|
+
const lanceDbPath = path.join(dirPath, LANCEDB_DIR_NAME);
|
|
529
|
+
if (existsSync(lanceDbPath)) {
|
|
534
530
|
results.push({
|
|
535
531
|
path: dirPath,
|
|
536
532
|
name: this.getNameFromPath(dirPath),
|
|
@@ -543,14 +539,14 @@ class DatabaseManager {
|
|
|
543
539
|
if (currentDepth >= maxDepth)
|
|
544
540
|
return;
|
|
545
541
|
try {
|
|
546
|
-
const entries = await
|
|
542
|
+
const entries = await readdir(dirPath, { withFileTypes: true });
|
|
547
543
|
for (const entry of entries) {
|
|
548
544
|
if (!entry.isDirectory())
|
|
549
545
|
continue;
|
|
550
546
|
// Skip hidden directories
|
|
551
547
|
if (entry.name.startsWith('.'))
|
|
552
548
|
continue;
|
|
553
|
-
const subPath =
|
|
549
|
+
const subPath = path.join(dirPath, entry.name);
|
|
554
550
|
await scanDirectory(subPath, currentDepth + 1);
|
|
555
551
|
}
|
|
556
552
|
}
|
|
@@ -566,7 +562,7 @@ class DatabaseManager {
|
|
|
566
562
|
* Get available embedding models
|
|
567
563
|
*/
|
|
568
564
|
getAvailableModels() {
|
|
569
|
-
return
|
|
565
|
+
return AVAILABLE_MODELS;
|
|
570
566
|
}
|
|
571
567
|
/**
|
|
572
568
|
* Export configuration (allowed roots)
|
|
@@ -591,8 +587,8 @@ class DatabaseManager {
|
|
|
591
587
|
// Validate each path exists before importing
|
|
592
588
|
const validRoots = [];
|
|
593
589
|
for (const root of config.allowedRoots) {
|
|
594
|
-
const resolved =
|
|
595
|
-
if (
|
|
590
|
+
const resolved = path.resolve(expandTilde(root));
|
|
591
|
+
if (existsSync(resolved)) {
|
|
596
592
|
validRoots.push(resolved);
|
|
597
593
|
}
|
|
598
594
|
else {
|
|
@@ -641,7 +637,7 @@ class DatabaseManager {
|
|
|
641
637
|
version: 1,
|
|
642
638
|
databases: updated,
|
|
643
639
|
};
|
|
644
|
-
await
|
|
640
|
+
await atomicWriteFile(RECENT_DBS_FILE, JSON.stringify(fileContent, null, 2));
|
|
645
641
|
}
|
|
646
642
|
/**
|
|
647
643
|
* Remove a database from the recent list
|
|
@@ -654,7 +650,7 @@ class DatabaseManager {
|
|
|
654
650
|
version: 1,
|
|
655
651
|
databases: filtered,
|
|
656
652
|
};
|
|
657
|
-
await
|
|
653
|
+
await atomicWriteFile(RECENT_DBS_FILE, JSON.stringify(fileContent, null, 2));
|
|
658
654
|
}
|
|
659
655
|
/**
|
|
660
656
|
* Delete a database (removes from recent list and optionally deletes files)
|
|
@@ -673,9 +669,9 @@ class DatabaseManager {
|
|
|
673
669
|
await this.removeFromRecent(resolvedPath);
|
|
674
670
|
// Optionally delete files from disk
|
|
675
671
|
if (deleteFiles) {
|
|
676
|
-
const lanceDbPath =
|
|
677
|
-
if (
|
|
678
|
-
await
|
|
672
|
+
const lanceDbPath = path.join(resolvedPath, LANCEDB_DIR_NAME);
|
|
673
|
+
if (existsSync(lanceDbPath)) {
|
|
674
|
+
await rm(lanceDbPath, { recursive: true, force: true });
|
|
679
675
|
console.log(`Deleted database files: ${lanceDbPath}`);
|
|
680
676
|
}
|
|
681
677
|
}
|
|
@@ -686,10 +682,10 @@ class DatabaseManager {
|
|
|
686
682
|
*/
|
|
687
683
|
getNameFromPath(dbPath) {
|
|
688
684
|
// Get the last directory name
|
|
689
|
-
const basename =
|
|
685
|
+
const basename = path.basename(dbPath);
|
|
690
686
|
// If it's a generic name, include parent directory
|
|
691
687
|
if (basename === 'db' || basename === 'data' || basename === 'rag') {
|
|
692
|
-
const parent =
|
|
688
|
+
const parent = path.basename(path.dirname(dbPath));
|
|
693
689
|
return `${parent}/${basename}`;
|
|
694
690
|
}
|
|
695
691
|
return basename;
|
|
@@ -698,8 +694,8 @@ class DatabaseManager {
|
|
|
698
694
|
* Ensure config directory exists
|
|
699
695
|
*/
|
|
700
696
|
async ensureConfigDir() {
|
|
701
|
-
if (!
|
|
702
|
-
await
|
|
697
|
+
if (!existsSync(CONFIG_DIR)) {
|
|
698
|
+
await mkdir(CONFIG_DIR, { recursive: true });
|
|
703
699
|
}
|
|
704
700
|
}
|
|
705
701
|
/**
|
|
@@ -715,5 +711,4 @@ class DatabaseManager {
|
|
|
715
711
|
`Add this path to allowed roots or set ALLOWED_SCAN_ROOTS environment variable.`);
|
|
716
712
|
}
|
|
717
713
|
}
|
|
718
|
-
exports.DatabaseManager = DatabaseManager;
|
|
719
714
|
//# sourceMappingURL=database-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-manager.js","sourceRoot":"","sources":["../../src/web/database-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/web/http-server.ts"],"names":[],"mappings":"AAQA,OAAgB,EAAE,KAAK,OAAO,EAAkD,MAAM,SAAS,CAAA;AAI/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAuE5D,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CAElB;AAyPD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBrE"}
|