@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,8 +1,4 @@
1
- "use strict";
2
1
  // Centralized error classes for RAG operations
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.EmbeddingError = exports.ParserFileOperationError = exports.ParserValidationError = exports.DatabaseError = exports.ValidationError = exports.RAGError = void 0;
5
- exports.getErrorMessage = getErrorMessage;
6
2
  // ============================================
7
3
  // Error Codes
8
4
  // ============================================
@@ -34,7 +30,10 @@ const ErrorCodes = {
34
30
  /**
35
31
  * Base error class for RAG operations
36
32
  */
37
- class RAGError extends Error {
33
+ export class RAGError extends Error {
34
+ code;
35
+ statusCode;
36
+ details;
38
37
  constructor(message, options = {}) {
39
38
  super(message, options.cause ? { cause: options.cause } : undefined);
40
39
  this.name = 'RAGError';
@@ -52,14 +51,13 @@ class RAGError extends Error {
52
51
  };
53
52
  }
54
53
  }
55
- exports.RAGError = RAGError;
56
54
  // ============================================
57
55
  // Validation Errors
58
56
  // ============================================
59
57
  /**
60
58
  * Validation error for invalid input
61
59
  */
62
- class ValidationError extends RAGError {
60
+ export class ValidationError extends RAGError {
63
61
  constructor(message, details, cause) {
64
62
  const opts = {
65
63
  code: ErrorCodes.VALIDATION_ERROR,
@@ -73,14 +71,13 @@ class ValidationError extends RAGError {
73
71
  this.name = 'ValidationError';
74
72
  }
75
73
  }
76
- exports.ValidationError = ValidationError;
77
74
  // ============================================
78
75
  // Database Errors
79
76
  // ============================================
80
77
  /**
81
78
  * Database operation error
82
79
  */
83
- class DatabaseError extends RAGError {
80
+ export class DatabaseError extends RAGError {
84
81
  constructor(message, cause, code = ErrorCodes.DATABASE_ERROR) {
85
82
  const opts = {
86
83
  code,
@@ -92,14 +89,13 @@ class DatabaseError extends RAGError {
92
89
  this.name = 'DatabaseError';
93
90
  }
94
91
  }
95
- exports.DatabaseError = DatabaseError;
96
92
  // ============================================
97
93
  // Parser Errors
98
94
  // ============================================
99
95
  /**
100
96
  * Parser validation error (equivalent to 400)
101
97
  */
102
- class ParserValidationError extends RAGError {
98
+ export class ParserValidationError extends RAGError {
103
99
  constructor(message, cause) {
104
100
  const opts = {
105
101
  code: ErrorCodes.PARSER_VALIDATION_ERROR,
@@ -111,11 +107,10 @@ class ParserValidationError extends RAGError {
111
107
  this.name = 'ParserValidationError';
112
108
  }
113
109
  }
114
- exports.ParserValidationError = ParserValidationError;
115
110
  /**
116
111
  * Parser file operation error (equivalent to 500)
117
112
  */
118
- class ParserFileOperationError extends RAGError {
113
+ export class ParserFileOperationError extends RAGError {
119
114
  constructor(message, cause) {
120
115
  const opts = {
121
116
  code: ErrorCodes.PARSER_FILE_OPERATION_ERROR,
@@ -127,14 +122,13 @@ class ParserFileOperationError extends RAGError {
127
122
  this.name = 'ParserFileOperationError';
128
123
  }
129
124
  }
130
- exports.ParserFileOperationError = ParserFileOperationError;
131
125
  // ============================================
132
126
  // Embedding Errors
133
127
  // ============================================
134
128
  /**
135
129
  * Embedding generation error
136
130
  */
137
- class EmbeddingError extends RAGError {
131
+ export class EmbeddingError extends RAGError {
138
132
  constructor(message, cause) {
139
133
  const opts = {
140
134
  code: ErrorCodes.EMBEDDING_ERROR,
@@ -146,14 +140,13 @@ class EmbeddingError extends RAGError {
146
140
  this.name = 'EmbeddingError';
147
141
  }
148
142
  }
149
- exports.EmbeddingError = EmbeddingError;
150
143
  // ============================================
151
144
  // Utilities
152
145
  // ============================================
153
146
  /**
154
147
  * Get error message with optional stack trace (based on environment)
155
148
  */
156
- function getErrorMessage(error) {
149
+ export function getErrorMessage(error) {
157
150
  if (process.env['NODE_ENV'] === 'production') {
158
151
  return error.message;
159
152
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explainability/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
1
  // Explainability module for chunk similarity
3
2
  // Provides keyword/phrase extraction and relationship reasoning
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.explainChunkSimilarity = void 0;
6
- var keywords_js_1 = require("./keywords.js");
7
- Object.defineProperty(exports, "explainChunkSimilarity", { enumerable: true, get: function () { return keywords_js_1.explainChunkSimilarity; } });
3
+ export { explainChunkSimilarity } from './keywords.js';
8
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explainability/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,gEAAgE;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/explainability/keywords.ts"],"names":[],"mappings":"AAqNA;;GAEG;AACH,KAAK,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAsCpF;;GAEG;AACH,UAAU,gBAAgB;IACxB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,MAAM,GACtB,gBAAgB,CAMlB"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
1
  // Explainability utilities for chunk similarity
3
2
  // Provides keyword/phrase extraction without LLM dependencies
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.explainChunkSimilarity = explainChunkSimilarity;
6
3
  // Common English stopwords to filter out
7
4
  const STOPWORDS = new Set([
8
5
  'a',
@@ -227,7 +224,7 @@ function determineReasonLabel(text1, text2, isSameDocument, similarityScore) {
227
224
  /**
228
225
  * Generate explanation for chunk relationship
229
226
  */
230
- function explainChunkSimilarity(sourceText, targetText, isSameDocument, similarityScore) {
227
+ export function explainChunkSimilarity(sourceText, targetText, isSameDocument, similarityScore) {
231
228
  return {
232
229
  sharedKeywords: findSharedKeywords(sourceText, targetText),
233
230
  sharedPhrases: findSharedPhrases(sourceText, targetText),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../src/explainability/keywords.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/flywheel/feedback.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAEtF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAA;CACpB;AAoBD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAgB;IAG9B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,YAAY,CAA8C;gBAEtD,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAIhD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKvC;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAMrD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAMzD;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAiBnE;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE;IAsC1E;;OAEG;IACH,cAAc,IAAI,MAAM;IAOxB;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAkB3C;;OAEG;IACH,QAAQ,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAgB/E;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgClD;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}
@@ -1,12 +1,8 @@
1
- "use strict";
2
1
  // Curatorial Flywheel v1: Feedback-based Re-ranking
3
2
  // Tracks user actions (pins, dismissals) to improve retrieval quality
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.FeedbackStore = void 0;
6
- exports.getFeedbackStore = getFeedbackStore;
7
- const promises_1 = require("node:fs/promises");
8
- const node_path_1 = require("node:path");
9
- const file_utils_js_1 = require("../utils/file-utils.js");
3
+ import { readFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { atomicWriteFile } from '../utils/file-utils.js';
10
6
  const DEFAULT_CONFIG = {
11
7
  pinBoost: 1.3,
12
8
  coPinBoost: 1.15,
@@ -27,13 +23,14 @@ function chunkKey(ref) {
27
23
  * FeedbackStore: In-memory store for feedback events
28
24
  * Can be persisted to disk for long-term learning
29
25
  */
30
- class FeedbackStore {
26
+ export class FeedbackStore {
27
+ events = [];
28
+ config;
29
+ // Index structures for fast lookup
30
+ pinnedPairs = new Map(); // source -> targets
31
+ dismissedPairs = new Map(); // source -> targets
32
+ coPinnedWith = new Map(); // target -> co-targets -> count
31
33
  constructor(config = {}) {
32
- this.events = [];
33
- // Index structures for fast lookup
34
- this.pinnedPairs = new Map(); // source -> targets
35
- this.dismissedPairs = new Map(); // source -> targets
36
- this.coPinnedWith = new Map(); // target -> co-targets -> count
37
34
  this.config = { ...DEFAULT_CONFIG, ...config };
38
35
  }
39
36
  /**
@@ -217,7 +214,7 @@ class FeedbackStore {
217
214
  * @param dbPath - Path to the database directory
218
215
  */
219
216
  async saveToDisk(dbPath) {
220
- const filePath = (0, node_path_1.join)(dbPath, 'feedback.json');
217
+ const filePath = join(dbPath, 'feedback.json');
221
218
  const data = {
222
219
  version: 1,
223
220
  events: this.events.map((e) => ({
@@ -225,7 +222,7 @@ class FeedbackStore {
225
222
  timestamp: e.timestamp.toISOString(),
226
223
  })),
227
224
  };
228
- await (0, file_utils_js_1.atomicWriteFile)(filePath, JSON.stringify(data, null, 2));
225
+ await atomicWriteFile(filePath, JSON.stringify(data, null, 2));
229
226
  console.error(`FeedbackStore: Saved ${this.events.length} events to ${filePath}`);
230
227
  }
231
228
  /**
@@ -233,9 +230,9 @@ class FeedbackStore {
233
230
  * @param dbPath - Path to the database directory
234
231
  */
235
232
  async loadFromDisk(dbPath) {
236
- const filePath = (0, node_path_1.join)(dbPath, 'feedback.json');
233
+ const filePath = join(dbPath, 'feedback.json');
237
234
  try {
238
- const content = await (0, promises_1.readFile)(filePath, 'utf-8');
235
+ const content = await readFile(filePath, 'utf-8');
239
236
  const data = JSON.parse(content);
240
237
  // Validate JSON structure before importing
241
238
  if (data.version !== 1) {
@@ -260,7 +257,6 @@ class FeedbackStore {
260
257
  }
261
258
  }
262
259
  }
263
- exports.FeedbackStore = FeedbackStore;
264
260
  // Global feedback store instance (eager initialization to prevent race conditions)
265
261
  // Using eager init instead of lazy init avoids the check-then-act race where
266
262
  // concurrent requests could create separate instances and lose feedback events.
@@ -268,7 +264,7 @@ const globalFeedbackStore = new FeedbackStore();
268
264
  /**
269
265
  * Get the global feedback store
270
266
  */
271
- function getFeedbackStore() {
267
+ export function getFeedbackStore() {
272
268
  return globalFeedbackStore;
273
269
  }
274
270
  //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/flywheel/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flywheel/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAA"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
1
  // Curatorial Flywheel module
3
2
  // Re-ranking based on user feedback (pins, dismissals)
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getFeedbackStore = void 0;
6
- var feedback_js_1 = require("./feedback.js");
7
- Object.defineProperty(exports, "getFeedbackStore", { enumerable: true, get: function () { return feedback_js_1.getFeedbackStore; } });
3
+ export { getFeedbackStore, } from './feedback.js';
8
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flywheel/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,uDAAuD;AAEvD,OAAO,EACL,gBAAgB,GAGjB,MAAM,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,53 +1,20 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  // Entry point for RAG MCP Server
4
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
- if (k2 === undefined) k2 = k;
6
- var desc = Object.getOwnPropertyDescriptor(m, k);
7
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
- desc = { enumerable: true, get: function() { return m[k]; } };
9
- }
10
- Object.defineProperty(o, k2, desc);
11
- }) : (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- o[k2] = m[k];
14
- }));
15
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
- Object.defineProperty(o, "default", { enumerable: true, value: v });
17
- }) : function(o, v) {
18
- o["default"] = v;
19
- });
20
- var __importStar = (this && this.__importStar) || (function () {
21
- var ownKeys = function(o) {
22
- ownKeys = Object.getOwnPropertyNames || function (o) {
23
- var ar = [];
24
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
- return ar;
26
- };
27
- return ownKeys(o);
28
- };
29
- return function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- })();
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- const install_skills_js_1 = require("./bin/install-skills.js");
39
- const index_js_1 = require("./server/index.js");
40
- const config_js_1 = require("./utils/config.js");
41
- const process_handlers_js_1 = require("./utils/process-handlers.js");
3
+ import { run as runSkillsInstall } from './bin/install-skills.js';
4
+ import { RAGServer } from './server/index.js';
5
+ import { startRemoteTransport } from './server/remote-transport.js';
6
+ import { applyEmbeddingDeviceCliOverride } from './utils/embedding-device-cli.js';
7
+ import { buildRAGConfig, validateRAGConfig } from './utils/config.js';
8
+ import { setupProcessHandlers, setupGracefulShutdown, onShutdown, } from './utils/process-handlers.js';
42
9
  // ============================================
43
10
  // Subcommand Routing
44
11
  // ============================================
45
- const args = process.argv.slice(2);
12
+ const rawArgs = process.argv.slice(2);
46
13
  // Handle "skills" subcommand
47
- if (args[0] === 'skills') {
48
- if (args[1] === 'install') {
14
+ if (rawArgs[0] === 'skills') {
15
+ if (rawArgs[1] === 'install') {
49
16
  // npx rag-vault skills install [options]
50
- (0, install_skills_js_1.run)(args.slice(2));
17
+ runSkillsInstall(rawArgs.slice(2));
51
18
  }
52
19
  else {
53
20
  console.error('Unknown skills subcommand. Usage: npx rag-vault skills install [options]');
@@ -55,38 +22,60 @@ if (args[0] === 'skills') {
55
22
  process.exit(1);
56
23
  }
57
24
  }
58
- else if (args[0] === 'web') {
59
- // Handle "web" subcommand - launches HTTP server with web UI
60
- Promise.resolve().then(() => __importStar(require('./web/index.js'))).catch((error) => {
61
- console.error('Failed to start web server:', error);
62
- process.exit(1);
63
- });
64
- }
65
25
  else {
66
- // ============================================
67
- // MCP Server (default behavior)
68
- // ============================================
69
- (0, process_handlers_js_1.setupProcessHandlers)();
70
- (0, process_handlers_js_1.setupGracefulShutdown)(); // Listen for SIGTERM/SIGINT
71
- // Add .catch() to handle initialization errors and prevent unhandled rejections
72
- main().catch((error) => {
73
- console.error('Fatal error during startup:', error);
26
+ let args;
27
+ try {
28
+ args = applyEmbeddingDeviceCliOverride(rawArgs);
29
+ }
30
+ catch (error) {
31
+ console.error(`Invalid CLI arguments: ${error instanceof Error ? error.message : String(error)}`);
74
32
  process.exit(1);
75
- });
33
+ }
34
+ const isRemote = args.includes('--remote');
35
+ if (args[0] === 'web') {
36
+ // Handle "web" subcommand - launches HTTP server with web UI
37
+ import('./web/index.js').catch((error) => {
38
+ console.error('Failed to start web server:', error);
39
+ process.exit(1);
40
+ });
41
+ }
42
+ else if (isRemote) {
43
+ // ============================================
44
+ // Remote MCP Server (Streamable HTTP + SSE)
45
+ // ============================================
46
+ setupProcessHandlers();
47
+ setupGracefulShutdown();
48
+ mainRemote(args).catch((error) => {
49
+ console.error('Fatal error during remote startup:', error);
50
+ process.exit(1);
51
+ });
52
+ }
53
+ else {
54
+ // ============================================
55
+ // MCP Server (default stdio behavior)
56
+ // ============================================
57
+ setupProcessHandlers();
58
+ setupGracefulShutdown(); // Listen for SIGTERM/SIGINT
59
+ // Add .catch() to handle initialization errors and prevent unhandled rejections
60
+ main().catch((error) => {
61
+ console.error('Fatal error during startup:', error);
62
+ process.exit(1);
63
+ });
64
+ }
76
65
  }
77
66
  /**
78
- * Entry point - Start RAG MCP Server
67
+ * Entry point - Start RAG MCP Server (stdio)
79
68
  */
80
69
  async function main() {
81
70
  try {
82
- const config = (0, config_js_1.buildRAGConfig)();
83
- (0, config_js_1.validateRAGConfig)(config);
71
+ const config = buildRAGConfig();
72
+ validateRAGConfig(config);
84
73
  console.error('Starting RAG MCP Server...');
85
74
  console.error('Configuration:', config);
86
75
  // Start RAGServer
87
- const server = new index_js_1.RAGServer(config);
76
+ const server = new RAGServer(config);
88
77
  // Register cleanup callback for graceful shutdown
89
- (0, process_handlers_js_1.onShutdown)(async () => {
78
+ onShutdown(async () => {
90
79
  console.error('Closing RAG server...');
91
80
  await server.close();
92
81
  });
@@ -99,4 +88,37 @@ async function main() {
99
88
  process.exit(1);
100
89
  }
101
90
  }
91
+ /**
92
+ * Entry point - Start RAG MCP Server (remote HTTP + SSE)
93
+ */
94
+ async function mainRemote(args) {
95
+ try {
96
+ const config = buildRAGConfig();
97
+ validateRAGConfig(config);
98
+ // Parse optional --port flag
99
+ const portIdx = args.indexOf('--port');
100
+ const portArg = portIdx !== -1 ? args[portIdx + 1] : undefined;
101
+ const port = portArg ? Number.parseInt(portArg, 10) : undefined;
102
+ console.error('Starting RAG MCP Server (remote)...');
103
+ console.error('Configuration:', config);
104
+ // Create and initialize a shared RAGServer for backend resources
105
+ const ragServer = new RAGServer(config);
106
+ onShutdown(async () => {
107
+ console.error('Closing RAG server...');
108
+ await ragServer.close();
109
+ });
110
+ await ragServer.initialize();
111
+ // Start remote transport - creates per-session MCP servers sharing the same backend
112
+ const transportOptions = {
113
+ createServer: () => ragServer.createSession(),
114
+ };
115
+ if (port)
116
+ transportOptions.port = port;
117
+ await startRemoteTransport(transportOptions);
118
+ }
119
+ catch (error) {
120
+ console.error('Failed to start RAG MCP Server (remote):', error);
121
+ process.exit(1);
122
+ }
123
+ }
102
124
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.d.ts","sourceRoot":"","sources":["../../src/parser/html-parser.ts"],"names":[],"mappings":"AAsDA;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoD1E"}
@@ -1,14 +1,8 @@
1
- "use strict";
2
1
  // HTML Parser using Readability and Turndown
3
2
  // Extracts main content from HTML and converts to Markdown
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.parseHtml = parseHtml;
9
- const readability_1 = require("@mozilla/readability");
10
- const jsdom_1 = require("jsdom");
11
- const turndown_1 = __importDefault(require("turndown"));
3
+ import { Readability } from '@mozilla/readability';
4
+ import { JSDOM } from 'jsdom';
5
+ import TurndownService from 'turndown';
12
6
  // ============================================
13
7
  // Turndown Service Configuration
14
8
  // ============================================
@@ -16,7 +10,7 @@ const turndown_1 = __importDefault(require("turndown"));
16
10
  * Create and configure Turndown service for HTML to Markdown conversion
17
11
  */
18
12
  function createTurndownService() {
19
- const turndownService = new turndown_1.default({
13
+ const turndownService = new TurndownService({
20
14
  headingStyle: 'atx', // Use # style headings
21
15
  codeBlockStyle: 'fenced', // Use ``` for code blocks
22
16
  bulletListMarker: '-', // Use - for bullet lists
@@ -51,21 +45,21 @@ function createTurndownService() {
51
45
  * @param url - Source URL (used for resolving relative links)
52
46
  * @returns Markdown string of extracted content
53
47
  */
54
- async function parseHtml(html, url) {
48
+ export async function parseHtml(html, url) {
55
49
  // Handle empty or whitespace-only HTML
56
50
  if (!html || html.trim().length === 0) {
57
51
  return '';
58
52
  }
59
53
  try {
60
54
  // Create DOM from HTML string
61
- const dom = new jsdom_1.JSDOM(html, {
55
+ const dom = new JSDOM(html, {
62
56
  url,
63
57
  // Enable features needed for Readability
64
58
  runScripts: 'outside-only',
65
59
  });
66
60
  const document = dom.window.document;
67
61
  // Use Readability to extract main content
68
- const reader = new readability_1.Readability(document, {
62
+ const reader = new Readability(document, {
69
63
  keepClasses: false,
70
64
  debug: false,
71
65
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.js","sourceRoot":"","sources":["../../src/parser/html-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AA8FA,OAAO,EAAE,KAAK,iBAAiB,EAA8C,MAAM,iBAAiB,CAAA;AAGpG,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAMpF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;CACpB;AAMD;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAIhC;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAuCxC;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBxC;;;;;;;OAOG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBlD;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C9E;;;;;;OAMG;YACW,SAAS;IAUvB;;;;;;OAMG;YACW,QAAQ;IAUtB;;;;;;OAMG;YACW,OAAO;IAUrB;;;;;;;;;;;;OAYG;YACW,SAAS;IA8BvB;;;;;;OAMG;YACW,UAAU;IAUxB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,UAAU;CA+CnB"}