@robthepcguy/rag-vault 1.5.3 → 1.7.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.
Files changed (141) hide show
  1. package/README.md +86 -14
  2. package/dist/bin/install-skills.d.ts.map +1 -0
  3. package/dist/bin/install-skills.js +16 -17
  4. package/dist/bin/install-skills.js.map +1 -0
  5. package/dist/chunker/index.d.ts.map +1 -0
  6. package/dist/chunker/index.js +1 -5
  7. package/dist/chunker/index.js.map +1 -0
  8. package/dist/chunker/semantic-chunker.d.ts.map +1 -0
  9. package/dist/chunker/semantic-chunker.js +9 -13
  10. package/dist/chunker/semantic-chunker.js.map +1 -0
  11. package/dist/chunker/sentence-splitter.d.ts.map +1 -0
  12. package/dist/chunker/sentence-splitter.js +1 -4
  13. package/dist/chunker/sentence-splitter.js.map +1 -0
  14. package/dist/embedder/index.d.ts +10 -0
  15. package/dist/embedder/index.d.ts.map +1 -0
  16. package/dist/embedder/index.js +58 -32
  17. package/dist/embedder/index.js.map +1 -0
  18. package/dist/errors/index.d.ts.map +1 -0
  19. package/dist/errors/index.js +10 -17
  20. package/dist/errors/index.js.map +1 -0
  21. package/dist/explainability/index.d.ts.map +1 -0
  22. package/dist/explainability/index.js +1 -5
  23. package/dist/explainability/index.js.map +1 -0
  24. package/dist/explainability/keywords.d.ts.map +1 -0
  25. package/dist/explainability/keywords.js +1 -4
  26. package/dist/explainability/keywords.js.map +1 -0
  27. package/dist/flywheel/feedback.d.ts.map +1 -0
  28. package/dist/flywheel/feedback.js +15 -19
  29. package/dist/flywheel/feedback.js.map +1 -0
  30. package/dist/flywheel/index.d.ts.map +1 -0
  31. package/dist/flywheel/index.js +1 -5
  32. package/dist/flywheel/index.js.map +1 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +86 -64
  35. package/dist/index.js.map +1 -0
  36. package/dist/parser/html-parser.d.ts.map +1 -0
  37. package/dist/parser/html-parser.js +7 -13
  38. package/dist/parser/html-parser.js.map +1 -0
  39. package/dist/parser/index.d.ts.map +1 -0
  40. package/dist/parser/index.js +44 -52
  41. package/dist/parser/index.js.map +1 -0
  42. package/dist/parser/pdf-filter.d.ts.map +1 -0
  43. package/dist/parser/pdf-filter.js +10 -16
  44. package/dist/parser/pdf-filter.js.map +1 -0
  45. package/dist/query/index.d.ts.map +1 -0
  46. package/dist/query/index.js +1 -8
  47. package/dist/query/index.js.map +1 -0
  48. package/dist/query/parser.d.ts.map +1 -0
  49. package/dist/query/parser.js +5 -12
  50. package/dist/query/parser.js.map +1 -0
  51. package/dist/server/index.d.ts +6 -0
  52. package/dist/server/index.d.ts.map +1 -0
  53. package/dist/server/index.js +106 -95
  54. package/dist/server/index.js.map +1 -0
  55. package/dist/server/raw-data-utils.d.ts.map +1 -0
  56. package/dist/server/raw-data-utils.js +21 -33
  57. package/dist/server/raw-data-utils.js.map +1 -0
  58. package/dist/server/remote-transport.d.ts +31 -0
  59. package/dist/server/remote-transport.d.ts.map +1 -0
  60. package/dist/server/remote-transport.js +177 -0
  61. package/dist/server/remote-transport.js.map +1 -0
  62. package/dist/server/schemas.d.ts.map +1 -0
  63. package/dist/server/schemas.js +35 -38
  64. package/dist/server/schemas.js.map +1 -0
  65. package/dist/utils/config-parsers.d.ts.map +1 -0
  66. package/dist/utils/config-parsers.js +3 -8
  67. package/dist/utils/config-parsers.js.map +1 -0
  68. package/dist/utils/config.d.ts.map +1 -0
  69. package/dist/utils/config.js +12 -19
  70. package/dist/utils/config.js.map +1 -0
  71. package/dist/utils/embedding-device-cli.d.ts +12 -0
  72. package/dist/utils/embedding-device-cli.d.ts.map +1 -0
  73. package/dist/utils/embedding-device-cli.js +61 -0
  74. package/dist/utils/embedding-device-cli.js.map +1 -0
  75. package/dist/utils/file-utils.d.ts.map +1 -0
  76. package/dist/utils/file-utils.js +12 -18
  77. package/dist/utils/file-utils.js.map +1 -0
  78. package/dist/utils/math.d.ts.map +1 -0
  79. package/dist/utils/math.js +2 -6
  80. package/dist/utils/math.js.map +1 -0
  81. package/dist/utils/process-handlers.d.ts.map +1 -0
  82. package/dist/utils/process-handlers.js +5 -10
  83. package/dist/utils/process-handlers.js.map +1 -0
  84. package/dist/vectordb/index.d.ts.map +1 -0
  85. package/dist/vectordb/index.js +39 -45
  86. package/dist/vectordb/index.js.map +1 -0
  87. package/dist/web/api-routes.d.ts.map +1 -0
  88. package/dist/web/api-routes.js +41 -47
  89. package/dist/web/api-routes.js.map +1 -0
  90. package/dist/web/config-routes.d.ts.map +1 -0
  91. package/dist/web/config-routes.js +30 -33
  92. package/dist/web/config-routes.js.map +1 -0
  93. package/dist/web/database-manager.d.ts.map +1 -0
  94. package/dist/web/database-manager.js +67 -72
  95. package/dist/web/database-manager.js.map +1 -0
  96. package/dist/web/http-server.d.ts.map +1 -0
  97. package/dist/web/http-server.js +45 -86
  98. package/dist/web/http-server.js.map +1 -0
  99. package/dist/web/index.d.ts.map +1 -0
  100. package/dist/web/index.js +20 -58
  101. package/dist/web/index.js.map +1 -0
  102. package/dist/web/middleware/async-handler.d.ts.map +1 -0
  103. package/dist/web/middleware/async-handler.js +1 -4
  104. package/dist/web/middleware/async-handler.js.map +1 -0
  105. package/dist/web/middleware/auth.d.ts.map +1 -0
  106. package/dist/web/middleware/auth.js +3 -6
  107. package/dist/web/middleware/auth.js.map +1 -0
  108. package/dist/web/middleware/error-handler.d.ts.map +1 -0
  109. package/dist/web/middleware/error-handler.js +4 -8
  110. package/dist/web/middleware/error-handler.js.map +1 -0
  111. package/dist/web/middleware/index.d.ts.map +1 -0
  112. package/dist/web/middleware/index.js +5 -17
  113. package/dist/web/middleware/index.js.map +1 -0
  114. package/dist/web/middleware/rate-limit.d.ts.map +1 -0
  115. package/dist/web/middleware/rate-limit.js +3 -8
  116. package/dist/web/middleware/rate-limit.js.map +1 -0
  117. package/dist/web/middleware/request-logger.d.ts.map +1 -0
  118. package/dist/web/middleware/request-logger.js +2 -6
  119. package/dist/web/middleware/request-logger.js.map +1 -0
  120. package/dist/web/types.d.ts.map +1 -0
  121. package/dist/web/types.js +1 -2
  122. package/dist/web/types.js.map +1 -0
  123. package/package.json +31 -35
  124. package/web-ui/dist/assets/CollectionsPage-BDmEfv3V.js +1 -0
  125. package/web-ui/dist/assets/FilesPage-pG9HmpgQ.js +1 -0
  126. package/web-ui/dist/assets/ReaderPage-CwMN03NU.js +28 -0
  127. package/web-ui/dist/assets/ReaderSettingsContext-CkSjqsRh.js +1 -0
  128. package/web-ui/dist/assets/SearchPage-DAltjnLL.js +1 -0
  129. package/web-ui/dist/assets/SettingsPage-C6J5BITP.js +1 -0
  130. package/web-ui/dist/assets/StatusPage-powRGmW3.js +1 -0
  131. package/web-ui/dist/assets/UploadPage-eyfSjL4u.js +8 -0
  132. package/web-ui/dist/assets/format-DOJ3IkRX.js +1 -0
  133. package/web-ui/dist/assets/index-BpwaiuGL.css +1 -0
  134. package/web-ui/dist/assets/index-D068MV_o.js +6 -0
  135. package/web-ui/dist/assets/link-indexer.worker-DGXNsXmZ.js +1 -0
  136. package/web-ui/dist/assets/motion-CKwJwI3J.js +9 -0
  137. package/web-ui/dist/assets/query-DPt-uCb6.js +1 -0
  138. package/web-ui/dist/assets/vendor-C2QPsZ3S.js +10 -0
  139. package/web-ui/dist/index.html +7 -2
  140. package/web-ui/dist/assets/index-SBHxoAwi.js +0 -120
  141. package/web-ui/dist/assets/index-ej8i4PGl.css +0 -1
@@ -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
- var __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
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 = (0, config_parsers_js_1.parseMaxDistance)(process.env['RAG_MAX_DISTANCE']) ?? overrides?.maxDistance;
56
- const grouping = (0, config_parsers_js_1.parseGroupingMode)(process.env['RAG_GROUPING']) ?? overrides?.grouping;
57
- const hybridWeight = (0, config_parsers_js_1.parseHybridWeight)(process.env['RAG_HYBRID_WEIGHT']) ?? overrides?.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) => node_path_1.default.resolve(p.trim()));
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 (!(0, node_fs_1.existsSync)(root)) {
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"}
@@ -1,14 +1,8 @@
1
- "use strict";
2
1
  // Shared file utility functions
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
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 = node_path_1.default.dirname(filePath);
21
- if (!(0, node_fs_1.existsSync)(dir)) {
22
- await (0, promises_1.mkdir)(dir, { recursive: true });
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}.${(0, node_crypto_1.randomUUID)()}.tmp`;
19
+ const tempPath = `${filePath}.${randomUUID()}.tmp`;
26
20
  try {
27
- await (0, promises_1.writeFile)(tempPath, content, 'utf-8');
28
- await (0, promises_1.rename)(tempPath, filePath);
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 (0, promises_1.rm)(tempPath, { force: true });
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"}
@@ -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 = 10000;
10
+ const CLEANUP_TIMEOUT_MS = 10_000;
16
11
  /** Timeout for individual cleanup callback (5 seconds) */
17
- const CALLBACK_TIMEOUT_MS = 5000;
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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"}
@@ -1,15 +1,9 @@
1
- "use strict";
2
1
  // VectorStore implementation with LanceDB integration
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.VectorStore = exports.DatabaseError = void 0;
5
- exports.isValidFilePath = isValidFilePath;
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
- var index_js_2 = require("../errors/index.js");
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 = (0, node_crypto_1.createHash)('sha256').update(normalized, 'utf8').digest('hex');
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 index_js_1.DatabaseError('Invalid search result format from LanceDB');
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 index_js_1.DatabaseError('VectorStore is not initialized. Call initialize() first.');
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 index_js_1.DatabaseError('Failed to insert chunks after schema fallback retries');
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 (0, lancedb_1.connect)(this.config.dbPath);
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 index_js_1.DatabaseError('Failed to initialize VectorStore', error);
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 index_js_1.DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
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 index_js_1.DatabaseError(`Failed to delete chunks for file: ${filePath}`, error);
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 index_js_1.DatabaseError('VectorStore is not initialized. Call initialize() first.');
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 index_js_1.DatabaseError('Failed to insert chunks', error);
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: lancedb_1.Index.fts({
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 index_js_1.DatabaseError(`Invalid limit: expected 1-20, got ${limit}`);
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 index_js_1.DatabaseError('Failed to search vectors', error);
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 index_js_1.DatabaseError('Failed to list files', error);
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 index_js_1.DatabaseError(`Errors during close: ${errors.map((e) => e.message).join('; ')}`, errors[0]);
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 index_js_1.DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
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 index_js_1.DatabaseError(`Failed to get document chunks for: ${filePath}`, error);
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 index_js_1.DatabaseError(`Invalid file path: contains disallowed characters or patterns`);
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 index_js_1.DatabaseError(`Failed to find related chunks for: ${filePath}:${chunkIndex}: ${cause}`, error);
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 index_js_1.DatabaseError('Failed to get status', error);
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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"}