@kawoou/kadoc-mcp 0.1.3 → 0.1.8
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 +1 -1
- package/dist/client/kadoc-client.d.ts +27 -1
- package/dist/client/kadoc-client.d.ts.map +1 -1
- package/dist/client/kadoc-client.js +136 -50
- package/dist/client/kadoc-client.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +20 -3
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/folders.d.ts.map +1 -1
- package/dist/tools/folders.js +13 -1
- package/dist/tools/folders.js.map +1 -1
- package/dist/tools/json.d.ts +11 -0
- package/dist/tools/json.d.ts.map +1 -0
- package/dist/tools/json.js +112 -0
- package/dist/tools/json.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -121,7 +121,7 @@ curl -X POST http://localhost:3000/auth/register
|
|
|
121
121
|
| 도구 | 설명 |
|
|
122
122
|
|------|------|
|
|
123
123
|
| `create_folder` | 폴더 생성 (path) |
|
|
124
|
-
| `list_folders` | 폴더 목록 조회 (limit?) |
|
|
124
|
+
| `list_folders` | 폴더 목록 조회 (limit?, sort?, order?) |
|
|
125
125
|
| `delete_folder` | 폴더 및 하위 문서 삭제 (path) |
|
|
126
126
|
| `get_index_settings` | 인덱스 설정 조회 (path) |
|
|
127
127
|
| `set_index_settings` | 인덱스 설정 변경 (path, indexFields?) |
|
|
@@ -19,10 +19,12 @@ export declare class KadocClient {
|
|
|
19
19
|
/**
|
|
20
20
|
* Make an RPC request to the kadoc-server via POST /req
|
|
21
21
|
* All authenticated requests go through this single encrypted endpoint
|
|
22
|
+
* Automatically handles session expiration and retries
|
|
22
23
|
*/
|
|
23
24
|
private rpc;
|
|
24
25
|
/**
|
|
25
26
|
* Perform handshake with server to establish encrypted session
|
|
27
|
+
* Uses the same authKey to maintain user identity across sessions
|
|
26
28
|
*/
|
|
27
29
|
handshake(serverName?: string): Promise<void>;
|
|
28
30
|
/**
|
|
@@ -39,12 +41,18 @@ export declare class KadocClient {
|
|
|
39
41
|
content: string;
|
|
40
42
|
metadata?: Record<string, unknown>;
|
|
41
43
|
}): Promise<unknown>;
|
|
42
|
-
readDocument(path: string
|
|
44
|
+
readDocument(path: string, options?: {
|
|
45
|
+
lineOffset?: number;
|
|
46
|
+
lineLength?: number;
|
|
47
|
+
}): Promise<unknown>;
|
|
43
48
|
updateDocument(params: {
|
|
44
49
|
path: string;
|
|
45
50
|
title?: string;
|
|
46
51
|
content?: string;
|
|
47
52
|
metadata?: Record<string, unknown>;
|
|
53
|
+
lineOffset?: number;
|
|
54
|
+
lineLength?: number;
|
|
55
|
+
lines?: string | string[];
|
|
48
56
|
}): Promise<unknown>;
|
|
49
57
|
deleteDocument(path: string): Promise<unknown>;
|
|
50
58
|
listDocuments(params: {
|
|
@@ -52,6 +60,22 @@ export declare class KadocClient {
|
|
|
52
60
|
cursor?: string;
|
|
53
61
|
limit?: number;
|
|
54
62
|
}): Promise<unknown>;
|
|
63
|
+
readJson(path: string, options?: {
|
|
64
|
+
jsonPath?: string;
|
|
65
|
+
}): Promise<unknown>;
|
|
66
|
+
writeJson(params: {
|
|
67
|
+
path: string;
|
|
68
|
+
title: string;
|
|
69
|
+
data?: unknown;
|
|
70
|
+
jsonPath?: string;
|
|
71
|
+
metadata?: Record<string, unknown>;
|
|
72
|
+
}): Promise<unknown>;
|
|
73
|
+
deleteJson(path: string): Promise<unknown>;
|
|
74
|
+
listJson(params: {
|
|
75
|
+
folder: string;
|
|
76
|
+
cursor?: string;
|
|
77
|
+
limit?: number;
|
|
78
|
+
}): Promise<unknown>;
|
|
55
79
|
search(params: {
|
|
56
80
|
query: string;
|
|
57
81
|
folder?: string;
|
|
@@ -63,6 +87,8 @@ export declare class KadocClient {
|
|
|
63
87
|
listFolders(params: {
|
|
64
88
|
cursor?: string;
|
|
65
89
|
limit?: number;
|
|
90
|
+
sort?: 'path' | 'createdAt';
|
|
91
|
+
order?: 'asc' | 'desc';
|
|
66
92
|
}): Promise<unknown>;
|
|
67
93
|
deleteFolder(path: string): Promise<unknown>;
|
|
68
94
|
getIndexSettings(path: string): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kadoc-client.d.ts","sourceRoot":"","sources":["../../src/client/kadoc-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAmB,MAAM,cAAc,CAAC;AAYvD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAyBD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAuC;gBAE3C,MAAM,EAAE,MAAM;IAI1B
|
|
1
|
+
{"version":3,"file":"kadoc-client.d.ts","sourceRoot":"","sources":["../../src/client/kadoc-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export class KadocClient {
|
|
|
10
10
|
/**
|
|
11
11
|
* Make an RPC request to the kadoc-server via POST /req
|
|
12
12
|
* All authenticated requests go through this single encrypted endpoint
|
|
13
|
+
* Automatically handles session expiration and retries
|
|
13
14
|
*/
|
|
14
15
|
async rpc(method, params, serverName) {
|
|
15
16
|
const serverConfig = getServerConfig(this.config, serverName);
|
|
@@ -23,72 +24,119 @@ export class KadocClient {
|
|
|
23
24
|
throw new Error('Failed to establish session');
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
27
|
+
const makeRequest = async () => {
|
|
28
|
+
const url = `${serverConfig.url}/req`;
|
|
29
|
+
// Create RPC request payload
|
|
30
|
+
const rpcPayload = {
|
|
31
|
+
method,
|
|
32
|
+
params: params ?? {},
|
|
33
|
+
};
|
|
34
|
+
// Encrypt request body
|
|
35
|
+
const encrypted = encrypt(rpcPayload, session.sharedSecret);
|
|
36
|
+
const nonce = generateNonce();
|
|
37
|
+
const requestBody = { encrypted, nonce };
|
|
38
|
+
const response = await request(url, {
|
|
39
|
+
method: 'POST',
|
|
40
|
+
headers: {
|
|
41
|
+
'Content-Type': 'application/json',
|
|
42
|
+
'X-Session-Id': session.sessionId,
|
|
43
|
+
},
|
|
44
|
+
body: JSON.stringify(requestBody),
|
|
45
|
+
});
|
|
46
|
+
// Handle 204 No Content responses (e.g., delete operations)
|
|
47
|
+
if (response.statusCode === 204) {
|
|
48
|
+
return {};
|
|
49
|
+
}
|
|
50
|
+
// Read response text first to handle empty body
|
|
51
|
+
const responseText = await response.body.text();
|
|
52
|
+
let responseBody;
|
|
53
|
+
try {
|
|
54
|
+
responseBody = responseText ? JSON.parse(responseText) : {};
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// If response is not JSON, return empty object for success, throw for error
|
|
58
|
+
if (response.statusCode >= 400) {
|
|
59
|
+
throw new Error(`HTTP ${response.statusCode}: ${responseText}`);
|
|
60
|
+
}
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
56
63
|
if (response.statusCode >= 400) {
|
|
57
|
-
|
|
64
|
+
const error = responseBody;
|
|
65
|
+
const errorCode = error.error?.code || 'ERROR';
|
|
66
|
+
const errorMessage = error.error?.message || 'Unknown error';
|
|
67
|
+
// Handle SESSION_EXPIRED error specifically
|
|
68
|
+
if (errorCode === 'SESSION_EXPIRED') {
|
|
69
|
+
// Clear the expired session
|
|
70
|
+
this.sessions.delete(serverKey);
|
|
71
|
+
// Throw specific error for retry logic
|
|
72
|
+
throw new Error(`[SESSION_EXPIRED] ${errorMessage}`);
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`[${errorCode}] ${errorMessage}`);
|
|
58
75
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
76
|
+
// Decrypt response if encrypted
|
|
77
|
+
if (responseBody.encrypted) {
|
|
78
|
+
const encryptedResponse = responseBody;
|
|
79
|
+
const decrypted = decryptJson(encryptedResponse.encrypted, session.sharedSecret);
|
|
80
|
+
if (!decrypted) {
|
|
81
|
+
throw new Error('Failed to decrypt response');
|
|
82
|
+
}
|
|
83
|
+
return decrypted.data;
|
|
84
|
+
}
|
|
85
|
+
// Handle unencrypted response (shouldn't happen for /req, but handle gracefully)
|
|
86
|
+
const rpcResponse = responseBody;
|
|
87
|
+
return rpcResponse.data;
|
|
88
|
+
};
|
|
89
|
+
// Try the request, retry once if session expired
|
|
90
|
+
try {
|
|
91
|
+
return await makeRequest();
|
|
64
92
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
93
|
+
catch (error) {
|
|
94
|
+
// If session expired, try to re-establish and retry once
|
|
95
|
+
if (error instanceof Error && error.message.includes('[SESSION_EXPIRED]')) {
|
|
96
|
+
console.error(`[kadoc-mcp] SESSION_EXPIRED detected for ${method}, re-establishing session...`);
|
|
97
|
+
try {
|
|
98
|
+
// Re-establish session
|
|
99
|
+
await this.handshake(serverName);
|
|
100
|
+
session = this.sessions.get(serverKey);
|
|
101
|
+
if (!session) {
|
|
102
|
+
throw new Error('Failed to re-establish session after expiration');
|
|
103
|
+
}
|
|
104
|
+
console.error(`[kadoc-mcp] Session re-established, retrying ${method}...`);
|
|
105
|
+
// Retry the request with new session
|
|
106
|
+
const result = await makeRequest();
|
|
107
|
+
console.error(`[kadoc-mcp] ${method} succeeded after retry`);
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
catch (retryError) {
|
|
111
|
+
console.error(`[kadoc-mcp] Retry failed for ${method}:`, retryError);
|
|
112
|
+
// Don't re-throw SESSION_EXPIRED, throw a more user-friendly error
|
|
113
|
+
if (retryError instanceof Error && retryError.message.includes('Failed to re-establish')) {
|
|
114
|
+
throw retryError;
|
|
115
|
+
}
|
|
116
|
+
// For any other error during retry, wrap it
|
|
117
|
+
throw new Error(`Failed to recover from session expiration: ${retryError instanceof Error ? retryError.message : String(retryError)}`);
|
|
118
|
+
}
|
|
71
119
|
}
|
|
72
|
-
|
|
120
|
+
// Re-throw other errors
|
|
121
|
+
throw error;
|
|
73
122
|
}
|
|
74
|
-
// Handle unencrypted response (shouldn't happen for /req, but handle gracefully)
|
|
75
|
-
const rpcResponse = responseBody;
|
|
76
|
-
return rpcResponse.data;
|
|
77
123
|
}
|
|
78
124
|
/**
|
|
79
125
|
* Perform handshake with server to establish encrypted session
|
|
126
|
+
* Uses the same authKey to maintain user identity across sessions
|
|
80
127
|
*/
|
|
81
128
|
async handshake(serverName) {
|
|
82
129
|
const serverConfig = getServerConfig(this.config, serverName);
|
|
83
130
|
const serverKey = serverName ?? this.config.defaultServer;
|
|
84
|
-
|
|
131
|
+
console.error(`[kadoc-mcp] Initiating handshake with ${serverConfig.url}...`);
|
|
132
|
+
// Generate ephemeral key pair for this session
|
|
85
133
|
const clientKeyPair = generateKeyPair();
|
|
86
134
|
const url = `${serverConfig.url}/auth/handshake`;
|
|
87
135
|
const response = await request(url, {
|
|
88
136
|
method: 'POST',
|
|
89
137
|
headers: {
|
|
90
138
|
'Content-Type': 'application/json',
|
|
91
|
-
'X-Auth-Key': serverConfig.auth.authKey,
|
|
139
|
+
'X-Auth-Key': serverConfig.auth.authKey, // User identity (persistent)
|
|
92
140
|
},
|
|
93
141
|
body: JSON.stringify({
|
|
94
142
|
clientPublicKey: encodePublicKey(clientKeyPair.publicKey),
|
|
@@ -97,6 +145,7 @@ export class KadocClient {
|
|
|
97
145
|
const responseBody = await response.body.json();
|
|
98
146
|
if (response.statusCode >= 400) {
|
|
99
147
|
const error = responseBody;
|
|
148
|
+
console.error(`[kadoc-mcp] Handshake failed: [${error.error.code}] ${error.error.message}`);
|
|
100
149
|
throw new Error(`[${error.error.code}] ${error.error.message}`);
|
|
101
150
|
}
|
|
102
151
|
const handshakeResponse = responseBody;
|
|
@@ -109,6 +158,8 @@ export class KadocClient {
|
|
|
109
158
|
sharedSecret,
|
|
110
159
|
expiresAt: handshakeResponse.data.expiresAt,
|
|
111
160
|
});
|
|
161
|
+
const expiresInMinutes = Math.round((handshakeResponse.data.expiresAt - Date.now()) / 60000);
|
|
162
|
+
console.error(`[kadoc-mcp] Handshake successful, session: ${handshakeResponse.data.sessionId}, expires in ${expiresInMinutes} minutes`);
|
|
112
163
|
}
|
|
113
164
|
/**
|
|
114
165
|
* End encrypted session
|
|
@@ -143,8 +194,12 @@ export class KadocClient {
|
|
|
143
194
|
metadata: params.metadata,
|
|
144
195
|
});
|
|
145
196
|
}
|
|
146
|
-
async readDocument(path) {
|
|
147
|
-
return this.rpc('documents.read', {
|
|
197
|
+
async readDocument(path, options) {
|
|
198
|
+
return this.rpc('documents.read', {
|
|
199
|
+
path,
|
|
200
|
+
lineOffset: options?.lineOffset,
|
|
201
|
+
lineLength: options?.lineLength,
|
|
202
|
+
});
|
|
148
203
|
}
|
|
149
204
|
async updateDocument(params) {
|
|
150
205
|
return this.rpc('documents.update', {
|
|
@@ -152,6 +207,9 @@ export class KadocClient {
|
|
|
152
207
|
title: params.title,
|
|
153
208
|
content: params.content,
|
|
154
209
|
metadata: params.metadata,
|
|
210
|
+
lineOffset: params.lineOffset,
|
|
211
|
+
lineLength: params.lineLength,
|
|
212
|
+
lines: params.lines,
|
|
155
213
|
});
|
|
156
214
|
}
|
|
157
215
|
async deleteDocument(path) {
|
|
@@ -164,6 +222,32 @@ export class KadocClient {
|
|
|
164
222
|
limit: params.limit,
|
|
165
223
|
});
|
|
166
224
|
}
|
|
225
|
+
// JSON operations
|
|
226
|
+
async readJson(path, options) {
|
|
227
|
+
return this.rpc('json.read', {
|
|
228
|
+
path,
|
|
229
|
+
jsonPath: options?.jsonPath,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async writeJson(params) {
|
|
233
|
+
return this.rpc('json.write', {
|
|
234
|
+
path: params.path,
|
|
235
|
+
title: params.title,
|
|
236
|
+
data: params.data,
|
|
237
|
+
jsonPath: params.jsonPath,
|
|
238
|
+
metadata: params.metadata,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async deleteJson(path) {
|
|
242
|
+
return this.rpc('json.delete', { path });
|
|
243
|
+
}
|
|
244
|
+
async listJson(params) {
|
|
245
|
+
return this.rpc('json.list', {
|
|
246
|
+
folder: params.folder,
|
|
247
|
+
cursor: params.cursor,
|
|
248
|
+
limit: params.limit,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
167
251
|
// Search
|
|
168
252
|
async search(params) {
|
|
169
253
|
return this.rpc('search.query', {
|
|
@@ -180,6 +264,8 @@ export class KadocClient {
|
|
|
180
264
|
return this.rpc('folders.list', {
|
|
181
265
|
cursor: params.cursor,
|
|
182
266
|
limit: params.limit,
|
|
267
|
+
sort: params.sort,
|
|
268
|
+
order: params.order,
|
|
183
269
|
});
|
|
184
270
|
}
|
|
185
271
|
async deleteFolder(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kadoc-client.js","sourceRoot":"","sources":["../../src/client/kadoc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAU,eAAe,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,OAAO,EACP,WAAW,EACX,aAAa,GAEd,MAAM,uBAAuB,CAAC;AAwC/B,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IACf,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC,CAAC,wBAAwB;IAEhF,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"kadoc-client.js","sourceRoot":"","sources":["../../src/client/kadoc-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
|
|
|
5
5
|
import { loadConfigAsync } from './config.js';
|
|
6
6
|
import { KadocClient } from './client/kadoc-client.js';
|
|
7
7
|
import { documentTools, handleDocumentTool } from './tools/documents.js';
|
|
8
|
+
import { jsonTools, handleJsonTool } from './tools/json.js';
|
|
8
9
|
import { searchTools, handleSearchTool } from './tools/search.js';
|
|
9
10
|
import { folderTools, handleFolderTool } from './tools/folders.js';
|
|
10
11
|
async function main() {
|
|
@@ -33,6 +34,7 @@ async function main() {
|
|
|
33
34
|
return {
|
|
34
35
|
tools: [
|
|
35
36
|
...documentTools,
|
|
37
|
+
...jsonTools,
|
|
36
38
|
...searchTools,
|
|
37
39
|
...folderTools,
|
|
38
40
|
],
|
|
@@ -46,6 +48,10 @@ async function main() {
|
|
|
46
48
|
if (['write_document', 'read_document', 'delete_document', 'update_document', 'list_documents'].includes(name)) {
|
|
47
49
|
return await handleDocumentTool(client, name, args);
|
|
48
50
|
}
|
|
51
|
+
// JSON tools
|
|
52
|
+
if (['read_json', 'write_json', 'delete_json', 'list_json'].includes(name)) {
|
|
53
|
+
return await handleJsonTool(client, name, args);
|
|
54
|
+
}
|
|
49
55
|
// Search tools
|
|
50
56
|
if (name === 'search') {
|
|
51
57
|
return await handleSearchTool(client, name, args);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,aAAa,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,aAAa,EAAE,IAAI,EAiF/B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAuEhF"}
|
package/dist/tools/documents.js
CHANGED
|
@@ -24,6 +24,8 @@ export const documentTools = [
|
|
|
24
24
|
type: 'object',
|
|
25
25
|
properties: {
|
|
26
26
|
path: { type: 'string' },
|
|
27
|
+
lineOffset: { type: 'number', description: 'optional, 0-based, requires lineLength' },
|
|
28
|
+
lineLength: { type: 'number', description: 'optional, requires lineOffset' },
|
|
27
29
|
},
|
|
28
30
|
required: ['path'],
|
|
29
31
|
},
|
|
@@ -47,12 +49,21 @@ export const documentTools = [
|
|
|
47
49
|
properties: {
|
|
48
50
|
path: { type: 'string' },
|
|
49
51
|
title: { type: 'string', description: 'optional' },
|
|
50
|
-
content: { type: 'string', description: 'optional' },
|
|
52
|
+
content: { type: 'string', description: 'optional, cannot use with line-based update' },
|
|
51
53
|
metadata: {
|
|
52
54
|
type: 'object',
|
|
53
|
-
description: 'Custom metadata fields to update',
|
|
55
|
+
description: 'optional, Custom metadata fields to update',
|
|
54
56
|
additionalProperties: true,
|
|
55
57
|
},
|
|
58
|
+
lineOffset: { type: 'number', description: 'optional, 0-based, requires lineLength and lines' },
|
|
59
|
+
lineLength: { type: 'number', description: 'optional, requires lineOffset and lines' },
|
|
60
|
+
lines: {
|
|
61
|
+
oneOf: [
|
|
62
|
+
{ type: 'string' },
|
|
63
|
+
{ type: 'array', items: { type: 'string' } },
|
|
64
|
+
],
|
|
65
|
+
description: 'optional, requires lineOffset and lineLength',
|
|
66
|
+
},
|
|
56
67
|
},
|
|
57
68
|
required: ['path'],
|
|
58
69
|
},
|
|
@@ -85,7 +96,10 @@ export async function handleDocumentTool(client, name, args) {
|
|
|
85
96
|
};
|
|
86
97
|
}
|
|
87
98
|
case 'read_document': {
|
|
88
|
-
const result = await client.readDocument(params.path
|
|
99
|
+
const result = await client.readDocument(params.path, {
|
|
100
|
+
lineOffset: params.lineOffset,
|
|
101
|
+
lineLength: params.lineLength,
|
|
102
|
+
});
|
|
89
103
|
return {
|
|
90
104
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
91
105
|
};
|
|
@@ -102,6 +116,9 @@ export async function handleDocumentTool(client, name, args) {
|
|
|
102
116
|
title: params.title,
|
|
103
117
|
content: params.content,
|
|
104
118
|
metadata: params.metadata,
|
|
119
|
+
lineOffset: params.lineOffset,
|
|
120
|
+
lineLength: params.lineLength,
|
|
121
|
+
lines: params.lines,
|
|
105
122
|
});
|
|
106
123
|
return {
|
|
107
124
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBACpD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;oBAChF,oBAAoB,EAAE,IAAI;iBAC3B;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;SACvC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../src/tools/folders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,WAAW,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../src/tools/folders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,WAAW,EAAE,IAAI,EA4D7B,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAoDhF"}
|
package/dist/tools/folders.js
CHANGED
|
@@ -6,6 +6,16 @@ export const folderTools = [
|
|
|
6
6
|
type: 'object',
|
|
7
7
|
properties: {
|
|
8
8
|
limit: { type: 'number', description: 'optional, default: 20' },
|
|
9
|
+
sort: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
enum: ['path', 'createdAt'],
|
|
12
|
+
description: 'optional',
|
|
13
|
+
},
|
|
14
|
+
order: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
enum: ['asc', 'desc'],
|
|
17
|
+
description: 'optional',
|
|
18
|
+
},
|
|
9
19
|
},
|
|
10
20
|
},
|
|
11
21
|
},
|
|
@@ -41,7 +51,7 @@ export const folderTools = [
|
|
|
41
51
|
indexFields: {
|
|
42
52
|
type: 'array',
|
|
43
53
|
items: { type: 'string' },
|
|
44
|
-
description: 'Metadata fields to index (e.g., ["author", "tags"])
|
|
54
|
+
description: 'optional, Metadata fields to index (e.g., ["author", "tags"])',
|
|
45
55
|
},
|
|
46
56
|
},
|
|
47
57
|
required: ['path'],
|
|
@@ -55,6 +65,8 @@ export async function handleFolderTool(client, name, args) {
|
|
|
55
65
|
case 'list_folders': {
|
|
56
66
|
const result = await client.listFolders({
|
|
57
67
|
limit: params.limit,
|
|
68
|
+
sort: params.sort,
|
|
69
|
+
order: params.order,
|
|
58
70
|
});
|
|
59
71
|
return {
|
|
60
72
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/tools/folders.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;
|
|
1
|
+
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/tools/folders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { KadocClient } from '../client/kadoc-client.js';
|
|
3
|
+
export declare const jsonTools: Tool[];
|
|
4
|
+
export declare function handleJsonTool(client: KadocClient, name: string, args: Record<string, unknown> | undefined): Promise<{
|
|
5
|
+
content: Array<{
|
|
6
|
+
type: string;
|
|
7
|
+
text: string;
|
|
8
|
+
}>;
|
|
9
|
+
isError?: boolean;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/tools/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,IAAI,EAwD3B,CAAC;AAEF,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyDhF"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export const jsonTools = [
|
|
2
|
+
{
|
|
3
|
+
name: 'read_json',
|
|
4
|
+
description: 'Read a JSON document',
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: {
|
|
8
|
+
path: { type: 'string' },
|
|
9
|
+
jsonPath: { type: 'string', description: 'optional, default: "$." (root)' },
|
|
10
|
+
},
|
|
11
|
+
required: ['path'],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'write_json',
|
|
16
|
+
description: 'Create or update a JSON document',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
path: { type: 'string' },
|
|
21
|
+
title: { type: 'string' },
|
|
22
|
+
data: { description: 'optional, full JSON data or value for jsonPath update' },
|
|
23
|
+
jsonPath: { type: 'string', description: 'optional, default: "$." (replace entire data)' },
|
|
24
|
+
metadata: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
description: 'optional, Custom metadata fields',
|
|
27
|
+
additionalProperties: true,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
required: ['path', 'title'],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'list_json',
|
|
35
|
+
description: 'List JSON documents in a folder',
|
|
36
|
+
inputSchema: {
|
|
37
|
+
type: 'object',
|
|
38
|
+
properties: {
|
|
39
|
+
folder: { type: 'string' },
|
|
40
|
+
cursor: { type: 'string', description: 'optional' },
|
|
41
|
+
limit: { type: 'number', description: 'optional, default: 10' },
|
|
42
|
+
},
|
|
43
|
+
required: ['folder'],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'delete_json',
|
|
48
|
+
description: 'Delete a JSON document',
|
|
49
|
+
inputSchema: {
|
|
50
|
+
type: 'object',
|
|
51
|
+
properties: {
|
|
52
|
+
path: { type: 'string' },
|
|
53
|
+
},
|
|
54
|
+
required: ['path'],
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
export async function handleJsonTool(client, name, args) {
|
|
59
|
+
const params = args ?? {};
|
|
60
|
+
try {
|
|
61
|
+
switch (name) {
|
|
62
|
+
case 'read_json': {
|
|
63
|
+
const result = await client.readJson(params.path, {
|
|
64
|
+
jsonPath: params.jsonPath,
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
case 'write_json': {
|
|
71
|
+
const result = await client.writeJson({
|
|
72
|
+
path: params.path,
|
|
73
|
+
title: params.title,
|
|
74
|
+
data: params.data,
|
|
75
|
+
jsonPath: params.jsonPath,
|
|
76
|
+
metadata: params.metadata,
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
case 'list_json': {
|
|
83
|
+
const result = await client.listJson({
|
|
84
|
+
folder: params.folder,
|
|
85
|
+
cursor: params.cursor,
|
|
86
|
+
limit: params.limit,
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
case 'delete_json': {
|
|
93
|
+
await client.deleteJson(params.path);
|
|
94
|
+
return {
|
|
95
|
+
content: [{ type: 'text', text: 'JSON document deleted successfully' }],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
default:
|
|
99
|
+
return {
|
|
100
|
+
content: [{ type: 'text', text: `Unknown JSON tool: ${name}` }],
|
|
101
|
+
isError: true,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
|
|
108
|
+
isError: true,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/tools/json.ts"],"names":[],"mappings":"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"}
|