mcp-local-rag 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -5
- package/dist/embedder/index.d.ts +6 -0
- package/dist/embedder/index.d.ts.map +1 -1
- package/dist/embedder/index.js +33 -6
- package/dist/embedder/index.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/server/index.d.ts +16 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +49 -1
- package/dist/server/index.js.map +1 -1
- package/dist/vectordb/index.js +2 -2
- package/dist/vectordb/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunker.d.ts +0 -42
- package/dist/chunker.d.ts.map +0 -1
- package/dist/chunker.js +0 -68
- package/dist/chunker.js.map +0 -1
- package/dist/embedder.d.ts +0 -48
- package/dist/embedder.d.ts.map +0 -1
- package/dist/embedder.js +0 -108
- package/dist/embedder.js.map +0 -1
- package/dist/parser.d.ts +0 -92
- package/dist/parser.d.ts.map +0 -1
- package/dist/parser.js +0 -186
- package/dist/parser.js.map +0 -1
- package/dist/server.d.ts +0 -125
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -300
- package/dist/server.js.map +0 -1
- package/dist/test-helpers/test-data.d.ts +0 -31
- package/dist/test-helpers/test-data.d.ts.map +0 -1
- package/dist/test-helpers/test-data.js +0 -53
- package/dist/test-helpers/test-data.js.map +0 -1
- package/dist/test-helpers/test-utils.d.ts +0 -21
- package/dist/test-helpers/test-utils.d.ts.map +0 -1
- package/dist/test-helpers/test-utils.js +0 -35
- package/dist/test-helpers/test-utils.js.map +0 -1
- package/dist/vectordb.d.ts +0 -121
- package/dist/vectordb.d.ts.map +0 -1
- package/dist/vectordb.js +0 -243
- package/dist/vectordb.js.map +0 -1
package/dist/server.js
DELETED
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// src/server.ts - RAGServer implementation with MCP tools
|
|
3
|
-
// Design Doc: rag-mcp-server-design.md (v1.1)
|
|
4
|
-
// ADR-0004: MCPセキュリティ対応(MCP 2025-06-18準拠)
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RAGServer = void 0;
|
|
7
|
-
const node_crypto_1 = require("node:crypto");
|
|
8
|
-
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
9
|
-
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
10
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
11
|
-
const chunker_js_1 = require("./chunker.js");
|
|
12
|
-
const embedder_js_1 = require("./embedder.js");
|
|
13
|
-
const parser_js_1 = require("./parser.js");
|
|
14
|
-
const vectordb_js_1 = require("./vectordb.js");
|
|
15
|
-
// ============================================
|
|
16
|
-
// RAGServerクラス
|
|
17
|
-
// ============================================
|
|
18
|
-
/**
|
|
19
|
-
* MCP Protocol準拠のRAGサーバー
|
|
20
|
-
*
|
|
21
|
-
* 責務:
|
|
22
|
-
* - MCPツール統合(4つのツール)
|
|
23
|
-
* - ツールハンドラ実装
|
|
24
|
-
* - エラーハンドリング
|
|
25
|
-
* - 初期化処理(LanceDB、Transformers.js)
|
|
26
|
-
*/
|
|
27
|
-
class RAGServer {
|
|
28
|
-
constructor(config) {
|
|
29
|
-
this.server = new index_js_1.Server({ name: 'rag-mcp-server', version: '1.0.0' }, { capabilities: { tools: {} } });
|
|
30
|
-
// コンポーネント初期化
|
|
31
|
-
this.vectorStore = new vectordb_js_1.VectorStore({ dbPath: config.dbPath, tableName: 'chunks' });
|
|
32
|
-
this.embedder = new embedder_js_1.Embedder({ modelPath: config.modelName, batchSize: 8 });
|
|
33
|
-
this.chunker = new chunker_js_1.DocumentChunker({
|
|
34
|
-
chunkSize: config.chunkSize,
|
|
35
|
-
chunkOverlap: config.chunkOverlap,
|
|
36
|
-
});
|
|
37
|
-
this.parser = new parser_js_1.DocumentParser({
|
|
38
|
-
baseDir: config.baseDir,
|
|
39
|
-
maxFileSize: config.maxFileSize,
|
|
40
|
-
});
|
|
41
|
-
this.setupHandlers();
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* MCPハンドラをセットアップする
|
|
45
|
-
*/
|
|
46
|
-
setupHandlers() {
|
|
47
|
-
// ツール一覧
|
|
48
|
-
this.server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
49
|
-
tools: [
|
|
50
|
-
{
|
|
51
|
-
name: 'query_documents',
|
|
52
|
-
description: 'Search documents using natural language queries',
|
|
53
|
-
inputSchema: {
|
|
54
|
-
type: 'object',
|
|
55
|
-
properties: {
|
|
56
|
-
query: { type: 'string', description: 'Natural language query' },
|
|
57
|
-
limit: { type: 'number', description: 'Maximum number of results (default: 5)' },
|
|
58
|
-
},
|
|
59
|
-
required: ['query'],
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
name: 'ingest_file',
|
|
64
|
-
description: 'Ingest a document file (PDF, DOCX, TXT, MD)',
|
|
65
|
-
inputSchema: {
|
|
66
|
-
type: 'object',
|
|
67
|
-
properties: {
|
|
68
|
-
filePath: { type: 'string', description: 'Path to the file to ingest' },
|
|
69
|
-
},
|
|
70
|
-
required: ['filePath'],
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: 'list_files',
|
|
75
|
-
description: 'List all ingested files',
|
|
76
|
-
inputSchema: { type: 'object', properties: {} },
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: 'status',
|
|
80
|
-
description: 'Get system status',
|
|
81
|
-
inputSchema: { type: 'object', properties: {} },
|
|
82
|
-
},
|
|
83
|
-
],
|
|
84
|
-
}));
|
|
85
|
-
// ツール呼び出し
|
|
86
|
-
this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
87
|
-
switch (request.params.name) {
|
|
88
|
-
case 'query_documents':
|
|
89
|
-
return await this.handleQueryDocuments(request.params.arguments);
|
|
90
|
-
case 'ingest_file':
|
|
91
|
-
return await this.handleIngestFile(request.params.arguments);
|
|
92
|
-
case 'list_files':
|
|
93
|
-
return await this.handleListFiles();
|
|
94
|
-
case 'status':
|
|
95
|
-
return await this.handleStatus();
|
|
96
|
-
default:
|
|
97
|
-
throw new Error(`Unknown tool: ${request.params.name}`);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 初期化処理
|
|
103
|
-
*/
|
|
104
|
-
async initialize() {
|
|
105
|
-
await this.vectorStore.initialize();
|
|
106
|
-
await this.embedder.initialize();
|
|
107
|
-
await this.chunker.initialize();
|
|
108
|
-
console.log('RAGServer initialized');
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* query_documentsツールハンドラ
|
|
112
|
-
*/
|
|
113
|
-
async handleQueryDocuments(args) {
|
|
114
|
-
try {
|
|
115
|
-
// クエリ埋め込み生成
|
|
116
|
-
const queryVector = await this.embedder.embed(args.query);
|
|
117
|
-
// ベクトル検索
|
|
118
|
-
const searchResults = await this.vectorStore.search(queryVector, args.limit || 5);
|
|
119
|
-
// 結果をフォーマット
|
|
120
|
-
const results = searchResults.map((result) => ({
|
|
121
|
-
filePath: result.filePath,
|
|
122
|
-
chunkIndex: result.chunkIndex,
|
|
123
|
-
text: result.text,
|
|
124
|
-
score: result.score,
|
|
125
|
-
}));
|
|
126
|
-
return {
|
|
127
|
-
content: [
|
|
128
|
-
{
|
|
129
|
-
type: 'text',
|
|
130
|
-
text: JSON.stringify(results, null, 2),
|
|
131
|
-
},
|
|
132
|
-
],
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
console.error('Failed to query documents:', error);
|
|
137
|
-
throw error;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* ingest_fileツールハンドラ(ファイル再取り込み対応、トランザクション処理、ロールバック機能)
|
|
142
|
-
*/
|
|
143
|
-
async handleIngestFile(args) {
|
|
144
|
-
let backup = null;
|
|
145
|
-
try {
|
|
146
|
-
// ファイルパース
|
|
147
|
-
const text = await this.parser.parseFile(args.filePath);
|
|
148
|
-
// テキストチャンク分割
|
|
149
|
-
const chunks = await this.chunker.chunkText(text);
|
|
150
|
-
// 埋め込み生成
|
|
151
|
-
const embeddings = await this.embedder.embedBatch(chunks.map((chunk) => chunk.text));
|
|
152
|
-
// バックアップ作成(既存データがある場合)
|
|
153
|
-
try {
|
|
154
|
-
const existingFiles = await this.vectorStore.listFiles();
|
|
155
|
-
const existingFile = existingFiles.find((file) => file.filePath === args.filePath);
|
|
156
|
-
if (existingFile && existingFile.chunkCount > 0) {
|
|
157
|
-
// 既存データをバックアップ(検索で取得)
|
|
158
|
-
const queryVector = embeddings[0] || [];
|
|
159
|
-
if (queryVector.length === 384) {
|
|
160
|
-
const allChunks = await this.vectorStore.search(queryVector, 20); // 最大20件取得
|
|
161
|
-
backup = allChunks
|
|
162
|
-
.filter((chunk) => chunk.filePath === args.filePath)
|
|
163
|
-
.map((chunk) => ({
|
|
164
|
-
id: (0, node_crypto_1.randomUUID)(),
|
|
165
|
-
filePath: chunk.filePath,
|
|
166
|
-
chunkIndex: chunk.chunkIndex,
|
|
167
|
-
text: chunk.text,
|
|
168
|
-
vector: queryVector, // 実際のベクトルは取得できないため、ダミーベクトルを使用
|
|
169
|
-
metadata: chunk.metadata,
|
|
170
|
-
timestamp: new Date().toISOString(),
|
|
171
|
-
}));
|
|
172
|
-
}
|
|
173
|
-
console.log(`Backup created: ${backup?.length || 0} chunks for ${args.filePath}`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
catch (error) {
|
|
177
|
-
// バックアップ作成失敗は警告のみ(新規ファイルの場合)
|
|
178
|
-
console.warn('Failed to create backup (new file?):', error);
|
|
179
|
-
}
|
|
180
|
-
// 既存データ削除
|
|
181
|
-
await this.vectorStore.deleteChunks(args.filePath);
|
|
182
|
-
console.log(`Deleted existing chunks for: ${args.filePath}`);
|
|
183
|
-
// ベクトルチャンク作成
|
|
184
|
-
const timestamp = new Date().toISOString();
|
|
185
|
-
const vectorChunks = chunks.map((chunk, index) => {
|
|
186
|
-
const embedding = embeddings[index];
|
|
187
|
-
if (!embedding) {
|
|
188
|
-
throw new Error(`Missing embedding for chunk ${index}`);
|
|
189
|
-
}
|
|
190
|
-
return {
|
|
191
|
-
id: (0, node_crypto_1.randomUUID)(),
|
|
192
|
-
filePath: args.filePath,
|
|
193
|
-
chunkIndex: chunk.index,
|
|
194
|
-
text: chunk.text,
|
|
195
|
-
vector: embedding,
|
|
196
|
-
metadata: {
|
|
197
|
-
fileName: args.filePath.split('/').pop() || args.filePath,
|
|
198
|
-
fileSize: text.length,
|
|
199
|
-
fileType: args.filePath.split('.').pop() || '',
|
|
200
|
-
},
|
|
201
|
-
timestamp,
|
|
202
|
-
};
|
|
203
|
-
});
|
|
204
|
-
// ベクトル挿入(トランザクション処理)
|
|
205
|
-
try {
|
|
206
|
-
await this.vectorStore.insertChunks(vectorChunks);
|
|
207
|
-
console.log(`Inserted ${vectorChunks.length} chunks for: ${args.filePath}`);
|
|
208
|
-
// 成功時バックアップ削除
|
|
209
|
-
backup = null;
|
|
210
|
-
}
|
|
211
|
-
catch (insertError) {
|
|
212
|
-
// エラー時ロールバック
|
|
213
|
-
if (backup && backup.length > 0) {
|
|
214
|
-
console.error('Ingestion failed, rolling back...', insertError);
|
|
215
|
-
try {
|
|
216
|
-
await this.vectorStore.insertChunks(backup);
|
|
217
|
-
console.log(`Rollback completed: ${backup.length} chunks restored`);
|
|
218
|
-
}
|
|
219
|
-
catch (rollbackError) {
|
|
220
|
-
console.error('Rollback failed:', rollbackError);
|
|
221
|
-
throw new Error(`Failed to ingest file and rollback failed: ${insertError.message}`);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
throw insertError;
|
|
225
|
-
}
|
|
226
|
-
// 結果
|
|
227
|
-
const result = {
|
|
228
|
-
filePath: args.filePath,
|
|
229
|
-
chunkCount: chunks.length,
|
|
230
|
-
timestamp,
|
|
231
|
-
};
|
|
232
|
-
return {
|
|
233
|
-
content: [
|
|
234
|
-
{
|
|
235
|
-
type: 'text',
|
|
236
|
-
text: JSON.stringify(result, null, 2),
|
|
237
|
-
},
|
|
238
|
-
],
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
catch (error) {
|
|
242
|
-
// エラーハンドリング: 本番環境でスタックトレース抑制
|
|
243
|
-
const errorMessage = process.env['NODE_ENV'] === 'production'
|
|
244
|
-
? error.message
|
|
245
|
-
: error.stack || error.message;
|
|
246
|
-
console.error('Failed to ingest file:', errorMessage);
|
|
247
|
-
throw new Error(`Failed to ingest file: ${errorMessage}`);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* list_filesツールハンドラ(Phase 1: 基本実装)
|
|
252
|
-
*/
|
|
253
|
-
async handleListFiles() {
|
|
254
|
-
try {
|
|
255
|
-
const files = await this.vectorStore.listFiles();
|
|
256
|
-
return {
|
|
257
|
-
content: [
|
|
258
|
-
{
|
|
259
|
-
type: 'text',
|
|
260
|
-
text: JSON.stringify(files, null, 2),
|
|
261
|
-
},
|
|
262
|
-
],
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
catch (error) {
|
|
266
|
-
console.error('Failed to list files:', error);
|
|
267
|
-
throw error;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* statusツールハンドラ(Phase 1: 基本実装)
|
|
272
|
-
*/
|
|
273
|
-
async handleStatus() {
|
|
274
|
-
try {
|
|
275
|
-
const status = await this.vectorStore.getStatus();
|
|
276
|
-
return {
|
|
277
|
-
content: [
|
|
278
|
-
{
|
|
279
|
-
type: 'text',
|
|
280
|
-
text: JSON.stringify(status, null, 2),
|
|
281
|
-
},
|
|
282
|
-
],
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
catch (error) {
|
|
286
|
-
console.error('Failed to get status:', error);
|
|
287
|
-
throw error;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* サーバーを起動する
|
|
292
|
-
*/
|
|
293
|
-
async run() {
|
|
294
|
-
const transport = new stdio_js_1.StdioServerTransport();
|
|
295
|
-
await this.server.connect(transport);
|
|
296
|
-
console.log('RAGServer running on stdio transport');
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
exports.RAGServer = RAGServer;
|
|
300
|
-
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Data Generation Helpers
|
|
3
|
-
* @category test-helpers
|
|
4
|
-
* @description テストデータ生成関数のコレクション
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* PDFテストデータ生成(スタブ)
|
|
8
|
-
* @returns PDFファイルパス(モック)
|
|
9
|
-
*/
|
|
10
|
-
export declare function createTestPdf(): string;
|
|
11
|
-
/**
|
|
12
|
-
* DOCXテストデータ生成(スタブ)
|
|
13
|
-
* @returns DOCXファイルパス(モック)
|
|
14
|
-
*/
|
|
15
|
-
export declare function createTestDocx(): string;
|
|
16
|
-
/**
|
|
17
|
-
* TXTテストデータ生成(スタブ)
|
|
18
|
-
* @returns TXTファイルパス(モック)
|
|
19
|
-
*/
|
|
20
|
-
export declare function createTestTxt(): string;
|
|
21
|
-
/**
|
|
22
|
-
* MDテストデータ生成(スタブ)
|
|
23
|
-
* @returns MDファイルパス(モック)
|
|
24
|
-
*/
|
|
25
|
-
export declare function createTestMd(): string;
|
|
26
|
-
/**
|
|
27
|
-
* 破損PDFテストデータ生成(スタブ)
|
|
28
|
-
* @returns 破損PDFファイルパス(モック)
|
|
29
|
-
*/
|
|
30
|
-
export declare function createCorruptedPdf(): string;
|
|
31
|
-
//# sourceMappingURL=test-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../src/test-helpers/test-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Test Data Generation Helpers
|
|
4
|
-
* @category test-helpers
|
|
5
|
-
* @description テストデータ生成関数のコレクション
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.createTestPdf = createTestPdf;
|
|
9
|
-
exports.createTestDocx = createTestDocx;
|
|
10
|
-
exports.createTestTxt = createTestTxt;
|
|
11
|
-
exports.createTestMd = createTestMd;
|
|
12
|
-
exports.createCorruptedPdf = createCorruptedPdf;
|
|
13
|
-
/**
|
|
14
|
-
* PDFテストデータ生成(スタブ)
|
|
15
|
-
* @returns PDFファイルパス(モック)
|
|
16
|
-
*/
|
|
17
|
-
function createTestPdf() {
|
|
18
|
-
// Phase 1以降で実装
|
|
19
|
-
return '/tmp/test-sample.pdf';
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* DOCXテストデータ生成(スタブ)
|
|
23
|
-
* @returns DOCXファイルパス(モック)
|
|
24
|
-
*/
|
|
25
|
-
function createTestDocx() {
|
|
26
|
-
// Phase 2以降で実装
|
|
27
|
-
return '/tmp/test-sample.docx';
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* TXTテストデータ生成(スタブ)
|
|
31
|
-
* @returns TXTファイルパス(モック)
|
|
32
|
-
*/
|
|
33
|
-
function createTestTxt() {
|
|
34
|
-
// Phase 1以降で実装
|
|
35
|
-
return '/tmp/test-sample.txt';
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* MDテストデータ生成(スタブ)
|
|
39
|
-
* @returns MDファイルパス(モック)
|
|
40
|
-
*/
|
|
41
|
-
function createTestMd() {
|
|
42
|
-
// Phase 1以降で実装
|
|
43
|
-
return '/tmp/test-sample.md';
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* 破損PDFテストデータ生成(スタブ)
|
|
47
|
-
* @returns 破損PDFファイルパス(モック)
|
|
48
|
-
*/
|
|
49
|
-
function createCorruptedPdf() {
|
|
50
|
-
// Phase 1以降で実装
|
|
51
|
-
return '/tmp/test-corrupted.pdf';
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=test-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-data.js","sourceRoot":"","sources":["../../src/test-helpers/test-data.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAMH,sCAGC;AAMD,wCAGC;AAMD,sCAGC;AAMD,oCAGC;AAMD,gDAGC;AA3CD;;;GAGG;AACH,SAAgB,aAAa;IAC3B,eAAe;IACf,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc;IAC5B,eAAe;IACf,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa;IAC3B,eAAe;IACf,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY;IAC1B,eAAe;IACf,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,eAAe;IACf,OAAO,yBAAyB,CAAA;AAClC,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Utility Functions
|
|
3
|
-
* @category test-helpers
|
|
4
|
-
* @description テストユーティリティ関数のコレクション
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* テストDB削除(スタブ)
|
|
8
|
-
* @returns クリーンアップ完了のPromise
|
|
9
|
-
*/
|
|
10
|
-
export declare function cleanupTestDb(): Promise<void>;
|
|
11
|
-
/**
|
|
12
|
-
* テスト環境セットアップ(スタブ)
|
|
13
|
-
* @returns セットアップ完了のPromise
|
|
14
|
-
*/
|
|
15
|
-
export declare function setupTestEnvironment(): Promise<void>;
|
|
16
|
-
/**
|
|
17
|
-
* テスト環境クリーンアップ(スタブ)
|
|
18
|
-
* @returns クリーンアップ完了のPromise
|
|
19
|
-
*/
|
|
20
|
-
export declare function teardownTestEnvironment(): Promise<void>;
|
|
21
|
-
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/test-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7D"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Test Utility Functions
|
|
4
|
-
* @category test-helpers
|
|
5
|
-
* @description テストユーティリティ関数のコレクション
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.cleanupTestDb = cleanupTestDb;
|
|
9
|
-
exports.setupTestEnvironment = setupTestEnvironment;
|
|
10
|
-
exports.teardownTestEnvironment = teardownTestEnvironment;
|
|
11
|
-
/**
|
|
12
|
-
* テストDB削除(スタブ)
|
|
13
|
-
* @returns クリーンアップ完了のPromise
|
|
14
|
-
*/
|
|
15
|
-
async function cleanupTestDb() {
|
|
16
|
-
// Phase 1以降で実装
|
|
17
|
-
// LanceDBテストディレクトリを削除
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* テスト環境セットアップ(スタブ)
|
|
21
|
-
* @returns セットアップ完了のPromise
|
|
22
|
-
*/
|
|
23
|
-
async function setupTestEnvironment() {
|
|
24
|
-
// Phase 1以降で実装
|
|
25
|
-
// LanceDB初期化、Transformers.jsモデルロード等
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* テスト環境クリーンアップ(スタブ)
|
|
29
|
-
* @returns クリーンアップ完了のPromise
|
|
30
|
-
*/
|
|
31
|
-
async function teardownTestEnvironment() {
|
|
32
|
-
// Phase 1以降で実装
|
|
33
|
-
// テストデータ削除、DB接続クローズ等
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=test-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/test-helpers/test-utils.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAMH,sCAGC;AAMD,oDAGC;AAMD,0DAGC;AAzBD;;;GAGG;AACI,KAAK,UAAU,aAAa;IACjC,eAAe;IACf,sBAAsB;AACxB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,oBAAoB;IACxC,eAAe;IACf,oCAAoC;AACtC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uBAAuB;IAC3C,eAAe;IACf,qBAAqB;AACvB,CAAC"}
|
package/dist/vectordb.d.ts
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VectorStore設定
|
|
3
|
-
*/
|
|
4
|
-
export interface VectorStoreConfig {
|
|
5
|
-
/** LanceDBデータベースパス */
|
|
6
|
-
dbPath: string;
|
|
7
|
-
/** テーブル名 */
|
|
8
|
-
tableName: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* ドキュメントメタデータ
|
|
12
|
-
*/
|
|
13
|
-
export interface DocumentMetadata {
|
|
14
|
-
/** ファイル名 */
|
|
15
|
-
fileName: string;
|
|
16
|
-
/** ファイルサイズ(バイト) */
|
|
17
|
-
fileSize: number;
|
|
18
|
-
/** ファイルタイプ(拡張子) */
|
|
19
|
-
fileType: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* ベクトルチャンク
|
|
23
|
-
*/
|
|
24
|
-
export interface VectorChunk {
|
|
25
|
-
/** チャンクID(UUID) */
|
|
26
|
-
id: string;
|
|
27
|
-
/** ファイルパス(絶対パス) */
|
|
28
|
-
filePath: string;
|
|
29
|
-
/** チャンクインデックス(0始まり) */
|
|
30
|
-
chunkIndex: number;
|
|
31
|
-
/** チャンクテキスト */
|
|
32
|
-
text: string;
|
|
33
|
-
/** 埋め込みベクトル(384次元) */
|
|
34
|
-
vector: number[];
|
|
35
|
-
/** メタデータ */
|
|
36
|
-
metadata: DocumentMetadata;
|
|
37
|
-
/** 取り込み日時(ISO 8601形式) */
|
|
38
|
-
timestamp: string;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 検索結果
|
|
42
|
-
*/
|
|
43
|
-
export interface SearchResult {
|
|
44
|
-
/** ファイルパス */
|
|
45
|
-
filePath: string;
|
|
46
|
-
/** チャンクインデックス */
|
|
47
|
-
chunkIndex: number;
|
|
48
|
-
/** チャンクテキスト */
|
|
49
|
-
text: string;
|
|
50
|
-
/** 類似度スコア(0-1、高いほど類似) */
|
|
51
|
-
score: number;
|
|
52
|
-
/** メタデータ */
|
|
53
|
-
metadata: DocumentMetadata;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* データベースエラー
|
|
57
|
-
*/
|
|
58
|
-
export declare class DatabaseError extends Error {
|
|
59
|
-
readonly cause?: Error | undefined;
|
|
60
|
-
constructor(message: string, cause?: Error | undefined);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* LanceDBを活用したベクトルストレージクラス
|
|
64
|
-
*
|
|
65
|
-
* 責務:
|
|
66
|
-
* - LanceDB操作(挿入、削除、検索)
|
|
67
|
-
* - トランザクション処理(削除→挿入の原子性)
|
|
68
|
-
* - メタデータ管理
|
|
69
|
-
*/
|
|
70
|
-
export declare class VectorStore {
|
|
71
|
-
private db;
|
|
72
|
-
private table;
|
|
73
|
-
private readonly config;
|
|
74
|
-
constructor(config: VectorStoreConfig);
|
|
75
|
-
/**
|
|
76
|
-
* LanceDBを初期化し、テーブルを作成する
|
|
77
|
-
*/
|
|
78
|
-
initialize(): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* 指定されたファイルパスのすべてのチャンクを削除する
|
|
81
|
-
*
|
|
82
|
-
* @param filePath - ファイルパス(絶対パス)
|
|
83
|
-
*/
|
|
84
|
-
deleteChunks(filePath: string): Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
* ベクトルチャンクをバッチ挿入する
|
|
87
|
-
*
|
|
88
|
-
* @param chunks - ベクトルチャンクの配列
|
|
89
|
-
*/
|
|
90
|
-
insertChunks(chunks: VectorChunk[]): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* ベクトル検索を実行する
|
|
93
|
-
*
|
|
94
|
-
* @param queryVector - クエリベクトル(384次元)
|
|
95
|
-
* @param limit - 取得件数(デフォルト5)
|
|
96
|
-
* @returns 検索結果の配列(スコア順降順)
|
|
97
|
-
*/
|
|
98
|
-
search(queryVector: number[], limit?: number): Promise<SearchResult[]>;
|
|
99
|
-
/**
|
|
100
|
-
* 取り込み済みファイル一覧を取得する
|
|
101
|
-
*
|
|
102
|
-
* @returns ファイル情報の配列
|
|
103
|
-
*/
|
|
104
|
-
listFiles(): Promise<{
|
|
105
|
-
filePath: string;
|
|
106
|
-
chunkCount: number;
|
|
107
|
-
timestamp: string;
|
|
108
|
-
}[]>;
|
|
109
|
-
/**
|
|
110
|
-
* システムステータスを取得する
|
|
111
|
-
*
|
|
112
|
-
* @returns システムステータス情報
|
|
113
|
-
*/
|
|
114
|
-
getStatus(): Promise<{
|
|
115
|
-
documentCount: number;
|
|
116
|
-
chunkCount: number;
|
|
117
|
-
memoryUsage: number;
|
|
118
|
-
uptime: number;
|
|
119
|
-
}>;
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=vectordb.d.ts.map
|
package/dist/vectordb.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vectordb.d.ts","sourceRoot":"","sources":["../src/vectordb.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY;IACZ,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY;IACZ,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAMD;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAMD;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,EAAE,iBAAiB;IAIrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBjC;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCnD;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BxD;;;;;;OAMG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkCvE;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAyCzF;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;KACf,CAAC;CAmCH"}
|