@contiva/sapbtp-docs-mcp 1.0.2 → 1.0.4
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/build/indexing/file-registry.d.ts +13 -0
- package/build/indexing/file-registry.d.ts.map +1 -1
- package/build/indexing/file-registry.js +88 -3
- package/build/indexing/file-registry.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 +3 -8
- 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 +23 -0
- package/build/server.d.ts.map +1 -1
- package/build/server.js +168 -32
- 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/read-article.d.ts +4 -0
- package/build/tools/read-article.d.ts.map +1 -1
- package/build/tools/read-article.js +23 -2
- 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 +0 -5
- package/build/types/index.d.ts.map +1 -1
- package/build/utils/paths.d.ts +1 -1
- package/build/utils/paths.d.ts.map +1 -1
- package/build/utils/paths.js +3 -2
- package/build/utils/paths.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,15 +6,28 @@ export declare class FileRegistry {
|
|
|
6
6
|
private registry;
|
|
7
7
|
private loioIndex;
|
|
8
8
|
private docsPath;
|
|
9
|
+
private cacheFile;
|
|
9
10
|
constructor(docsPath?: string);
|
|
10
11
|
/**
|
|
11
12
|
* Builds the file registry by scanning all documentation files
|
|
12
13
|
*/
|
|
13
14
|
build(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Loads registry from cache if available and valid
|
|
17
|
+
*/
|
|
18
|
+
private loadFromCache;
|
|
19
|
+
/**
|
|
20
|
+
* Saves registry to cache
|
|
21
|
+
*/
|
|
22
|
+
private saveToCache;
|
|
14
23
|
/**
|
|
15
24
|
* Recursively scans a directory for markdown files
|
|
16
25
|
*/
|
|
17
26
|
private scanDirectory;
|
|
27
|
+
/**
|
|
28
|
+
* Adds multiple files to the registry in parallel batches
|
|
29
|
+
*/
|
|
30
|
+
private addFilesBatch;
|
|
18
31
|
/**
|
|
19
32
|
* Adds a file to the registry
|
|
20
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-registry.d.ts","sourceRoot":"","sources":["../../src/indexing/file-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-registry.d.ts","sourceRoot":"","sources":["../../src/indexing/file-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIzE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA6C;IAC7D,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,CAAC,EAAE,MAAM;IAK7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;YACW,aAAa;IAsC3B;;OAEG;YACW,WAAW;IAgBzB;;OAEG;YACW,aAAa;IA+B3B;;OAEG;YACW,aAAa;IAS3B;;OAEG;YACW,OAAO;IA4CrB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI1D;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAK1D;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,iBAAiB,EAAE;IAIlD;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;IAIlC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAOjD;;OAEG;IACH,IAAI,IAAI,MAAM;CAGf"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readdir, readFile } from 'fs/promises';
|
|
1
|
+
import { readdir, readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import { join } from 'path';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
3
4
|
import { resolveDocsPath, getRelativePath } from '../utils/paths.js';
|
|
4
5
|
import { extractLoioId } from '../parsers/metadata.js';
|
|
5
6
|
/**
|
|
@@ -9,8 +10,10 @@ export class FileRegistry {
|
|
|
9
10
|
registry = new Map();
|
|
10
11
|
loioIndex = new Map(); // loioId -> filePath
|
|
11
12
|
docsPath;
|
|
13
|
+
cacheFile;
|
|
12
14
|
constructor(docsPath) {
|
|
13
15
|
this.docsPath = docsPath || resolveDocsPath();
|
|
16
|
+
this.cacheFile = join(this.docsPath, '.registry-cache.json');
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Builds the file registry by scanning all documentation files
|
|
@@ -18,32 +21,114 @@ export class FileRegistry {
|
|
|
18
21
|
async build() {
|
|
19
22
|
console.error('Building file registry...');
|
|
20
23
|
const startTime = Date.now();
|
|
24
|
+
// Try to load from cache first
|
|
25
|
+
const cacheLoaded = await this.loadFromCache();
|
|
26
|
+
if (cacheLoaded) {
|
|
27
|
+
const elapsed = Date.now() - startTime;
|
|
28
|
+
console.error(`File registry loaded from cache: ${this.registry.size} files in ${elapsed}ms`);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
21
31
|
// Scan the entire docs directory (unified BTP structure)
|
|
22
32
|
await this.scanDirectory(this.docsPath, 'btp');
|
|
33
|
+
// Save to cache for next time
|
|
34
|
+
await this.saveToCache();
|
|
23
35
|
const elapsed = Date.now() - startTime;
|
|
24
36
|
console.error(`File registry built: ${this.registry.size} files in ${elapsed}ms`);
|
|
25
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Loads registry from cache if available and valid
|
|
40
|
+
*/
|
|
41
|
+
async loadFromCache() {
|
|
42
|
+
try {
|
|
43
|
+
if (!existsSync(this.cacheFile)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const cacheContent = await readFile(this.cacheFile, 'utf-8');
|
|
47
|
+
const cacheData = JSON.parse(cacheContent);
|
|
48
|
+
// Check cache version and freshness
|
|
49
|
+
if (cacheData.version !== '1.0' || !cacheData.timestamp || !cacheData.entries) {
|
|
50
|
+
console.error('Cache version mismatch or invalid format, rebuilding...');
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
// Check if cache is stale (older than 24 hours)
|
|
54
|
+
const cacheAge = Date.now() - cacheData.timestamp;
|
|
55
|
+
const maxAge = 24 * 60 * 60 * 1000; // 24 hours
|
|
56
|
+
if (cacheAge > maxAge) {
|
|
57
|
+
console.error('Cache is stale (>24h), rebuilding...');
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
// Load entries into registry
|
|
61
|
+
for (const entry of cacheData.entries) {
|
|
62
|
+
this.registry.set(entry.filePath, entry);
|
|
63
|
+
if (entry.loioId) {
|
|
64
|
+
this.loioIndex.set(entry.loioId, entry.filePath);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error('Failed to load cache, rebuilding:', error);
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Saves registry to cache
|
|
76
|
+
*/
|
|
77
|
+
async saveToCache() {
|
|
78
|
+
try {
|
|
79
|
+
const cacheData = {
|
|
80
|
+
version: '1.0',
|
|
81
|
+
timestamp: Date.now(),
|
|
82
|
+
entries: Array.from(this.registry.values()),
|
|
83
|
+
};
|
|
84
|
+
await writeFile(this.cacheFile, JSON.stringify(cacheData, null, 2), 'utf-8');
|
|
85
|
+
console.error('Registry cached successfully');
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error('Failed to save cache:', error);
|
|
89
|
+
// Not critical, continue without caching
|
|
90
|
+
}
|
|
91
|
+
}
|
|
26
92
|
/**
|
|
27
93
|
* Recursively scans a directory for markdown files
|
|
28
94
|
*/
|
|
29
95
|
async scanDirectory(dir, area) {
|
|
30
96
|
try {
|
|
31
97
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
98
|
+
// Separate directories and files
|
|
99
|
+
const directories = [];
|
|
100
|
+
const files = [];
|
|
32
101
|
for (const entry of entries) {
|
|
33
102
|
const fullPath = join(dir, entry.name);
|
|
34
103
|
if (entry.isDirectory()) {
|
|
35
|
-
|
|
104
|
+
directories.push(fullPath);
|
|
36
105
|
}
|
|
37
106
|
else if (entry.isFile() && entry.name.endsWith('.md') && entry.name !== 'index.md') {
|
|
38
|
-
|
|
107
|
+
files.push(fullPath);
|
|
39
108
|
}
|
|
40
109
|
}
|
|
110
|
+
// Process files in parallel batches
|
|
111
|
+
await this.addFilesBatch(files, area);
|
|
112
|
+
// Recursively scan subdirectories
|
|
113
|
+
for (const subdir of directories) {
|
|
114
|
+
await this.scanDirectory(subdir, area);
|
|
115
|
+
}
|
|
41
116
|
}
|
|
42
117
|
catch (error) {
|
|
43
118
|
// Directory might not exist, skip
|
|
44
119
|
console.error(`Warning: Could not scan directory ${dir}`);
|
|
45
120
|
}
|
|
46
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Adds multiple files to the registry in parallel batches
|
|
124
|
+
*/
|
|
125
|
+
async addFilesBatch(filePaths, area) {
|
|
126
|
+
const BATCH_SIZE = 50; // Process 50 files at a time
|
|
127
|
+
for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
|
|
128
|
+
const batch = filePaths.slice(i, i + BATCH_SIZE);
|
|
129
|
+
await Promise.all(batch.map(filePath => this.addFile(filePath, area)));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
47
132
|
/**
|
|
48
133
|
* Adds a file to the registry
|
|
49
134
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-registry.js","sourceRoot":"","sources":["../../src/indexing/file-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"file-registry.js","sourceRoot":"","sources":["../../src/indexing/file-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fulltext.d.ts","sourceRoot":"","sources":["../../src/search/fulltext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;gBADT,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAG9B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fulltext.d.ts","sourceRoot":"","sources":["../../src/search/fulltext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;gBADT,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAG9B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAwDrE;;OAEG;IACH,OAAO,CAAC,aAAa;CAyDtB"}
|
package/build/search/fulltext.js
CHANGED
|
@@ -13,11 +13,9 @@ export class FullTextSearch {
|
|
|
13
13
|
* Performs full-text search across documentation
|
|
14
14
|
*/
|
|
15
15
|
async search(options) {
|
|
16
|
-
const { query,
|
|
17
|
-
// Get files to search
|
|
18
|
-
const files =
|
|
19
|
-
? this.registry.getAllFiles()
|
|
20
|
-
: this.registry.getByArea(area);
|
|
16
|
+
const { query, limit = 20 } = options;
|
|
17
|
+
// Get all files to search
|
|
18
|
+
const files = this.registry.getAllFiles();
|
|
21
19
|
// Score each file
|
|
22
20
|
const scoredResults = [];
|
|
23
21
|
// Limit concurrent file reads to 50
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fulltext.js","sourceRoot":"","sources":["../../src/search/fulltext.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAExG;;GAEG;AACH,MAAM,OAAO,cAAc;IAEf;IACA;IAFV,YACU,QAAsB,EACtB,SAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA8B;QACzC,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"fulltext.js","sourceRoot":"","sources":["../../src/search/fulltext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAyD,MAAM,mBAAmB,CAAC;AACpI,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD;;GAEG;AACH,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IARnB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAAS;gBAGhB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAO9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC;;OAEG;YACW,eAAe;IAwD7B;;OAEG;YACW,SAAS;IAYvB;;OAEG;YACW,cAAc;IAwB5B;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,eAAe;IAgB7B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAyD,MAAM,mBAAmB,CAAC;AACpI,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD;;GAEG;AACH,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IARnB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAAS;gBAGhB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAO9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC;;OAEG;YACW,eAAe;IAwD7B;;OAEG;YACW,SAAS;IAYvB;;OAEG;YACW,cAAc;IAwB5B;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,eAAe;IAgB7B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgErE;;OAEG;IACG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;CA+BvE"}
|
package/build/search/semantic.js
CHANGED
|
@@ -175,7 +175,7 @@ export class SemanticSearch {
|
|
|
175
175
|
* Performs semantic search
|
|
176
176
|
*/
|
|
177
177
|
async search(options) {
|
|
178
|
-
const { query,
|
|
178
|
+
const { query, limit = 20 } = options;
|
|
179
179
|
// Ensure embeddings are loaded
|
|
180
180
|
if (!this.embeddingData) {
|
|
181
181
|
await this.initialize();
|
|
@@ -196,13 +196,8 @@ export class SemanticSearch {
|
|
|
196
196
|
});
|
|
197
197
|
// Sort by score
|
|
198
198
|
scoredResults.sort((a, b) => b.score - a.score);
|
|
199
|
-
//
|
|
200
|
-
const filtered =
|
|
201
|
-
? scoredResults
|
|
202
|
-
: scoredResults.filter(r => {
|
|
203
|
-
const file = this.registry.getByPath(r.entry.filePath);
|
|
204
|
-
return file && file.area === area;
|
|
205
|
-
});
|
|
199
|
+
// Take top results - no area filtering needed
|
|
200
|
+
const filtered = scoredResults;
|
|
206
201
|
// Group by file (take best chunk per file)
|
|
207
202
|
const fileMap = new Map();
|
|
208
203
|
for (const result of filtered) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAExF,4CAA4C;AAC5C,IAAI,QAAQ,GAAQ,IAAI,CAAC;AACzB,IAAI,GAAG,GAAQ,IAAI,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,cAAc;IAQf;IACA;IARF,cAAc,CAAiB;IAC/B,aAAa,GAA8B,IAAI,CAAC;IAChD,cAAc,GAAQ,IAAI,CAAC;IAC3B,QAAQ,CAAoB;IAC5B,SAAS,CAAS;IAE1B,YACU,QAAsB,EACtB,SAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,cAAS,GAAT,SAAS,CAAW;QAE5B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,kBAAwC,IAAI,OAAO,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,yBAAyB,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,wBAAwB,CAAC;YAClC;gBACE,OAAO,yBAAyB,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEjD,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAEhD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACjG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;QAErD,sCAAsC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAE5C,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAE7G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEpD,iBAAiB;oBACjB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBAEjD,qCAAqC;oBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEnD,UAAU,CAAC,IAAI,CAAC;4BACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,MAAM,EAAE,GAAG,CAAC,MAAM;4BAClB,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;4BACnC,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,MAAM,kBAAkB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEjF,gBAAgB;QAChB,IAAI,CAAC,aAAa,GAAG;YACnB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU;SACX,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,IAAY;QAClC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,yBAAyB;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC1D,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YACjC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAEvB,gDAAgD;YAChD,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAErF,mBAAmB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA8B;QACzC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,+BAA+B;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,yBAAyB;YAEzD,OAAO;gBACL,KAAK;gBACL,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC;QAE/B,2CAA2C;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACzD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,KAAK,CAAC,QAAQ;gBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,KAAK;gBACL,SAAS,EAAE,UAAmB;gBAC9B,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAE1F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,YAAY,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC;QAC3C,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../src/search/title.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAE1C;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../src/search/title.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAE1C;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAoClE;;OAEG;IACH,OAAO,CAAC,UAAU;CAuDnB"}
|
package/build/search/title.js
CHANGED
|
@@ -11,11 +11,9 @@ export class TitleSearch {
|
|
|
11
11
|
* Performs title-based search
|
|
12
12
|
*/
|
|
13
13
|
async search(options) {
|
|
14
|
-
const { query,
|
|
15
|
-
// Get files to search
|
|
16
|
-
const files =
|
|
17
|
-
? this.registry.getAllFiles()
|
|
18
|
-
: this.registry.getByArea(area);
|
|
14
|
+
const { query, limit = 15 } = options;
|
|
15
|
+
// Get all files to search
|
|
16
|
+
const files = this.registry.getAllFiles();
|
|
19
17
|
// Score each file by title
|
|
20
18
|
const scoredResults = files.map(file => {
|
|
21
19
|
const score = this.scoreTitle(file.title, query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/search/title.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/search/title.ts"],"names":[],"mappings":"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"}
|
package/build/server.d.ts
CHANGED
|
@@ -15,7 +15,14 @@ export declare class SAPBTPDocsServer {
|
|
|
15
15
|
private readArticleTool;
|
|
16
16
|
private listTopicsTool;
|
|
17
17
|
private getRelatedTool;
|
|
18
|
+
private isInitialized;
|
|
19
|
+
private initializationPromise;
|
|
20
|
+
private initializationError;
|
|
18
21
|
constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Waits for initialization to complete, throwing an error if initialization failed
|
|
24
|
+
*/
|
|
25
|
+
private ensureInitialized;
|
|
19
26
|
/**
|
|
20
27
|
* Initializes the server components
|
|
21
28
|
*/
|
|
@@ -24,6 +31,22 @@ export declare class SAPBTPDocsServer {
|
|
|
24
31
|
* Sets up request handlers
|
|
25
32
|
*/
|
|
26
33
|
private setupHandlers;
|
|
34
|
+
/**
|
|
35
|
+
* Formats search results as readable text
|
|
36
|
+
*/
|
|
37
|
+
private formatSearchResults;
|
|
38
|
+
/**
|
|
39
|
+
* Formats article content as readable text
|
|
40
|
+
*/
|
|
41
|
+
private formatArticle;
|
|
42
|
+
/**
|
|
43
|
+
* Formats topics hierarchy as readable text
|
|
44
|
+
*/
|
|
45
|
+
private formatTopics;
|
|
46
|
+
/**
|
|
47
|
+
* Formats related articles as readable text
|
|
48
|
+
*/
|
|
49
|
+
private formatRelatedArticles;
|
|
27
50
|
/**
|
|
28
51
|
* Starts the server
|
|
29
52
|
*/
|
package/build/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAe;IAGlC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAkB;IAGxC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAA0B;;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAe;IAGlC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAkB;IAGxC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAA0B;IAGhD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,mBAAmB,CAAsB;;IA6BjD;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDjC;;OAEG;IACH,OAAO,CAAC,aAAa;IA4FrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B"}
|
package/build/server.js
CHANGED
|
@@ -34,6 +34,10 @@ export class SAPBTPDocsServer {
|
|
|
34
34
|
readArticleTool;
|
|
35
35
|
listTopicsTool;
|
|
36
36
|
getRelatedTool;
|
|
37
|
+
// Initialization state
|
|
38
|
+
isInitialized = false;
|
|
39
|
+
initializationPromise = null;
|
|
40
|
+
initializationError = null;
|
|
37
41
|
constructor() {
|
|
38
42
|
this.server = new Server({
|
|
39
43
|
name: 'sapbtp-docs-mcp',
|
|
@@ -55,38 +59,72 @@ export class SAPBTPDocsServer {
|
|
|
55
59
|
};
|
|
56
60
|
this.setupHandlers();
|
|
57
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Waits for initialization to complete, throwing an error if initialization failed
|
|
64
|
+
*/
|
|
65
|
+
async ensureInitialized() {
|
|
66
|
+
if (this.isInitialized) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const currentError = this.initializationError;
|
|
70
|
+
if (currentError) {
|
|
71
|
+
throw new Error(`Server initialization failed: ${currentError.message}`);
|
|
72
|
+
}
|
|
73
|
+
if (this.initializationPromise) {
|
|
74
|
+
// Wait for initialization to complete
|
|
75
|
+
console.error('Waiting for server initialization to complete...');
|
|
76
|
+
await this.initializationPromise;
|
|
77
|
+
// Check again after waiting
|
|
78
|
+
const errorAfterWait = this.initializationError;
|
|
79
|
+
if (errorAfterWait) {
|
|
80
|
+
throw new Error(`Server initialization failed: ${errorAfterWait.message}`);
|
|
81
|
+
}
|
|
82
|
+
if (this.isInitialized) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
throw new Error('Server is still initializing. Please wait a moment and try again.');
|
|
87
|
+
}
|
|
58
88
|
/**
|
|
59
89
|
* Initializes the server components
|
|
60
90
|
*/
|
|
61
91
|
async initialize() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
92
|
+
try {
|
|
93
|
+
console.error('Initializing SAP Business Technology Platform Documentation MCP Server...');
|
|
94
|
+
console.error(`Docs path: ${this.config.docsPath}`);
|
|
95
|
+
console.error(`Cache dir: ${this.config.cacheDir}`);
|
|
96
|
+
console.error(`Embedding provider: ${this.config.embeddingProvider}`);
|
|
97
|
+
// Ensure documentation is available (download if necessary)
|
|
98
|
+
const docsAvailable = await ensureDocsAvailable(this.config.docsPath);
|
|
99
|
+
if (!docsAvailable) {
|
|
100
|
+
throw new Error('Documentation not available and download failed. Please see instructions above.');
|
|
101
|
+
}
|
|
102
|
+
// Initialize caches
|
|
103
|
+
this.fileCache = new FileCache(this.config.fileCacheSize);
|
|
104
|
+
this.searchCache = new SearchCache(this.config.searchCacheTTL);
|
|
105
|
+
// Initialize indexing
|
|
106
|
+
this.fileRegistry = new FileRegistry(this.config.docsPath);
|
|
107
|
+
await this.fileRegistry.build();
|
|
108
|
+
this.topicIndex = new TopicIndex(this.config.docsPath);
|
|
109
|
+
await this.topicIndex.build();
|
|
110
|
+
// Initialize search engines
|
|
111
|
+
this.fulltextSearch = new FullTextSearch(this.fileRegistry, this.fileCache);
|
|
112
|
+
this.titleSearch = new TitleSearch(this.fileRegistry);
|
|
113
|
+
this.semanticSearch = new SemanticSearch(this.fileRegistry, this.fileCache);
|
|
114
|
+
// Initialize tools
|
|
115
|
+
this.searchTool = new SearchTool(this.fulltextSearch, this.titleSearch, this.semanticSearch, this.searchCache);
|
|
116
|
+
this.readArticleTool = new ReadArticleTool(this.fileRegistry, this.fileCache);
|
|
117
|
+
this.listTopicsTool = new ListTopicsTool(this.topicIndex);
|
|
118
|
+
this.getRelatedTool = new GetRelatedArticlesTool(this.fileRegistry, this.fileCache, this.semanticSearch);
|
|
119
|
+
this.isInitialized = true;
|
|
120
|
+
console.error('Server initialized successfully!');
|
|
121
|
+
console.error(`Ready to search ${this.fileRegistry.size()} documentation files`);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
this.initializationError = error instanceof Error ? error : new Error(String(error));
|
|
125
|
+
console.error('Server initialization failed:', this.initializationError);
|
|
126
|
+
throw this.initializationError;
|
|
70
127
|
}
|
|
71
|
-
// Initialize caches
|
|
72
|
-
this.fileCache = new FileCache(this.config.fileCacheSize);
|
|
73
|
-
this.searchCache = new SearchCache(this.config.searchCacheTTL);
|
|
74
|
-
// Initialize indexing
|
|
75
|
-
this.fileRegistry = new FileRegistry(this.config.docsPath);
|
|
76
|
-
await this.fileRegistry.build();
|
|
77
|
-
this.topicIndex = new TopicIndex(this.config.docsPath);
|
|
78
|
-
await this.topicIndex.build();
|
|
79
|
-
// Initialize search engines
|
|
80
|
-
this.fulltextSearch = new FullTextSearch(this.fileRegistry, this.fileCache);
|
|
81
|
-
this.titleSearch = new TitleSearch(this.fileRegistry);
|
|
82
|
-
this.semanticSearch = new SemanticSearch(this.fileRegistry, this.fileCache);
|
|
83
|
-
// Initialize tools
|
|
84
|
-
this.searchTool = new SearchTool(this.fulltextSearch, this.titleSearch, this.semanticSearch, this.searchCache);
|
|
85
|
-
this.readArticleTool = new ReadArticleTool(this.fileRegistry, this.fileCache);
|
|
86
|
-
this.listTopicsTool = new ListTopicsTool(this.topicIndex);
|
|
87
|
-
this.getRelatedTool = new GetRelatedArticlesTool(this.fileRegistry, this.fileCache, this.semanticSearch);
|
|
88
|
-
console.error('Server initialized successfully!');
|
|
89
|
-
console.error(`Ready to search ${this.fileRegistry.size()} documentation files`);
|
|
90
128
|
}
|
|
91
129
|
/**
|
|
92
130
|
* Sets up request handlers
|
|
@@ -106,48 +144,54 @@ export class SAPBTPDocsServer {
|
|
|
106
144
|
// Handle tool calls
|
|
107
145
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
108
146
|
try {
|
|
147
|
+
// Wait for initialization before handling any tool calls
|
|
148
|
+
await this.ensureInitialized();
|
|
109
149
|
const { name, arguments: args } = request.params;
|
|
110
150
|
switch (name) {
|
|
111
151
|
case 'search_documentation': {
|
|
112
152
|
const result = await this.searchTool.execute(args);
|
|
153
|
+
const formattedText = this.formatSearchResults(result);
|
|
113
154
|
return {
|
|
114
155
|
content: [
|
|
115
156
|
{
|
|
116
157
|
type: 'text',
|
|
117
|
-
text:
|
|
158
|
+
text: formattedText,
|
|
118
159
|
},
|
|
119
160
|
],
|
|
120
161
|
};
|
|
121
162
|
}
|
|
122
163
|
case 'read_article': {
|
|
123
164
|
const result = await this.readArticleTool.execute(args);
|
|
165
|
+
const formattedText = this.formatArticle(result);
|
|
124
166
|
return {
|
|
125
167
|
content: [
|
|
126
168
|
{
|
|
127
169
|
type: 'text',
|
|
128
|
-
text:
|
|
170
|
+
text: formattedText,
|
|
129
171
|
},
|
|
130
172
|
],
|
|
131
173
|
};
|
|
132
174
|
}
|
|
133
175
|
case 'list_topics': {
|
|
134
176
|
const result = await this.listTopicsTool.execute(args);
|
|
177
|
+
const formattedText = this.formatTopics(result);
|
|
135
178
|
return {
|
|
136
179
|
content: [
|
|
137
180
|
{
|
|
138
181
|
type: 'text',
|
|
139
|
-
text:
|
|
182
|
+
text: formattedText,
|
|
140
183
|
},
|
|
141
184
|
],
|
|
142
185
|
};
|
|
143
186
|
}
|
|
144
187
|
case 'get_related_articles': {
|
|
145
188
|
const result = await this.getRelatedTool.execute(args);
|
|
189
|
+
const formattedText = this.formatRelatedArticles(result);
|
|
146
190
|
return {
|
|
147
191
|
content: [
|
|
148
192
|
{
|
|
149
193
|
type: 'text',
|
|
150
|
-
text:
|
|
194
|
+
text: formattedText,
|
|
151
195
|
},
|
|
152
196
|
],
|
|
153
197
|
};
|
|
@@ -170,14 +214,106 @@ export class SAPBTPDocsServer {
|
|
|
170
214
|
}
|
|
171
215
|
});
|
|
172
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Formats search results as readable text
|
|
219
|
+
*/
|
|
220
|
+
formatSearchResults(result) {
|
|
221
|
+
const { results, totalResults, searchType, queryTime } = result;
|
|
222
|
+
if (results.length === 0) {
|
|
223
|
+
return `No results found.\n\nTry:\n- Using different keywords\n- Checking for typos\n- Using more general terms`;
|
|
224
|
+
}
|
|
225
|
+
let text = `Found ${totalResults} result${totalResults !== 1 ? 's' : ''} (${searchType} search, ${queryTime}ms)\n\n`;
|
|
226
|
+
results.forEach((r, i) => {
|
|
227
|
+
text += `${i + 1}. **${r.title}**\n`;
|
|
228
|
+
text += ` Score: ${r.score.toFixed(1)} | Match: ${r.matchType}\n`;
|
|
229
|
+
text += ` Path: ${r.relativePath}\n`;
|
|
230
|
+
text += ` LOIO: ${r.loioId}\n`;
|
|
231
|
+
if (r.snippet) {
|
|
232
|
+
text += ` Snippet: ${r.snippet.substring(0, 200)}${r.snippet.length > 200 ? '...' : ''}\n`;
|
|
233
|
+
}
|
|
234
|
+
text += `\n`;
|
|
235
|
+
});
|
|
236
|
+
return text;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Formats article content as readable text
|
|
240
|
+
*/
|
|
241
|
+
formatArticle(result) {
|
|
242
|
+
const { title, filePath, loioId, content, metadata } = result;
|
|
243
|
+
let text = `# ${title}\n\n`;
|
|
244
|
+
text += `**Path:** ${filePath}\n`;
|
|
245
|
+
text += `**LOIO:** ${loioId}\n`;
|
|
246
|
+
text += `**Area:** ${metadata.area}\n\n`;
|
|
247
|
+
text += `---\n\n`;
|
|
248
|
+
text += content;
|
|
249
|
+
if (metadata.relatedLinks && metadata.relatedLinks.length > 0) {
|
|
250
|
+
text += `\n\n---\n\n## Related Links\n\n`;
|
|
251
|
+
metadata.relatedLinks.slice(0, 5).forEach((link) => {
|
|
252
|
+
text += `- ${link}\n`;
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
return text;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Formats topics hierarchy as readable text
|
|
259
|
+
*/
|
|
260
|
+
formatTopics(result) {
|
|
261
|
+
const { area, topics, totalTopics } = result;
|
|
262
|
+
let text = `# SAP BTP Documentation Topics\n\n`;
|
|
263
|
+
text += `Area: ${area} | Total Topics: ${totalTopics}\n\n`;
|
|
264
|
+
const formatTopic = (topic, indent = '') => {
|
|
265
|
+
let t = `${indent}- **${topic.title}**\n`;
|
|
266
|
+
t += `${indent} Path: ${topic.path}\n`;
|
|
267
|
+
if (topic.children && topic.children.length > 0) {
|
|
268
|
+
topic.children.forEach((child) => {
|
|
269
|
+
t += formatTopic(child, indent + ' ');
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
return t;
|
|
273
|
+
};
|
|
274
|
+
topics.forEach((topic) => {
|
|
275
|
+
text += formatTopic(topic);
|
|
276
|
+
});
|
|
277
|
+
return text;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Formats related articles as readable text
|
|
281
|
+
*/
|
|
282
|
+
formatRelatedArticles(result) {
|
|
283
|
+
const { sourceArticle, relatedArticles } = result;
|
|
284
|
+
let text = `# Related Articles for: ${sourceArticle.title}\n\n`;
|
|
285
|
+
text += `**Source Path:** ${sourceArticle.filePath}\n`;
|
|
286
|
+
text += `**Source LOIO:** ${sourceArticle.loioId}\n\n`;
|
|
287
|
+
text += `---\n\n`;
|
|
288
|
+
if (relatedArticles.length === 0) {
|
|
289
|
+
return text + `No related articles found.`;
|
|
290
|
+
}
|
|
291
|
+
text += `Found ${relatedArticles.length} related article${relatedArticles.length !== 1 ? 's' : ''}:\n\n`;
|
|
292
|
+
relatedArticles.forEach((article, i) => {
|
|
293
|
+
text += `${i + 1}. **${article.title}**\n`;
|
|
294
|
+
text += ` Score: ${article.score.toFixed(1)} | Type: ${article.relationshipType}\n`;
|
|
295
|
+
text += ` Path: ${article.filePath}\n`;
|
|
296
|
+
if (article.loioId) {
|
|
297
|
+
text += ` LOIO: ${article.loioId}\n`;
|
|
298
|
+
}
|
|
299
|
+
text += `\n`;
|
|
300
|
+
});
|
|
301
|
+
return text;
|
|
302
|
+
}
|
|
173
303
|
/**
|
|
174
304
|
* Starts the server
|
|
175
305
|
*/
|
|
176
306
|
async start() {
|
|
177
|
-
|
|
307
|
+
// Connect to transport first, BEFORE initialization
|
|
178
308
|
const transport = new StdioServerTransport();
|
|
179
309
|
await this.server.connect(transport);
|
|
180
310
|
console.error('Server running on stdio');
|
|
311
|
+
console.error('Starting background initialization...');
|
|
312
|
+
// Start initialization in the background
|
|
313
|
+
this.initializationPromise = this.initialize().catch((error) => {
|
|
314
|
+
console.error('Background initialization failed:', error);
|
|
315
|
+
this.initializationError = error instanceof Error ? error : new Error(String(error));
|
|
316
|
+
});
|
|
181
317
|
}
|
|
182
318
|
}
|
|
183
319
|
//# sourceMappingURL=server.js.map
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
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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"}
|
|
@@ -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
|
*/
|
|
@@ -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":"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"}
|
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: ['btp', 'all'],
|
|
93
|
-
description: 'Documentation area (use "all" or "btp" for complete SAP BTP documentation)',
|
|
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
|
@@ -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 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;AACjC,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/build/utils/paths.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export declare function getAreaPath(area: DocumentArea, docsPath: string): strin
|
|
|
51
51
|
/**
|
|
52
52
|
* Gets the index.md file path for a specific area.
|
|
53
53
|
*/
|
|
54
|
-
export declare function getIndexPath(
|
|
54
|
+
export declare function getIndexPath(_area: DocumentArea, docsPath: string): string;
|
|
55
55
|
/**
|
|
56
56
|
* Checks if a file path belongs to a specific area.
|
|
57
57
|
* For unified BTP documentation, always returns true for 'btp' area.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAahF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAG/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAahF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAG/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAGpF"}
|
package/build/utils/paths.js
CHANGED
|
@@ -92,8 +92,9 @@ export function getAreaPath(area, docsPath) {
|
|
|
92
92
|
/**
|
|
93
93
|
* Gets the index.md file path for a specific area.
|
|
94
94
|
*/
|
|
95
|
-
export function getIndexPath(
|
|
96
|
-
|
|
95
|
+
export function getIndexPath(_area, docsPath) {
|
|
96
|
+
// For unified BTP documentation, index.md is at the root of docs/
|
|
97
|
+
return join(docsPath, 'index.md');
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
100
|
* Checks if a file path belongs to a specific area.
|
package/build/utils/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAG/E,0CAA0C;AAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,QAAgB;IACtE,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,6BAA6B;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,+CAA+C;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,QAAgB;IACpE,OAAO,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,QAAgB;IACpE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAkB,EAAE,QAAgB;IAC9D,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contiva/sapbtp-docs-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "MCP server for SAP Business Technology Platform documentation - enables AI assistants to search and navigate SAP Business Technology Platform docs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|