@gulibs/safe-coder 0.0.26 → 0.0.27
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 +678 -994
- package/dist/cache/cache-manager.d.ts +71 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +244 -0
- package/dist/cache/cache-manager.js.map +1 -0
- package/dist/executor/cli-executor.d.ts +106 -0
- package/dist/executor/cli-executor.d.ts.map +1 -0
- package/dist/executor/cli-executor.js +133 -0
- package/dist/executor/cli-executor.js.map +1 -0
- package/dist/executor/dependency-checker.d.ts +23 -0
- package/dist/executor/dependency-checker.d.ts.map +1 -0
- package/dist/executor/dependency-checker.js +62 -0
- package/dist/executor/dependency-checker.js.map +1 -0
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/processor/content-processor.d.ts +76 -0
- package/dist/processor/content-processor.d.ts.map +1 -0
- package/dist/processor/content-processor.js +182 -0
- package/dist/processor/content-processor.js.map +1 -0
- package/dist/processor/guide-generator.d.ts +68 -0
- package/dist/processor/guide-generator.d.ts.map +1 -0
- package/dist/processor/guide-generator.js +189 -0
- package/dist/processor/guide-generator.js.map +1 -0
- package/dist/server/safe-coder-mcp.d.ts +18 -0
- package/dist/server/safe-coder-mcp.d.ts.map +1 -0
- package/dist/server/safe-coder-mcp.js +164 -0
- package/dist/server/safe-coder-mcp.js.map +1 -0
- package/dist/tools/cache-tools.d.ts +42 -0
- package/dist/tools/cache-tools.d.ts.map +1 -0
- package/dist/tools/cache-tools.js +70 -0
- package/dist/tools/cache-tools.js.map +1 -0
- package/dist/tools/crawl-documentation.d.ts +57 -0
- package/dist/tools/crawl-documentation.d.ts.map +1 -0
- package/dist/tools/crawl-documentation.js +96 -0
- package/dist/tools/crawl-documentation.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/save-skill.d.ts +49 -0
- package/dist/tools/save-skill.d.ts.map +1 -0
- package/dist/tools/save-skill.js +207 -0
- package/dist/tools/save-skill.js.map +1 -0
- package/package.json +18 -28
- package/dist/documentation/browser-doc-browser.d.ts +0 -41
- package/dist/documentation/browser-doc-browser.d.ts.map +0 -1
- package/dist/documentation/browser-doc-browser.js +0 -357
- package/dist/documentation/browser-doc-browser.js.map +0 -1
- package/dist/documentation/browser-manager.d.ts +0 -51
- package/dist/documentation/browser-manager.d.ts.map +0 -1
- package/dist/documentation/browser-manager.js +0 -260
- package/dist/documentation/browser-manager.js.map +0 -1
- package/dist/documentation/cache.d.ts +0 -13
- package/dist/documentation/cache.d.ts.map +0 -1
- package/dist/documentation/cache.js +0 -48
- package/dist/documentation/cache.js.map +0 -1
- package/dist/documentation/checkpoint-manager.d.ts +0 -38
- package/dist/documentation/checkpoint-manager.d.ts.map +0 -1
- package/dist/documentation/checkpoint-manager.js +0 -101
- package/dist/documentation/checkpoint-manager.js.map +0 -1
- package/dist/documentation/doc-crawler.d.ts +0 -221
- package/dist/documentation/doc-crawler.d.ts.map +0 -1
- package/dist/documentation/doc-crawler.js +0 -1415
- package/dist/documentation/doc-crawler.js.map +0 -1
- package/dist/documentation/github-client.d.ts +0 -13
- package/dist/documentation/github-client.d.ts.map +0 -1
- package/dist/documentation/github-client.js +0 -90
- package/dist/documentation/github-client.js.map +0 -1
- package/dist/documentation/http-fetcher.d.ts +0 -8
- package/dist/documentation/http-fetcher.d.ts.map +0 -1
- package/dist/documentation/http-fetcher.js +0 -31
- package/dist/documentation/http-fetcher.js.map +0 -1
- package/dist/documentation/index.d.ts +0 -16
- package/dist/documentation/index.d.ts.map +0 -1
- package/dist/documentation/index.js +0 -159
- package/dist/documentation/index.js.map +0 -1
- package/dist/documentation/llms-txt/detector.d.ts +0 -31
- package/dist/documentation/llms-txt/detector.d.ts.map +0 -1
- package/dist/documentation/llms-txt/detector.js +0 -77
- package/dist/documentation/llms-txt/detector.js.map +0 -1
- package/dist/documentation/llms-txt/downloader.d.ts +0 -30
- package/dist/documentation/llms-txt/downloader.d.ts.map +0 -1
- package/dist/documentation/llms-txt/downloader.js +0 -84
- package/dist/documentation/llms-txt/downloader.js.map +0 -1
- package/dist/documentation/llms-txt/index.d.ts +0 -4
- package/dist/documentation/llms-txt/index.d.ts.map +0 -1
- package/dist/documentation/llms-txt/index.js +0 -4
- package/dist/documentation/llms-txt/index.js.map +0 -1
- package/dist/documentation/llms-txt/parser.d.ts +0 -43
- package/dist/documentation/llms-txt/parser.d.ts.map +0 -1
- package/dist/documentation/llms-txt/parser.js +0 -177
- package/dist/documentation/llms-txt/parser.js.map +0 -1
- package/dist/documentation/normalizer.d.ts +0 -6
- package/dist/documentation/normalizer.d.ts.map +0 -1
- package/dist/documentation/normalizer.js +0 -38
- package/dist/documentation/normalizer.js.map +0 -1
- package/dist/documentation/npm-client.d.ts +0 -19
- package/dist/documentation/npm-client.d.ts.map +0 -1
- package/dist/documentation/npm-client.js +0 -182
- package/dist/documentation/npm-client.js.map +0 -1
- package/dist/documentation/skill-generator.d.ts +0 -108
- package/dist/documentation/skill-generator.d.ts.map +0 -1
- package/dist/documentation/skill-generator.js +0 -642
- package/dist/documentation/skill-generator.js.map +0 -1
- package/dist/documentation/web-doc-browser.d.ts +0 -67
- package/dist/documentation/web-doc-browser.d.ts.map +0 -1
- package/dist/documentation/web-doc-browser.js +0 -555
- package/dist/documentation/web-doc-browser.js.map +0 -1
- package/dist/errors/api-validator.d.ts +0 -9
- package/dist/errors/api-validator.d.ts.map +0 -1
- package/dist/errors/api-validator.js +0 -57
- package/dist/errors/api-validator.js.map +0 -1
- package/dist/errors/contextual-analysis.d.ts +0 -14
- package/dist/errors/contextual-analysis.d.ts.map +0 -1
- package/dist/errors/contextual-analysis.js +0 -173
- package/dist/errors/contextual-analysis.js.map +0 -1
- package/dist/errors/cross-file-analyzer.d.ts +0 -16
- package/dist/errors/cross-file-analyzer.d.ts.map +0 -1
- package/dist/errors/cross-file-analyzer.js +0 -172
- package/dist/errors/cross-file-analyzer.js.map +0 -1
- package/dist/errors/eslint-integration.d.ts +0 -9
- package/dist/errors/eslint-integration.d.ts.map +0 -1
- package/dist/errors/eslint-integration.js +0 -131
- package/dist/errors/eslint-integration.js.map +0 -1
- package/dist/errors/framework-detector.d.ts +0 -10
- package/dist/errors/framework-detector.d.ts.map +0 -1
- package/dist/errors/framework-detector.js +0 -126
- package/dist/errors/framework-detector.js.map +0 -1
- package/dist/errors/index.d.ts +0 -18
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -134
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/pattern-matcher.d.ts +0 -25
- package/dist/errors/pattern-matcher.d.ts.map +0 -1
- package/dist/errors/pattern-matcher.js +0 -44
- package/dist/errors/pattern-matcher.js.map +0 -1
- package/dist/errors/patterns.d.ts +0 -11
- package/dist/errors/patterns.d.ts.map +0 -1
- package/dist/errors/patterns.js +0 -351
- package/dist/errors/patterns.js.map +0 -1
- package/dist/errors/performance-detector.d.ts +0 -11
- package/dist/errors/performance-detector.d.ts.map +0 -1
- package/dist/errors/performance-detector.js +0 -119
- package/dist/errors/performance-detector.js.map +0 -1
- package/dist/errors/runtime-detector.d.ts +0 -7
- package/dist/errors/runtime-detector.d.ts.map +0 -1
- package/dist/errors/runtime-detector.js +0 -86
- package/dist/errors/runtime-detector.js.map +0 -1
- package/dist/errors/security-detector.d.ts +0 -6
- package/dist/errors/security-detector.d.ts.map +0 -1
- package/dist/errors/security-detector.js +0 -75
- package/dist/errors/security-detector.js.map +0 -1
- package/dist/errors/typescript-integration.d.ts +0 -6
- package/dist/errors/typescript-integration.d.ts.map +0 -1
- package/dist/errors/typescript-integration.js +0 -46
- package/dist/errors/typescript-integration.js.map +0 -1
- package/dist/server/mcp-server.d.ts +0 -14
- package/dist/server/mcp-server.d.ts.map +0 -1
- package/dist/server/mcp-server.js +0 -793
- package/dist/server/mcp-server.js.map +0 -1
- package/dist/types/documentation.d.ts +0 -26
- package/dist/types/documentation.d.ts.map +0 -1
- package/dist/types/documentation.js +0 -2
- package/dist/types/documentation.js.map +0 -1
- package/dist/utils/config.d.ts +0 -21
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -34
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/http-client.d.ts +0 -17
- package/dist/utils/http-client.d.ts.map +0 -1
- package/dist/utils/http-client.js +0 -62
- package/dist/utils/http-client.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -36
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -128
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -9
- package/dist/utils/rate-limiter.d.ts.map +0 -1
- package/dist/utils/rate-limiter.js +0 -26
- package/dist/utils/rate-limiter.js.map +0 -1
- package/dist/validation/auto-fix.d.ts +0 -15
- package/dist/validation/auto-fix.d.ts.map +0 -1
- package/dist/validation/auto-fix.js +0 -49
- package/dist/validation/auto-fix.js.map +0 -1
- package/dist/validation/index.d.ts +0 -21
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -45
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/resolution-db.d.ts +0 -15
- package/dist/validation/resolution-db.d.ts.map +0 -1
- package/dist/validation/resolution-db.js +0 -62
- package/dist/validation/resolution-db.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doc-crawler.js","sourceRoot":"","sources":["../../src/documentation/doc-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Documentation, DocumentationSource } from '../types/documentation.js';
|
|
2
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
3
|
-
export declare class GitHubClient implements DocumentationSource {
|
|
4
|
-
private readonly apiUrl;
|
|
5
|
-
private readonly token?;
|
|
6
|
-
private httpClient;
|
|
7
|
-
constructor(token?: string, httpClient?: HttpClient);
|
|
8
|
-
fetch(packageName: string, version?: string): Promise<Documentation>;
|
|
9
|
-
private parseRepository;
|
|
10
|
-
private fetchReadme;
|
|
11
|
-
private fetchDocs;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=github-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../src/documentation/github-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBAAa,YAAa,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,UAAU,CAAa;gBAEnB,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;IAK7C,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA8B1E,OAAO,CAAC,eAAe;YAST,WAAW;YAoBX,SAAS;CAqCxB"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
2
|
-
export class GitHubClient {
|
|
3
|
-
apiUrl = 'https://api.github.com';
|
|
4
|
-
token;
|
|
5
|
-
httpClient;
|
|
6
|
-
constructor(token, httpClient) {
|
|
7
|
-
this.token = token || process.env.GITHUB_TOKEN;
|
|
8
|
-
this.httpClient = httpClient || new HttpClient();
|
|
9
|
-
}
|
|
10
|
-
async fetch(packageName, version) {
|
|
11
|
-
try {
|
|
12
|
-
// Parse packageName as owner/repo or extract from npm package
|
|
13
|
-
const [owner, repo] = this.parseRepository(packageName);
|
|
14
|
-
if (!owner || !repo) {
|
|
15
|
-
throw new Error(`Invalid GitHub repository format: ${packageName}`);
|
|
16
|
-
}
|
|
17
|
-
// Fetch README
|
|
18
|
-
const readme = await this.fetchReadme(owner, repo, version);
|
|
19
|
-
// Try to fetch docs directory if it exists
|
|
20
|
-
const docs = await this.fetchDocs(owner, repo, version);
|
|
21
|
-
const content = [readme, docs].filter(Boolean).join('\n\n---\n\n');
|
|
22
|
-
return {
|
|
23
|
-
name: `${owner}/${repo}`,
|
|
24
|
-
version,
|
|
25
|
-
content: content || `No documentation found for ${owner}/${repo}`,
|
|
26
|
-
source: 'github',
|
|
27
|
-
url: `https://github.com/${owner}/${repo}`,
|
|
28
|
-
lastUpdated: new Date(),
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
throw new Error(`Failed to fetch GitHub documentation: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
parseRepository(packageName) {
|
|
36
|
-
// Check if it's already in owner/repo format
|
|
37
|
-
if (packageName.includes('/')) {
|
|
38
|
-
const parts = packageName.split('/');
|
|
39
|
-
return [parts[0], parts[1]];
|
|
40
|
-
}
|
|
41
|
-
return [null, null];
|
|
42
|
-
}
|
|
43
|
-
async fetchReadme(owner, repo, ref) {
|
|
44
|
-
try {
|
|
45
|
-
const refParam = ref ? `?ref=${ref}` : '';
|
|
46
|
-
const url = `${this.apiUrl}/repos/${owner}/${repo}/readme${refParam}`;
|
|
47
|
-
const headers = {
|
|
48
|
-
'Accept': 'application/vnd.github.v3.raw',
|
|
49
|
-
};
|
|
50
|
-
if (this.token) {
|
|
51
|
-
headers['Authorization'] = `token ${this.token}`;
|
|
52
|
-
}
|
|
53
|
-
const response = await this.httpClient.get(url, { headers });
|
|
54
|
-
return response.data;
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
// README might not exist, return empty
|
|
58
|
-
return '';
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async fetchDocs(owner, repo, ref) {
|
|
62
|
-
try {
|
|
63
|
-
const refParam = ref ? `?ref=${ref}` : '';
|
|
64
|
-
const url = `${this.apiUrl}/repos/${owner}/${repo}/contents/docs${refParam}`;
|
|
65
|
-
const headers = {};
|
|
66
|
-
if (this.token) {
|
|
67
|
-
headers['Authorization'] = `token ${this.token}`;
|
|
68
|
-
}
|
|
69
|
-
const response = await this.httpClient.get(url, { headers });
|
|
70
|
-
// If docs is a directory, fetch all markdown files
|
|
71
|
-
if (Array.isArray(response.data)) {
|
|
72
|
-
const markdownFiles = response.data.filter((file) => file.type === 'file' && file.name.endsWith('.md'));
|
|
73
|
-
const contents = await Promise.all(markdownFiles.map(async (file) => {
|
|
74
|
-
const fileUrl = `${this.apiUrl}/repos/${owner}/${repo}/contents/${file.path}${refParam}`;
|
|
75
|
-
const fileResponse = await this.httpClient.get(fileUrl, {
|
|
76
|
-
headers: { ...headers, 'Accept': 'application/vnd.github.v3.raw' }
|
|
77
|
-
});
|
|
78
|
-
return `## ${file.name}\n\n${fileResponse.data}`;
|
|
79
|
-
}));
|
|
80
|
-
return contents.join('\n\n');
|
|
81
|
-
}
|
|
82
|
-
return '';
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
// Docs directory might not exist
|
|
86
|
-
return '';
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=github-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-client.js","sourceRoot":"","sources":["../../src/documentation/github-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Documentation, DocumentationSource } from '../types/documentation.js';
|
|
2
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
3
|
-
export declare class HttpFetcher implements DocumentationSource {
|
|
4
|
-
private httpClient;
|
|
5
|
-
constructor(httpClient?: HttpClient);
|
|
6
|
-
fetch(packageName: string, version?: string): Promise<Documentation>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=http-fetcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-fetcher.d.ts","sourceRoot":"","sources":["../../src/documentation/http-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBAAa,WAAY,YAAW,mBAAmB;IACrD,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,CAAC,EAAE,UAAU;IAI7B,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAwB3E"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
2
|
-
export class HttpFetcher {
|
|
3
|
-
httpClient;
|
|
4
|
-
constructor(httpClient) {
|
|
5
|
-
this.httpClient = httpClient || new HttpClient();
|
|
6
|
-
}
|
|
7
|
-
async fetch(packageName, version) {
|
|
8
|
-
try {
|
|
9
|
-
// packageName should be a URL for HTTP fetcher
|
|
10
|
-
const url = packageName.startsWith('http') ? packageName : `https://${packageName}`;
|
|
11
|
-
const response = await this.httpClient.get(url, {
|
|
12
|
-
timeout: 10000,
|
|
13
|
-
headers: {
|
|
14
|
-
'User-Agent': 'Safe-Coder-MCP/1.0.0',
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
return {
|
|
18
|
-
name: new URL(url).hostname,
|
|
19
|
-
version,
|
|
20
|
-
content: response.data,
|
|
21
|
-
source: 'http',
|
|
22
|
-
url,
|
|
23
|
-
lastUpdated: new Date(),
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
throw new Error(`Failed to fetch HTTP documentation: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=http-fetcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-fetcher.js","sourceRoot":"","sources":["../../src/documentation/http-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,OAAO,WAAW;IACd,UAAU,CAAa;IAE/B,YAAY,UAAuB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,OAAgB;QAC/C,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,WAAW,EAAE,CAAC;YAEpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC9C,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACP,YAAY,EAAE,sBAAsB;iBACrC;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ;gBAC3B,OAAO;gBACP,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,MAAM,EAAE,MAAM;gBACd,GAAG;gBACH,WAAW,EAAE,IAAI,IAAI,EAAE;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { DocumentationCache } from './cache.js';
|
|
2
|
-
import type { Documentation } from '../types/documentation.js';
|
|
3
|
-
import type { ProxyConfig } from '../utils/http-client.js';
|
|
4
|
-
export declare class DocumentationService {
|
|
5
|
-
private cache;
|
|
6
|
-
private npmClient;
|
|
7
|
-
private githubClient;
|
|
8
|
-
private httpFetcher;
|
|
9
|
-
private normalizer;
|
|
10
|
-
constructor(cacheTTLMinutes?: number, githubToken?: string, proxyConfig?: ProxyConfig);
|
|
11
|
-
getDocumentation(packageName: string, version?: string, source?: 'npm' | 'github' | 'http', forceRefresh?: boolean): Promise<Documentation>;
|
|
12
|
-
refreshDocumentation(packageName: string, version?: string): Promise<Documentation>;
|
|
13
|
-
checkForUpdates(packageName: string, version?: string): Promise<boolean>;
|
|
14
|
-
getCache(): DocumentationCache;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/documentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAA0B;gBAEhC,eAAe,GAAE,MAAW,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;IASnF,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,EAClC,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,aAAa,CAAC;IA+GnB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB9E,QAAQ,IAAI,kBAAkB;CAG/B"}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { DocumentationCache } from './cache.js';
|
|
2
|
-
import { NpmRegistryClient } from './npm-client.js';
|
|
3
|
-
import { GitHubClient } from './github-client.js';
|
|
4
|
-
import { HttpFetcher } from './http-fetcher.js';
|
|
5
|
-
import { DocumentationNormalizer } from './normalizer.js';
|
|
6
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
7
|
-
export class DocumentationService {
|
|
8
|
-
cache;
|
|
9
|
-
npmClient;
|
|
10
|
-
githubClient;
|
|
11
|
-
httpFetcher;
|
|
12
|
-
normalizer;
|
|
13
|
-
constructor(cacheTTLMinutes = 60, githubToken, proxyConfig) {
|
|
14
|
-
this.cache = new DocumentationCache(cacheTTLMinutes);
|
|
15
|
-
const httpClient = proxyConfig ? new HttpClient(proxyConfig) : new HttpClient();
|
|
16
|
-
this.npmClient = new NpmRegistryClient(httpClient);
|
|
17
|
-
this.githubClient = new GitHubClient(githubToken, httpClient);
|
|
18
|
-
this.httpFetcher = new HttpFetcher(httpClient);
|
|
19
|
-
this.normalizer = new DocumentationNormalizer();
|
|
20
|
-
}
|
|
21
|
-
async getDocumentation(packageName, version, source, forceRefresh = false) {
|
|
22
|
-
const cacheKey = this.cache.generateKey(packageName, version);
|
|
23
|
-
// Check cache first (unless force refresh)
|
|
24
|
-
if (!forceRefresh) {
|
|
25
|
-
const cached = this.cache.get(cacheKey);
|
|
26
|
-
if (cached) {
|
|
27
|
-
return cached;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Determine source if not specified
|
|
31
|
-
let actualSource = source;
|
|
32
|
-
if (!actualSource) {
|
|
33
|
-
if (packageName.startsWith('http')) {
|
|
34
|
-
actualSource = 'http';
|
|
35
|
-
}
|
|
36
|
-
else if (packageName.includes('/')) {
|
|
37
|
-
actualSource = 'github';
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
actualSource = 'npm';
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Fetch documentation with fallback strategy
|
|
44
|
-
let documentation;
|
|
45
|
-
let lastError = null;
|
|
46
|
-
try {
|
|
47
|
-
switch (actualSource) {
|
|
48
|
-
case 'npm':
|
|
49
|
-
documentation = await this.npmClient.fetch(packageName, version);
|
|
50
|
-
// If npm returns minimal content (fallback message), try GitHub as backup
|
|
51
|
-
if (documentation.content.includes('⚠️ No documentation found') && !version) {
|
|
52
|
-
try {
|
|
53
|
-
// Try to extract GitHub repo from npm metadata
|
|
54
|
-
const npmData = await this.npmClient.getPackageMetadata(packageName);
|
|
55
|
-
if (npmData?.repository?.url) {
|
|
56
|
-
const githubMatch = npmData.repository.url.match(/github\.com[\/:]([^\/]+)\/([^\/]+?)(?:\.git)?$/);
|
|
57
|
-
if (githubMatch) {
|
|
58
|
-
const [, owner, repo] = githubMatch;
|
|
59
|
-
try {
|
|
60
|
-
const githubDoc = await this.githubClient.fetch(`${owner}/${repo}`, version);
|
|
61
|
-
if (githubDoc.content && !githubDoc.content.includes('No documentation found')) {
|
|
62
|
-
documentation = githubDoc;
|
|
63
|
-
documentation.name = packageName; // Keep original package name
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (githubError) {
|
|
67
|
-
// GitHub also failed, keep npm result
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
catch (fallbackError) {
|
|
73
|
-
// Fallback failed, keep npm result
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case 'github':
|
|
78
|
-
documentation = await this.githubClient.fetch(packageName, version);
|
|
79
|
-
break;
|
|
80
|
-
case 'http':
|
|
81
|
-
documentation = await this.httpFetcher.fetch(packageName, version);
|
|
82
|
-
break;
|
|
83
|
-
default:
|
|
84
|
-
throw new Error(`Unknown source: ${actualSource}`);
|
|
85
|
-
}
|
|
86
|
-
// Normalize documentation
|
|
87
|
-
const normalized = this.normalizer.normalize(documentation.content, actualSource);
|
|
88
|
-
documentation = { ...documentation, sections: normalized.sections };
|
|
89
|
-
// Cache the result (even if it's a fallback message)
|
|
90
|
-
this.cache.set(cacheKey, documentation);
|
|
91
|
-
return documentation;
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
95
|
-
// If primary source failed and we haven't tried fallback, try fallback
|
|
96
|
-
if (actualSource === 'npm' && !version) {
|
|
97
|
-
try {
|
|
98
|
-
// Try GitHub as fallback
|
|
99
|
-
const npmData = await this.npmClient.getPackageMetadata(packageName);
|
|
100
|
-
if (npmData?.repository?.url) {
|
|
101
|
-
const githubMatch = npmData.repository.url.match(/github\.com[\/:]([^\/]+)\/([^\/]+?)(?:\.git)?$/);
|
|
102
|
-
if (githubMatch) {
|
|
103
|
-
const [, owner, repo] = githubMatch;
|
|
104
|
-
try {
|
|
105
|
-
const githubDoc = await this.githubClient.fetch(`${owner}/${repo}`, version);
|
|
106
|
-
if (githubDoc.content && !githubDoc.content.includes('No documentation found')) {
|
|
107
|
-
documentation = githubDoc;
|
|
108
|
-
documentation.name = packageName;
|
|
109
|
-
const normalized = this.normalizer.normalize(documentation.content, 'github');
|
|
110
|
-
documentation = { ...documentation, sections: normalized.sections };
|
|
111
|
-
this.cache.set(cacheKey, documentation);
|
|
112
|
-
return documentation;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch (githubError) {
|
|
116
|
-
// GitHub also failed
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
catch (fallbackError) {
|
|
122
|
-
// Fallback failed
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
throw new Error(`Failed to fetch documentation: ${lastError.message}`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// Force refresh documentation (bypass cache)
|
|
129
|
-
async refreshDocumentation(packageName, version) {
|
|
130
|
-
return this.getDocumentation(packageName, version, undefined, true);
|
|
131
|
-
}
|
|
132
|
-
// Check if cached documentation is still up-to-date
|
|
133
|
-
async checkForUpdates(packageName, version) {
|
|
134
|
-
const cacheKey = this.cache.generateKey(packageName, version);
|
|
135
|
-
const cached = this.cache.get(cacheKey);
|
|
136
|
-
if (!cached) {
|
|
137
|
-
return true; // No cache, needs update
|
|
138
|
-
}
|
|
139
|
-
// For npm packages, check if newer version exists
|
|
140
|
-
if (cached.source === 'npm') {
|
|
141
|
-
try {
|
|
142
|
-
const fresh = await this.npmClient.fetch(packageName, version);
|
|
143
|
-
// Compare publish times
|
|
144
|
-
if (fresh.lastUpdated > cached.lastUpdated) {
|
|
145
|
-
return true; // Newer version available
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
// If check fails, assume cached is still valid
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return false; // Cached version is still latest
|
|
154
|
-
}
|
|
155
|
-
getCache() {
|
|
156
|
-
return this.cache;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/documentation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../../utils/http-client.js';
|
|
2
|
-
export interface LlmsTxtVariant {
|
|
3
|
-
url: string;
|
|
4
|
-
variant: string;
|
|
5
|
-
exists: boolean;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Detector for llms.txt files and their variants
|
|
9
|
-
* Based on Skill_Seekers implementation
|
|
10
|
-
*/
|
|
11
|
-
export declare class LlmsTxtDetector {
|
|
12
|
-
private baseUrl;
|
|
13
|
-
private httpClient;
|
|
14
|
-
private readonly VARIANTS;
|
|
15
|
-
constructor(baseUrl: string, httpClient?: HttpClient);
|
|
16
|
-
/**
|
|
17
|
-
* Detect all available llms.txt variants
|
|
18
|
-
* Returns array of variants that exist
|
|
19
|
-
*/
|
|
20
|
-
detectAll(): Promise<LlmsTxtVariant[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Check if a specific llms.txt file exists
|
|
23
|
-
* Uses GET with Range header since HttpClient doesn't have HEAD method
|
|
24
|
-
*/
|
|
25
|
-
private checkExists;
|
|
26
|
-
/**
|
|
27
|
-
* Detect if ANY llms.txt variant exists
|
|
28
|
-
*/
|
|
29
|
-
detectAny(): Promise<LlmsTxtVariant | null>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../src/documentation/llms-txt/detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKvB;gBAEU,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;IAKpD;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA6B5C;;;OAGG;YACW,WAAW;IAiBzB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAIlD"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../../utils/http-client.js';
|
|
2
|
-
import { logger } from '../../utils/logger.js';
|
|
3
|
-
/**
|
|
4
|
-
* Detector for llms.txt files and their variants
|
|
5
|
-
* Based on Skill_Seekers implementation
|
|
6
|
-
*/
|
|
7
|
-
export class LlmsTxtDetector {
|
|
8
|
-
baseUrl;
|
|
9
|
-
httpClient;
|
|
10
|
-
// Common llms.txt file variants
|
|
11
|
-
VARIANTS = [
|
|
12
|
-
'llms.txt',
|
|
13
|
-
'llms-full.txt',
|
|
14
|
-
'llms-ctx.txt',
|
|
15
|
-
'llms-docs.txt',
|
|
16
|
-
];
|
|
17
|
-
constructor(baseUrl, httpClient) {
|
|
18
|
-
this.baseUrl = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
|
|
19
|
-
this.httpClient = httpClient || new HttpClient();
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Detect all available llms.txt variants
|
|
23
|
-
* Returns array of variants that exist
|
|
24
|
-
*/
|
|
25
|
-
async detectAll() {
|
|
26
|
-
logger.info('Detecting llms.txt variants', { baseUrl: this.baseUrl });
|
|
27
|
-
const results = [];
|
|
28
|
-
for (const variant of this.VARIANTS) {
|
|
29
|
-
const url = new URL(variant, this.baseUrl).href;
|
|
30
|
-
const exists = await this.checkExists(url);
|
|
31
|
-
results.push({
|
|
32
|
-
url,
|
|
33
|
-
variant,
|
|
34
|
-
exists,
|
|
35
|
-
});
|
|
36
|
-
if (exists) {
|
|
37
|
-
logger.info('Found llms.txt variant', { variant, url });
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const foundCount = results.filter(r => r.exists).length;
|
|
41
|
-
logger.info('llms.txt detection complete', {
|
|
42
|
-
baseUrl: this.baseUrl,
|
|
43
|
-
foundVariants: foundCount,
|
|
44
|
-
totalChecked: this.VARIANTS.length,
|
|
45
|
-
});
|
|
46
|
-
return results.filter(r => r.exists);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Check if a specific llms.txt file exists
|
|
50
|
-
* Uses GET with Range header since HttpClient doesn't have HEAD method
|
|
51
|
-
*/
|
|
52
|
-
async checkExists(url) {
|
|
53
|
-
try {
|
|
54
|
-
// Use GET with Range header to check existence without downloading full content
|
|
55
|
-
const response = await this.httpClient.get(url, {
|
|
56
|
-
headers: {
|
|
57
|
-
'Range': 'bytes=0-100',
|
|
58
|
-
},
|
|
59
|
-
validateStatus: (status) => status === 200 || status === 206 || status === 416,
|
|
60
|
-
timeout: 5000, // Quick timeout for existence check
|
|
61
|
-
});
|
|
62
|
-
return response.status === 200 || response.status === 206;
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
logger.debug('llms.txt file not found', { url });
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Detect if ANY llms.txt variant exists
|
|
71
|
-
*/
|
|
72
|
-
async detectAny() {
|
|
73
|
-
const variants = await this.detectAll();
|
|
74
|
-
return variants.length > 0 ? variants[0] : null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=detector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../src/documentation/llms-txt/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../../utils/http-client.js';
|
|
2
|
-
import type { LlmsTxtVariant } from './detector.js';
|
|
3
|
-
export interface DownloadedContent {
|
|
4
|
-
url: string;
|
|
5
|
-
variant: string;
|
|
6
|
-
content: string;
|
|
7
|
-
size: number;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Downloader for llms.txt files
|
|
11
|
-
* Based on Skill_Seekers implementation
|
|
12
|
-
*/
|
|
13
|
-
export declare class LlmsTxtDownloader {
|
|
14
|
-
private httpClient;
|
|
15
|
-
constructor(httpClient?: HttpClient);
|
|
16
|
-
/**
|
|
17
|
-
* Download a single llms.txt file
|
|
18
|
-
*/
|
|
19
|
-
download(url: string): Promise<string>;
|
|
20
|
-
/**
|
|
21
|
-
* Download multiple llms.txt variants
|
|
22
|
-
*/
|
|
23
|
-
downloadAll(variants: LlmsTxtVariant[]): Promise<DownloadedContent[]>;
|
|
24
|
-
/**
|
|
25
|
-
* Get proper filename for saving content
|
|
26
|
-
* Ensures .md extension for proper markdown rendering
|
|
27
|
-
*/
|
|
28
|
-
getProperFilename(url: string): string;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=downloader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"downloader.d.ts","sourceRoot":"","sources":["../../../src/documentation/llms-txt/downloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,CAAC,EAAE,UAAU;IAInC;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B5C;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAiC3E;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAWvC"}
|