@khoinguyen2002/doc-mcp 1.0.1 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/db/vector.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,kBAqCjC;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB/D;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7H;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CA4B3G;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F;AAED,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanG;AAED,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwBlG"}
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/db/vector.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,kBAqCjC;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB/D;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7H;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAiC3G;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F;AAED,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanG;AAED,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwBlG"}
package/dist/db/vector.js CHANGED
@@ -24,7 +24,7 @@ export async function initVectorDB() {
24
24
  },
25
25
  });
26
26
  await client.createPayloadIndex(COLLECTION_NAME, {
27
- field_name: "projectId",
27
+ field_name: "folderId",
28
28
  field_schema: "keyword",
29
29
  });
30
30
  await client.createPayloadIndex(COLLECTION_NAME, {
@@ -90,28 +90,34 @@ export async function searchProjectMemory(folderId, query, topK = 3) {
90
90
  await initVectorDB();
91
91
  if (!client)
92
92
  throw new Error("Qdrant not initialized");
93
- const queryVector = await embedText(query);
94
- const results = await client.search(COLLECTION_NAME, {
95
- vector: queryVector,
96
- limit: topK,
97
- with_payload: true,
98
- filter: {
99
- must: [
100
- {
101
- key: "folderId",
102
- match: {
103
- value: folderId
93
+ try {
94
+ const queryVector = await embedText(query);
95
+ const results = await client.search(COLLECTION_NAME, {
96
+ vector: queryVector,
97
+ limit: topK,
98
+ with_payload: true,
99
+ filter: {
100
+ must: [
101
+ {
102
+ key: "folderId",
103
+ match: {
104
+ value: folderId
105
+ }
104
106
  }
105
- }
106
- ]
107
- }
108
- });
109
- // Map to match LanceDB format expected by other tools
110
- return results.map(r => ({
111
- id: r.id,
112
- vector: r.vector,
113
- ...r.payload
114
- }));
107
+ ]
108
+ }
109
+ });
110
+ // Map to match LanceDB format expected by other tools
111
+ return results.map(r => ({
112
+ id: r.id,
113
+ vector: r.vector,
114
+ ...r.payload
115
+ }));
116
+ }
117
+ catch (err) {
118
+ console.error("Qdrant search error:", err.message);
119
+ return [];
120
+ }
115
121
  }
116
122
  export async function deleteProjectDocument(folderId, fileId) {
117
123
  await initVectorDB();
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeTools.d.ts","sourceRoot":"","sources":["../../src/tools/knowledgeTools.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM;;;;;;;;GAmBlD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU;;;;;;;;GAmCpE"}
1
+ {"version":3,"file":"knowledgeTools.d.ts","sourceRoot":"","sources":["../../src/tools/knowledgeTools.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM;;;;;;;;GAmBlD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU;;;;;;;;GAoCpE"}
@@ -54,6 +54,7 @@ export async function searchKnowledge(query, topK = 3) {
54
54
  };
55
55
  }
56
56
  catch (err) {
57
+ console.error("searchKnowledge outer catch:", err.message);
57
58
  return { success: false, error: `Failed to search: ${err.message}` };
58
59
  }
59
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khoinguyen2002/doc-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/db/vector.ts CHANGED
@@ -28,7 +28,7 @@ export async function initVectorDB() {
28
28
  },
29
29
  });
30
30
  await client.createPayloadIndex(COLLECTION_NAME, {
31
- field_name: "projectId",
31
+ field_name: "folderId",
32
32
  field_schema: "keyword",
33
33
  });
34
34
  await client.createPayloadIndex(COLLECTION_NAME, {
@@ -102,30 +102,35 @@ export async function searchProjectMemory(folderId: string, query: string, topK:
102
102
  await initVectorDB();
103
103
  if (!client) throw new Error("Qdrant not initialized");
104
104
 
105
- const queryVector = await embedText(query);
106
-
107
- const results = await client.search(COLLECTION_NAME, {
108
- vector: queryVector,
109
- limit: topK,
110
- with_payload: true,
111
- filter: {
112
- must: [
113
- {
114
- key: "folderId",
115
- match: {
116
- value: folderId
105
+ try {
106
+ const queryVector = await embedText(query);
107
+
108
+ const results = await client.search(COLLECTION_NAME, {
109
+ vector: queryVector,
110
+ limit: topK,
111
+ with_payload: true,
112
+ filter: {
113
+ must: [
114
+ {
115
+ key: "folderId",
116
+ match: {
117
+ value: folderId
118
+ }
117
119
  }
118
- }
119
- ]
120
- }
121
- });
120
+ ]
121
+ }
122
+ });
122
123
 
123
- // Map to match LanceDB format expected by other tools
124
- return results.map(r => ({
125
- id: r.id,
126
- vector: r.vector,
127
- ...r.payload
128
- }));
124
+ // Map to match LanceDB format expected by other tools
125
+ return results.map(r => ({
126
+ id: r.id,
127
+ vector: r.vector,
128
+ ...r.payload
129
+ }));
130
+ } catch (err: any) {
131
+ console.error("Qdrant search error:", err.message);
132
+ return [];
133
+ }
129
134
  }
130
135
 
131
136
  export async function deleteProjectDocument(folderId: string, fileId: string): Promise<void> {
@@ -44,16 +44,18 @@ export async function searchKnowledge(query: string, topK: number = 3) {
44
44
 
45
45
  return {
46
46
  success: true,
47
- results: results.map((r: any) => {
48
- let title = "Unknown Source";
49
- if (r.metadata) {
50
- try {
51
- const metaObj = JSON.parse(r.metadata);
52
- if (metaObj.title) title = metaObj.title;
53
- } catch (e) {}
54
- }
55
- return `[File: ${title} | File ID: ${r.file_id || 'N/A'}]\n${r.text}`;
56
- }).join("\n\n---\n\n"),
47
+ results: results
48
+ .map((r: any) => {
49
+ let title = "Unknown Source";
50
+ if (r.metadata) {
51
+ try {
52
+ const metaObj = JSON.parse(r.metadata);
53
+ if (metaObj.title) title = metaObj.title;
54
+ } catch (e) {}
55
+ }
56
+ return `[File: ${title} | File ID: ${r.file_id || "N/A"}]\n${r.text}`;
57
+ })
58
+ .join("\n\n---\n\n"),
57
59
  };
58
60
  } catch (err: any) {
59
61
  return { success: false, error: `Failed to search: ${err.message}` };