@contiva/sapbtp-docs-mcp 1.0.1 → 1.0.3
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 +49 -53
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/indexing/file-registry.d.ts.map +1 -1
- package/build/indexing/file-registry.js +2 -5
- package/build/indexing/file-registry.js.map +1 -1
- package/build/indexing/topic-index.d.ts.map +1 -1
- package/build/indexing/topic-index.js +8 -9
- package/build/indexing/topic-index.js.map +1 -1
- package/build/search/fulltext.d.ts.map +1 -1
- package/build/search/fulltext.js +3 -5
- package/build/search/fulltext.js.map +1 -1
- package/build/search/semantic.d.ts.map +1 -1
- package/build/search/semantic.js +4 -9
- package/build/search/semantic.js.map +1 -1
- package/build/search/title.d.ts.map +1 -1
- package/build/search/title.js +3 -5
- package/build/search/title.js.map +1 -1
- package/build/server.d.ts +17 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +95 -5
- package/build/server.js.map +1 -1
- package/build/tools/get-related.d.ts.map +1 -1
- package/build/tools/get-related.js +4 -1
- package/build/tools/get-related.js.map +1 -1
- package/build/tools/list-topics.d.ts +2 -1
- package/build/tools/list-topics.d.ts.map +1 -1
- package/build/tools/list-topics.js +5 -4
- package/build/tools/list-topics.js.map +1 -1
- package/build/tools/read-article.d.ts +4 -0
- package/build/tools/read-article.d.ts.map +1 -1
- package/build/tools/read-article.js +24 -3
- package/build/tools/read-article.js.map +1 -1
- package/build/tools/search.d.ts +0 -6
- package/build/tools/search.d.ts.map +1 -1
- package/build/tools/search.js +9 -15
- package/build/tools/search.js.map +1 -1
- package/build/types/index.d.ts +2 -7
- package/build/types/index.d.ts.map +1 -1
- package/build/utils/docs-downloader.js +5 -5
- package/build/utils/docs-downloader.js.map +1 -1
- package/build/utils/paths.d.ts +9 -7
- package/build/utils/paths.d.ts.map +1 -1
- package/build/utils/paths.js +14 -29
- package/build/utils/paths.js.map +1 -1
- package/package.json +1 -1
package/build/server.js
CHANGED
|
@@ -17,7 +17,7 @@ import { ensureDocsAvailable } from './utils/docs-downloader.js';
|
|
|
17
17
|
/**
|
|
18
18
|
* SAP Business Technology Platform Documentation MCP Server
|
|
19
19
|
*/
|
|
20
|
-
export class
|
|
20
|
+
export class SAPBTPDocsServer {
|
|
21
21
|
server;
|
|
22
22
|
config;
|
|
23
23
|
// Components
|
|
@@ -110,44 +110,48 @@ export class SAPISDocsServer {
|
|
|
110
110
|
switch (name) {
|
|
111
111
|
case 'search_documentation': {
|
|
112
112
|
const result = await this.searchTool.execute(args);
|
|
113
|
+
const formattedText = this.formatSearchResults(result);
|
|
113
114
|
return {
|
|
114
115
|
content: [
|
|
115
116
|
{
|
|
116
117
|
type: 'text',
|
|
117
|
-
text:
|
|
118
|
+
text: formattedText,
|
|
118
119
|
},
|
|
119
120
|
],
|
|
120
121
|
};
|
|
121
122
|
}
|
|
122
123
|
case 'read_article': {
|
|
123
124
|
const result = await this.readArticleTool.execute(args);
|
|
125
|
+
const formattedText = this.formatArticle(result);
|
|
124
126
|
return {
|
|
125
127
|
content: [
|
|
126
128
|
{
|
|
127
129
|
type: 'text',
|
|
128
|
-
text:
|
|
130
|
+
text: formattedText,
|
|
129
131
|
},
|
|
130
132
|
],
|
|
131
133
|
};
|
|
132
134
|
}
|
|
133
135
|
case 'list_topics': {
|
|
134
136
|
const result = await this.listTopicsTool.execute(args);
|
|
137
|
+
const formattedText = this.formatTopics(result);
|
|
135
138
|
return {
|
|
136
139
|
content: [
|
|
137
140
|
{
|
|
138
141
|
type: 'text',
|
|
139
|
-
text:
|
|
142
|
+
text: formattedText,
|
|
140
143
|
},
|
|
141
144
|
],
|
|
142
145
|
};
|
|
143
146
|
}
|
|
144
147
|
case 'get_related_articles': {
|
|
145
148
|
const result = await this.getRelatedTool.execute(args);
|
|
149
|
+
const formattedText = this.formatRelatedArticles(result);
|
|
146
150
|
return {
|
|
147
151
|
content: [
|
|
148
152
|
{
|
|
149
153
|
type: 'text',
|
|
150
|
-
text:
|
|
154
|
+
text: formattedText,
|
|
151
155
|
},
|
|
152
156
|
],
|
|
153
157
|
};
|
|
@@ -170,6 +174,92 @@ export class SAPISDocsServer {
|
|
|
170
174
|
}
|
|
171
175
|
});
|
|
172
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Formats search results as readable text
|
|
179
|
+
*/
|
|
180
|
+
formatSearchResults(result) {
|
|
181
|
+
const { results, totalResults, searchType, queryTime } = result;
|
|
182
|
+
if (results.length === 0) {
|
|
183
|
+
return `No results found.\n\nTry:\n- Using different keywords\n- Checking for typos\n- Using more general terms`;
|
|
184
|
+
}
|
|
185
|
+
let text = `Found ${totalResults} result${totalResults !== 1 ? 's' : ''} (${searchType} search, ${queryTime}ms)\n\n`;
|
|
186
|
+
results.forEach((r, i) => {
|
|
187
|
+
text += `${i + 1}. **${r.title}**\n`;
|
|
188
|
+
text += ` Score: ${r.score.toFixed(1)} | Match: ${r.matchType}\n`;
|
|
189
|
+
text += ` Path: ${r.relativePath}\n`;
|
|
190
|
+
text += ` LOIO: ${r.loioId}\n`;
|
|
191
|
+
if (r.snippet) {
|
|
192
|
+
text += ` Snippet: ${r.snippet.substring(0, 200)}${r.snippet.length > 200 ? '...' : ''}\n`;
|
|
193
|
+
}
|
|
194
|
+
text += `\n`;
|
|
195
|
+
});
|
|
196
|
+
return text;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Formats article content as readable text
|
|
200
|
+
*/
|
|
201
|
+
formatArticle(result) {
|
|
202
|
+
const { title, filePath, loioId, content, metadata } = result;
|
|
203
|
+
let text = `# ${title}\n\n`;
|
|
204
|
+
text += `**Path:** ${filePath}\n`;
|
|
205
|
+
text += `**LOIO:** ${loioId}\n`;
|
|
206
|
+
text += `**Area:** ${metadata.area}\n\n`;
|
|
207
|
+
text += `---\n\n`;
|
|
208
|
+
text += content;
|
|
209
|
+
if (metadata.relatedLinks && metadata.relatedLinks.length > 0) {
|
|
210
|
+
text += `\n\n---\n\n## Related Links\n\n`;
|
|
211
|
+
metadata.relatedLinks.slice(0, 5).forEach((link) => {
|
|
212
|
+
text += `- ${link}\n`;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return text;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Formats topics hierarchy as readable text
|
|
219
|
+
*/
|
|
220
|
+
formatTopics(result) {
|
|
221
|
+
const { area, topics, totalTopics } = result;
|
|
222
|
+
let text = `# SAP BTP Documentation Topics\n\n`;
|
|
223
|
+
text += `Area: ${area} | Total Topics: ${totalTopics}\n\n`;
|
|
224
|
+
const formatTopic = (topic, indent = '') => {
|
|
225
|
+
let t = `${indent}- **${topic.title}**\n`;
|
|
226
|
+
t += `${indent} Path: ${topic.path}\n`;
|
|
227
|
+
if (topic.children && topic.children.length > 0) {
|
|
228
|
+
topic.children.forEach((child) => {
|
|
229
|
+
t += formatTopic(child, indent + ' ');
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
return t;
|
|
233
|
+
};
|
|
234
|
+
topics.forEach((topic) => {
|
|
235
|
+
text += formatTopic(topic);
|
|
236
|
+
});
|
|
237
|
+
return text;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Formats related articles as readable text
|
|
241
|
+
*/
|
|
242
|
+
formatRelatedArticles(result) {
|
|
243
|
+
const { sourceArticle, relatedArticles } = result;
|
|
244
|
+
let text = `# Related Articles for: ${sourceArticle.title}\n\n`;
|
|
245
|
+
text += `**Source Path:** ${sourceArticle.filePath}\n`;
|
|
246
|
+
text += `**Source LOIO:** ${sourceArticle.loioId}\n\n`;
|
|
247
|
+
text += `---\n\n`;
|
|
248
|
+
if (relatedArticles.length === 0) {
|
|
249
|
+
return text + `No related articles found.`;
|
|
250
|
+
}
|
|
251
|
+
text += `Found ${relatedArticles.length} related article${relatedArticles.length !== 1 ? 's' : ''}:\n\n`;
|
|
252
|
+
relatedArticles.forEach((article, i) => {
|
|
253
|
+
text += `${i + 1}. **${article.title}**\n`;
|
|
254
|
+
text += ` Score: ${article.score.toFixed(1)} | Type: ${article.relationshipType}\n`;
|
|
255
|
+
text += ` Path: ${article.filePath}\n`;
|
|
256
|
+
if (article.loioId) {
|
|
257
|
+
text += ` LOIO: ${article.loioId}\n`;
|
|
258
|
+
}
|
|
259
|
+
text += `\n`;
|
|
260
|
+
});
|
|
261
|
+
return text;
|
|
262
|
+
}
|
|
173
263
|
/**
|
|
174
264
|
* Starts the server
|
|
175
265
|
*/
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-related.d.ts","sourceRoot":"","sources":["../../src/tools/get-related.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAkB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc;IAGxC;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-related.d.ts","sourceRoot":"","sources":["../../src/tools/get-related.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAkB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc;IAGxC;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA4ChF;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjB"}
|
|
@@ -20,7 +20,10 @@ export class GetRelatedArticlesTool {
|
|
|
20
20
|
// Resolve identifier to file path
|
|
21
21
|
const filePath = this.resolveIdentifier(identifier);
|
|
22
22
|
if (!filePath) {
|
|
23
|
-
|
|
23
|
+
// Enhanced error with search suggestion
|
|
24
|
+
throw new Error(`Article not found: ${identifier}\n\n` +
|
|
25
|
+
`Try searching first: search_documentation(query="${identifier}")\n` +
|
|
26
|
+
`Then use the returned file path or LOIO ID.`);
|
|
24
27
|
}
|
|
25
28
|
// Get source document
|
|
26
29
|
const sourceDoc = await this.fileCache.get(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-related.js","sourceRoot":"","sources":["../../src/tools/get-related.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAEvB;IACA;IACA;IAHV,YACU,QAAsB,EACtB,SAAoB,EACpB,cAA8B;QAF9B,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAA8B;QAC1C,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;QAE1D,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"get-related.js","sourceRoot":"","sources":["../../src/tools/get-related.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export declare class ListTopicsTool {
|
|
|
23
23
|
type: string;
|
|
24
24
|
enum: string[];
|
|
25
25
|
description: string;
|
|
26
|
+
default: string;
|
|
26
27
|
};
|
|
27
28
|
depth: {
|
|
28
29
|
type: string;
|
|
@@ -36,7 +37,7 @@ export declare class ListTopicsTool {
|
|
|
36
37
|
description: string;
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
|
-
required:
|
|
40
|
+
required: never[];
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-topics.d.ts","sourceRoot":"","sources":["../../src/tools/list-topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB9D;;OAEG;IACH,MAAM,CAAC,SAAS
|
|
1
|
+
{"version":3,"file":"list-topics.d.ts","sourceRoot":"","sources":["../../src/tools/list-topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB9D;;OAEG;IACH,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjB"}
|
|
@@ -10,7 +10,7 @@ export class ListTopicsTool {
|
|
|
10
10
|
* Lists documentation topics in hierarchical structure
|
|
11
11
|
*/
|
|
12
12
|
async execute(input) {
|
|
13
|
-
const { area, depth = 2, parentPath } = input;
|
|
13
|
+
const { area = 'btp', depth = 2, parentPath } = input;
|
|
14
14
|
if (parentPath) {
|
|
15
15
|
// Get topics under specific parent
|
|
16
16
|
const topics = this.topicIndex.getTopicsUnderPath(area, parentPath);
|
|
@@ -40,8 +40,9 @@ export class ListTopicsTool {
|
|
|
40
40
|
properties: {
|
|
41
41
|
area: {
|
|
42
42
|
type: 'string',
|
|
43
|
-
enum: ['
|
|
44
|
-
description: 'Documentation area
|
|
43
|
+
enum: ['btp'],
|
|
44
|
+
description: 'Documentation area (use "btp" for SAP Business Technology Platform)',
|
|
45
|
+
default: 'btp'
|
|
45
46
|
},
|
|
46
47
|
depth: {
|
|
47
48
|
type: 'number',
|
|
@@ -55,7 +56,7 @@ export class ListTopicsTool {
|
|
|
55
56
|
description: 'Show topics under this parent path only (optional)'
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
|
-
required: [
|
|
59
|
+
required: []
|
|
59
60
|
}
|
|
60
61
|
};
|
|
61
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-topics.js","sourceRoot":"","sources":["../../src/tools/list-topics.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAsB;QAClC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"list-topics.js","sourceRoot":"","sources":["../../src/tools/list-topics.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAsB;QAClC,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAEtD,IAAI,UAAU,EAAE,CAAC;YACf,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEpE,OAAO;gBACL,IAAI;gBACJ,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE/D,OAAO;YACL,IAAI;YACJ,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uGAAuG;YACpH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,CAAC;wBACb,WAAW,EAAE,qEAAqE;wBAClF,OAAO,EAAE,KAAK;qBACf;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;wBACjD,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC;qBACX;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oDAAoD;qBAClE;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -12,6 +12,10 @@ export declare class ReadArticleTool {
|
|
|
12
12
|
* Reads an article by file path or LOIO ID
|
|
13
13
|
*/
|
|
14
14
|
execute(input: ReadArticleInput): Promise<ReadArticleOutput>;
|
|
15
|
+
/**
|
|
16
|
+
* Finds similar articles based on identifier
|
|
17
|
+
*/
|
|
18
|
+
private findSimilarArticles;
|
|
15
19
|
/**
|
|
16
20
|
* Resolves identifier (path or LOIO ID) to file path
|
|
17
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-article.d.ts","sourceRoot":"","sources":["../../src/tools/read-article.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"read-article.d.ts","sourceRoot":"","sources":["../../src/tools/read-article.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAqB,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;GAEG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;gBADT,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAG9B;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsDlE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;CAqBjB"}
|
|
@@ -18,10 +18,23 @@ export class ReadArticleTool {
|
|
|
18
18
|
// Determine if identifier is a path or LOIO ID
|
|
19
19
|
const filePath = this.resolveIdentifier(identifier);
|
|
20
20
|
if (!filePath) {
|
|
21
|
-
|
|
21
|
+
// Enhanced error with suggestions
|
|
22
|
+
const suggestions = this.findSimilarArticles(identifier);
|
|
23
|
+
let errorMsg = `Article not found: ${identifier}`;
|
|
24
|
+
if (suggestions.length > 0) {
|
|
25
|
+
errorMsg += `\n\nDid you mean one of these?\n`;
|
|
26
|
+
suggestions.forEach((s, i) => {
|
|
27
|
+
errorMsg += `${i + 1}. ${s.title}\n Path: ${s.relativePath}\n`;
|
|
28
|
+
});
|
|
29
|
+
errorMsg += `\nTry using: read_article(identifier="${suggestions[0].filePath}")`;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
errorMsg += `\n\nTry searching first: search_documentation(query="${identifier}")`;
|
|
33
|
+
}
|
|
34
|
+
throw new Error(errorMsg);
|
|
22
35
|
}
|
|
23
36
|
if (!existsSync(filePath)) {
|
|
24
|
-
throw new Error(`Article file does not exist: ${filePath}
|
|
37
|
+
throw new Error(`Article file does not exist: ${filePath}\n\nThe file may have been moved or deleted.`);
|
|
25
38
|
}
|
|
26
39
|
// Get parsed document
|
|
27
40
|
const doc = await this.fileCache.get(filePath);
|
|
@@ -44,6 +57,14 @@ export class ReadArticleTool {
|
|
|
44
57
|
},
|
|
45
58
|
};
|
|
46
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Finds similar articles based on identifier
|
|
62
|
+
*/
|
|
63
|
+
findSimilarArticles(identifier) {
|
|
64
|
+
// Search by title similarity
|
|
65
|
+
const results = this.registry.searchByTitle(identifier);
|
|
66
|
+
return results.slice(0, 3);
|
|
67
|
+
}
|
|
47
68
|
/**
|
|
48
69
|
* Resolves identifier (path or LOIO ID) to file path
|
|
49
70
|
*/
|
|
@@ -73,7 +94,7 @@ export class ReadArticleTool {
|
|
|
73
94
|
properties: {
|
|
74
95
|
identifier: {
|
|
75
96
|
type: 'string',
|
|
76
|
-
description: 'Either the file path (e.g., "docs/
|
|
97
|
+
description: 'Either the file path (e.g., "docs/10-concepts/account-model-8ed4a70.md") or LOIO ID (e.g., "loio8ed4a705efa0431b910cd2a0c8d6f5e5")'
|
|
77
98
|
},
|
|
78
99
|
resolveLinks: {
|
|
79
100
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-article.js","sourceRoot":"","sources":["../../src/tools/read-article.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,OAAO,eAAe;IAEhB;IACA;IAFV,YACU,QAAsB,EACtB,SAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAElD,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"read-article.js","sourceRoot":"","sources":["../../src/tools/read-article.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,OAAO,eAAe;IAEhB;IACA;IAFV,YACU,QAAsB,EACtB,SAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAElD,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,QAAQ,GAAG,sBAAsB,UAAU,EAAE,CAAC;YAElD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,IAAI,kCAAkC,CAAC;gBAC/C,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,YAAY,IAAI,CAAC;gBACnE,CAAC,CAAC,CAAC;gBACH,QAAQ,IAAI,yCAAyC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,QAAQ,IAAI,wDAAwD,UAAU,IAAI,CAAC;YACrF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,8CAA8C,CAAC,CAAC;QAC1G,CAAC;QAED,sBAAsB;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,kBAAkB;QAClB,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE1B,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,wBAAwB;QACxB,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvE,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ;YAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;gBACvB,YAAY;aACb;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB;QAC5C,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAAkB;QAC1C,0BAA0B;QAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QAED,mCAAmC;QACnC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,mIAAmI;YAChJ,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oIAAoI;qBAClJ;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0CAA0C;wBACvD,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;CACF"}
|
package/build/tools/search.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,OAAO,CAAgB;gBAGrB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW;IAKlC;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,OAAO,CAAgB;gBAGrB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW;IAKlC;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgErE;;OAEG;IACH,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjB"}
|
package/build/tools/search.js
CHANGED
|
@@ -19,10 +19,10 @@ export class SearchTool {
|
|
|
19
19
|
* Executes search based on input parameters
|
|
20
20
|
*/
|
|
21
21
|
async execute(input) {
|
|
22
|
-
const { query, searchType = 'all',
|
|
22
|
+
const { query, searchType = 'all', limit = 20 } = input;
|
|
23
23
|
const startTime = Date.now();
|
|
24
24
|
// Check cache first
|
|
25
|
-
const cached = this.searchCache.get(query, searchType,
|
|
25
|
+
const cached = this.searchCache.get(query, searchType, 'all');
|
|
26
26
|
if (cached) {
|
|
27
27
|
return {
|
|
28
28
|
results: cached.slice(0, limit),
|
|
@@ -34,20 +34,20 @@ export class SearchTool {
|
|
|
34
34
|
// Perform search based on type
|
|
35
35
|
let results;
|
|
36
36
|
if (searchType === 'fulltext') {
|
|
37
|
-
results = await this.fulltextSearch.search({ query,
|
|
37
|
+
results = await this.fulltextSearch.search({ query, limit });
|
|
38
38
|
}
|
|
39
39
|
else if (searchType === 'title') {
|
|
40
|
-
results = await this.titleSearch.search({ query,
|
|
40
|
+
results = await this.titleSearch.search({ query, limit });
|
|
41
41
|
}
|
|
42
42
|
else if (searchType === 'semantic') {
|
|
43
|
-
results = await this.semanticSearch.search({ query,
|
|
43
|
+
results = await this.semanticSearch.search({ query, limit });
|
|
44
44
|
}
|
|
45
45
|
else if (searchType === 'all') {
|
|
46
46
|
// Run all three searches in parallel
|
|
47
47
|
const [fulltextResults, titleResults, semanticResults] = await Promise.all([
|
|
48
|
-
this.fulltextSearch.search({ query,
|
|
49
|
-
this.titleSearch.search({ query,
|
|
50
|
-
this.semanticSearch.search({ query,
|
|
48
|
+
this.fulltextSearch.search({ query, limit: limit * 2 }),
|
|
49
|
+
this.titleSearch.search({ query, limit: limit * 2 }),
|
|
50
|
+
this.semanticSearch.search({ query, limit: limit * 2 }).catch(() => []), // Fallback if semantic search not initialized
|
|
51
51
|
]);
|
|
52
52
|
// Combine results
|
|
53
53
|
results = this.ranking.combineResults(fulltextResults, titleResults, semanticResults);
|
|
@@ -58,7 +58,7 @@ export class SearchTool {
|
|
|
58
58
|
throw new Error(`Invalid search type: ${searchType}`);
|
|
59
59
|
}
|
|
60
60
|
// Cache results
|
|
61
|
-
this.searchCache.set(query, searchType,
|
|
61
|
+
this.searchCache.set(query, searchType, 'all', results);
|
|
62
62
|
const queryTime = Date.now() - startTime;
|
|
63
63
|
return {
|
|
64
64
|
results,
|
|
@@ -87,12 +87,6 @@ export class SearchTool {
|
|
|
87
87
|
description: 'Type of search: fulltext (content search), title (title matching), semantic (AI-based), all (combined)',
|
|
88
88
|
default: 'all'
|
|
89
89
|
},
|
|
90
|
-
area: {
|
|
91
|
-
type: 'string',
|
|
92
|
-
enum: ['ISuite', 'ci', 'apim', 'all'],
|
|
93
|
-
description: 'Limit search to specific documentation area. ISuite = main Integration Suite, ci = Cloud Integration, apim = API Management',
|
|
94
|
-
default: 'all'
|
|
95
|
-
},
|
|
96
90
|
limit: {
|
|
97
91
|
type: 'number',
|
|
98
92
|
description: 'Maximum number of results to return (1-50)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,OAAO,UAAU;IAIX;IACA;IACA;IACA;IANF,OAAO,CAAgB;IAE/B,YACU,cAA8B,EAC9B,WAAwB,EACxB,cAA8B,EAC9B,WAAwB;QAHxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAsB;QAClC,MAAM,EACJ,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
package/build/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type DocumentArea = '
|
|
1
|
+
export type DocumentArea = 'btp';
|
|
2
2
|
export type SearchType = 'fulltext' | 'title' | 'semantic' | 'all';
|
|
3
3
|
export type MatchType = 'fulltext' | 'title' | 'semantic' | 'combined';
|
|
4
4
|
export type RelationshipType = 'explicit_link' | 'semantic' | 'combined';
|
|
@@ -37,22 +37,18 @@ export interface Heading {
|
|
|
37
37
|
export interface SearchOptions {
|
|
38
38
|
query: string;
|
|
39
39
|
searchType?: SearchType;
|
|
40
|
-
area?: DocumentArea | 'all';
|
|
41
40
|
limit?: number;
|
|
42
41
|
}
|
|
43
42
|
export interface FullTextSearchOptions {
|
|
44
43
|
query: string;
|
|
45
|
-
area?: DocumentArea | 'all';
|
|
46
44
|
limit?: number;
|
|
47
45
|
}
|
|
48
46
|
export interface TitleSearchOptions {
|
|
49
47
|
query: string;
|
|
50
|
-
area?: DocumentArea | 'all';
|
|
51
48
|
limit?: number;
|
|
52
49
|
}
|
|
53
50
|
export interface SemanticSearchOptions {
|
|
54
51
|
query: string;
|
|
55
|
-
area?: DocumentArea | 'all';
|
|
56
52
|
limit?: number;
|
|
57
53
|
}
|
|
58
54
|
export interface SearchResult {
|
|
@@ -125,7 +121,6 @@ export interface TextChunk {
|
|
|
125
121
|
export interface SearchToolInput {
|
|
126
122
|
query: string;
|
|
127
123
|
searchType?: SearchType;
|
|
128
|
-
area?: DocumentArea | 'all';
|
|
129
124
|
limit?: number;
|
|
130
125
|
}
|
|
131
126
|
export interface ReadArticleInput {
|
|
@@ -143,7 +138,7 @@ export interface ReadArticleOutput {
|
|
|
143
138
|
};
|
|
144
139
|
}
|
|
145
140
|
export interface ListTopicsInput {
|
|
146
|
-
area
|
|
141
|
+
area?: DocumentArea;
|
|
147
142
|
depth?: number;
|
|
148
143
|
parentPath?: string;
|
|
149
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,10 @@ const DOCS_REPO = 'https://github.com/SAP-docs/btp-cloud-platform.git';
|
|
|
14
14
|
export async function ensureDocsAvailable(docsPath) {
|
|
15
15
|
// Check if docs directory exists and has content
|
|
16
16
|
if (existsSync(docsPath)) {
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
if (existsSync(
|
|
17
|
+
// Check for new BTP structure (numbered directories)
|
|
18
|
+
const conceptsPath = join(docsPath, '10-concepts');
|
|
19
|
+
const gettingStartedPath = join(docsPath, '20-getting-started');
|
|
20
|
+
if (existsSync(conceptsPath) || existsSync(gettingStartedPath)) {
|
|
21
21
|
console.error('Documentation found at:', docsPath);
|
|
22
22
|
return true;
|
|
23
23
|
}
|
|
@@ -34,7 +34,7 @@ export async function ensureDocsAvailable(docsPath) {
|
|
|
34
34
|
console.error('\n✗ Failed to download documentation:', error);
|
|
35
35
|
console.error('\nPlease manually clone the official SAP documentation repository:');
|
|
36
36
|
console.error(` git clone ${DOCS_REPO}`);
|
|
37
|
-
console.error(` export MCP_DOCS_PATH=/path/to/btp-
|
|
37
|
+
console.error(` export MCP_DOCS_PATH=/path/to/btp-cloud-platform/docs`);
|
|
38
38
|
console.error('\nThen restart the MCP server.');
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-downloader.js","sourceRoot":"","sources":["../../src/utils/docs-downloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,SAAS,GAAG,oDAAoD,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,iDAAiD;IACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"docs-downloader.js","sourceRoot":"","sources":["../../src/utils/docs-downloader.ts"],"names":[],"mappings":"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"}
|