@gulibs/safe-coder 0.0.25 → 0.0.26
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 +96 -0
- package/dist/documentation/browser-manager.d.ts +51 -0
- package/dist/documentation/browser-manager.d.ts.map +1 -0
- package/dist/documentation/browser-manager.js +260 -0
- package/dist/documentation/browser-manager.js.map +1 -0
- package/dist/documentation/doc-crawler.d.ts +37 -1
- package/dist/documentation/doc-crawler.d.ts.map +1 -1
- package/dist/documentation/doc-crawler.js +257 -4
- package/dist/documentation/doc-crawler.js.map +1 -1
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +19 -2
- package/dist/server/mcp-server.js.map +1 -1
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -574,7 +574,66 @@ pwd
|
|
|
574
574
|
3. **大规模使用断点**:超过200页建议启用checkpoint
|
|
575
575
|
4. **关注质量指标**:diversity和coverage应 > 0.5
|
|
576
576
|
|
|
577
|
+
**🌐 SPA网站支持(新增):**
|
|
578
|
+
|
|
579
|
+
系统智能检测并处理单页应用(React、Vue、Angular等),自动切换HTTP和浏览器渲染模式。
|
|
580
|
+
|
|
581
|
+
##### 自动处理SPA(推荐)
|
|
582
|
+
```
|
|
583
|
+
爬取 https://react.dev 的文档 # 自动检测并处理SPA
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
##### SPA策略配置
|
|
587
|
+
```typescript
|
|
588
|
+
{
|
|
589
|
+
"spaStrategy": "smart", // smart(智能)| auto(自动)| manual(手动)
|
|
590
|
+
"spaFallback": "warn", // warn(警告)| skip(跳过)| error(错误)
|
|
591
|
+
"browserPath": "/path/to/chrome", // 可选:自定义浏览器路径
|
|
592
|
+
"waitForTimeout": 3000, // 可选:等待内容加载时间
|
|
593
|
+
"networkIdleTimeout": 500 // 可选:网络空闲等待时间
|
|
594
|
+
}
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
**三种SPA策略**:
|
|
598
|
+
- **smart(默认)**: HTTP优先,内容不足时自动切换浏览器(推荐)
|
|
599
|
+
- **auto**: 检测到SPA立即使用浏览器
|
|
600
|
+
- **manual**: 仅在useBrowserAutomation=true时使用浏览器
|
|
601
|
+
|
|
602
|
+
**浏览器要求**:
|
|
603
|
+
- ✅ 系统已安装Chrome/Chromium/Edge(推荐,自动检测)
|
|
604
|
+
- ✅ 或安装完整版puppeteer(自动下载Chromium)
|
|
605
|
+
- ✅ 或设置CHROME_PATH环境变量
|
|
606
|
+
- 📖 详见:[SPA浏览器设置指南](docs/SPA_BROWSER_SETUP.md)
|
|
607
|
+
|
|
608
|
+
**性能对比**:
|
|
609
|
+
- HTTP模式:0.5-1秒/页
|
|
610
|
+
- 浏览器模式:2-3秒/页
|
|
611
|
+
- smart策略:平均<1.5秒/页(自动优化)
|
|
612
|
+
|
|
613
|
+
**使用示例**:
|
|
614
|
+
|
|
615
|
+
快速SPA爬取:
|
|
616
|
+
```
|
|
617
|
+
爬取 https://vuejs.org,自动处理SPA,最多100页
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
已知SPA站点:
|
|
621
|
+
```
|
|
622
|
+
从 https://angular.io 生成技能,使用浏览器渲染,5个并发worker
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
对应参数:
|
|
626
|
+
```json
|
|
627
|
+
{
|
|
628
|
+
"url": "https://angular.io",
|
|
629
|
+
"spaStrategy": "auto",
|
|
630
|
+
"workers": 5,
|
|
631
|
+
"maxPages": 200
|
|
632
|
+
}
|
|
633
|
+
```
|
|
634
|
+
|
|
577
635
|
**📚 详细文档:**
|
|
636
|
+
- SPA浏览器设置:`docs/SPA_BROWSER_SETUP.md`
|
|
578
637
|
- 完整使用指南:`docs/ENHANCED_CRAWLING.md`
|
|
579
638
|
- 快速上手:查看项目中的 `QUICKSTART_*.md` 文档
|
|
580
639
|
- 实施细节:`IMPLEMENTATION_SUMMARY.md`
|
|
@@ -776,8 +835,45 @@ npm run lint
|
|
|
776
835
|
- 使用 `maxPages` 参数限制页面数量(默认 50)
|
|
777
836
|
- 使用 `maxDepth` 参数限制爬取深度(默认 3)
|
|
778
837
|
- 调整 `rateLimit` 避免对服务器造成压力(默认 500ms)
|
|
838
|
+
- 使用 `workers` 参数启用并行爬取(推荐5-8个)
|
|
839
|
+
- 启用 `checkpoint` 断点续传(超过200页建议启用)
|
|
779
840
|
- 大型站点建议分多次爬取不同部分
|
|
780
841
|
|
|
842
|
+
### Q: 如何爬取SPA网站(React、Vue等)?
|
|
843
|
+
|
|
844
|
+
**A:**
|
|
845
|
+
- 系统自动检测SPA并智能切换到浏览器渲染
|
|
846
|
+
- 确保系统已安装Chrome/Chromium/Edge浏览器
|
|
847
|
+
- 使用 `spaStrategy: "smart"` 获得最佳性能(默认)
|
|
848
|
+
- 或使用 `spaStrategy: "auto"` 强制使用浏览器
|
|
849
|
+
- 详见:`docs/SPA_BROWSER_SETUP.md`
|
|
850
|
+
|
|
851
|
+
**示例**:
|
|
852
|
+
```
|
|
853
|
+
爬取 https://react.dev,自动处理SPA
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
### Q: 系统没有Chrome怎么办?
|
|
857
|
+
|
|
858
|
+
**A:**
|
|
859
|
+
有三种解决方案:
|
|
860
|
+
1. **安装Chrome**(推荐):
|
|
861
|
+
- macOS: `brew install --cask google-chrome`
|
|
862
|
+
- Windows: `winget install Google.Chrome`
|
|
863
|
+
- Linux: `sudo apt install google-chrome-stable`
|
|
864
|
+
|
|
865
|
+
2. **安装完整版puppeteer**(自动下载Chromium):
|
|
866
|
+
```bash
|
|
867
|
+
npm install puppeteer
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
3. **设置浏览器路径**:
|
|
871
|
+
```bash
|
|
872
|
+
export CHROME_PATH=/path/to/chrome
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
详细指南:`docs/SPA_BROWSER_SETUP.md`
|
|
876
|
+
|
|
781
877
|
### Q: 网页文档浏览和文档爬取有什么区别?
|
|
782
878
|
|
|
783
879
|
**A:**
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type Browser } from 'puppeteer-core';
|
|
2
|
+
export interface BrowserConfig {
|
|
3
|
+
executablePath?: string;
|
|
4
|
+
headless?: boolean;
|
|
5
|
+
timeout?: number;
|
|
6
|
+
waitForTimeout?: number;
|
|
7
|
+
networkIdleTimeout?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface BrowserRenderResult {
|
|
10
|
+
html: string;
|
|
11
|
+
title: string;
|
|
12
|
+
url: string;
|
|
13
|
+
links: Array<{
|
|
14
|
+
text: string;
|
|
15
|
+
url: string;
|
|
16
|
+
}>;
|
|
17
|
+
screenshots?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Browser manager for SPA rendering using puppeteer-core
|
|
21
|
+
* Detects and uses system Chrome/Chromium/Edge
|
|
22
|
+
*/
|
|
23
|
+
export declare class BrowserManager {
|
|
24
|
+
private browser?;
|
|
25
|
+
private config;
|
|
26
|
+
private readonly BROWSER_PATHS;
|
|
27
|
+
constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Detect system browser
|
|
30
|
+
* Returns path to Chrome/Chromium/Edge or null
|
|
31
|
+
*/
|
|
32
|
+
detectBrowser(): Promise<string | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Launch browser instance
|
|
35
|
+
*/
|
|
36
|
+
launch(config?: Partial<BrowserConfig>): Promise<Browser>;
|
|
37
|
+
/**
|
|
38
|
+
* Render a page and extract content
|
|
39
|
+
* Uses balanced performance mode
|
|
40
|
+
*/
|
|
41
|
+
renderPage(url: string): Promise<BrowserRenderResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Close browser instance and cleanup resources
|
|
44
|
+
*/
|
|
45
|
+
close(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Check if browser is currently launched
|
|
48
|
+
*/
|
|
49
|
+
isLaunched(): boolean;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=browser-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-manager.d.ts","sourceRoot":"","sources":["../../src/documentation/browser-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAa,MAAM,gBAAgB,CAAC;AAOjE,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAwB;IAGtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAoB5B;;IAYF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6D7C;;OAEG;IACG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAyD/D;;;OAGG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgF3D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { launch } from 'puppeteer-core';
|
|
2
|
+
import * as chromeLauncher from 'chrome-launcher';
|
|
3
|
+
import { logger } from '../utils/logger.js';
|
|
4
|
+
import { platform } from 'os';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import { access } from 'fs/promises';
|
|
7
|
+
/**
|
|
8
|
+
* Browser manager for SPA rendering using puppeteer-core
|
|
9
|
+
* Detects and uses system Chrome/Chromium/Edge
|
|
10
|
+
*/
|
|
11
|
+
export class BrowserManager {
|
|
12
|
+
browser;
|
|
13
|
+
config;
|
|
14
|
+
// Browser paths by platform
|
|
15
|
+
BROWSER_PATHS = {
|
|
16
|
+
darwin: [
|
|
17
|
+
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
|
18
|
+
'/Applications/Chromium.app/Contents/MacOS/Chromium',
|
|
19
|
+
'/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge',
|
|
20
|
+
],
|
|
21
|
+
win32: [
|
|
22
|
+
'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
|
|
23
|
+
'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
|
|
24
|
+
'C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe',
|
|
25
|
+
'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe',
|
|
26
|
+
],
|
|
27
|
+
linux: [
|
|
28
|
+
'/usr/bin/google-chrome',
|
|
29
|
+
'/usr/bin/google-chrome-stable',
|
|
30
|
+
'/usr/bin/chromium-browser',
|
|
31
|
+
'/usr/bin/chromium',
|
|
32
|
+
'/snap/bin/chromium',
|
|
33
|
+
'/usr/bin/microsoft-edge',
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
constructor() {
|
|
37
|
+
this.config = {
|
|
38
|
+
executablePath: undefined,
|
|
39
|
+
headless: true,
|
|
40
|
+
timeout: 30000,
|
|
41
|
+
waitForTimeout: 3000,
|
|
42
|
+
networkIdleTimeout: 500,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Detect system browser
|
|
47
|
+
* Returns path to Chrome/Chromium/Edge or null
|
|
48
|
+
*/
|
|
49
|
+
async detectBrowser() {
|
|
50
|
+
logger.info('Detecting system browser');
|
|
51
|
+
// 1. Check environment variables
|
|
52
|
+
const envPaths = [
|
|
53
|
+
process.env.CHROME_PATH,
|
|
54
|
+
process.env.PUPPETEER_EXECUTABLE_PATH,
|
|
55
|
+
process.env.CHROMIUM_PATH,
|
|
56
|
+
];
|
|
57
|
+
for (const envPath of envPaths) {
|
|
58
|
+
if (envPath && existsSync(envPath)) {
|
|
59
|
+
logger.info('Found browser via environment variable', { path: envPath });
|
|
60
|
+
return envPath;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// 2. Use chrome-launcher to find Chrome
|
|
64
|
+
try {
|
|
65
|
+
const installations = await chromeLauncher.Launcher.getInstallations();
|
|
66
|
+
if (installations.length > 0) {
|
|
67
|
+
logger.info('Found browser via chrome-launcher', { path: installations[0] });
|
|
68
|
+
return installations[0];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
logger.debug('chrome-launcher detection failed', {
|
|
73
|
+
error: error instanceof Error ? error.message : String(error),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// 3. Check common paths for current platform
|
|
77
|
+
const platformKey = platform();
|
|
78
|
+
const paths = this.BROWSER_PATHS[platformKey] || [];
|
|
79
|
+
for (const path of paths) {
|
|
80
|
+
try {
|
|
81
|
+
await access(path);
|
|
82
|
+
logger.info('Found browser at common path', { path, platform: platformKey });
|
|
83
|
+
return path;
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// Path doesn't exist, continue
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// 4. Try to use bundled puppeteer if installed
|
|
90
|
+
try {
|
|
91
|
+
const puppeteer = await import('puppeteer');
|
|
92
|
+
if (puppeteer.executablePath) {
|
|
93
|
+
const bundledPath = puppeteer.executablePath();
|
|
94
|
+
logger.info('Found bundled Chromium from puppeteer', { path: bundledPath });
|
|
95
|
+
return bundledPath;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// puppeteer not installed
|
|
100
|
+
logger.debug('Bundled puppeteer not available');
|
|
101
|
+
}
|
|
102
|
+
logger.warn('No browser found on system');
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Launch browser instance
|
|
107
|
+
*/
|
|
108
|
+
async launch(config) {
|
|
109
|
+
if (this.browser) {
|
|
110
|
+
logger.debug('Browser already launched');
|
|
111
|
+
return this.browser;
|
|
112
|
+
}
|
|
113
|
+
// Merge config
|
|
114
|
+
this.config = {
|
|
115
|
+
...this.config,
|
|
116
|
+
...config,
|
|
117
|
+
};
|
|
118
|
+
// Detect browser if not specified
|
|
119
|
+
if (!this.config.executablePath) {
|
|
120
|
+
const detected = await this.detectBrowser();
|
|
121
|
+
if (!detected) {
|
|
122
|
+
throw new Error('No browser found. Install Chrome or set CHROME_PATH environment variable. ' +
|
|
123
|
+
'See docs/SPA_BROWSER_SETUP.md for details.');
|
|
124
|
+
}
|
|
125
|
+
this.config.executablePath = detected;
|
|
126
|
+
}
|
|
127
|
+
logger.info('Launching browser', {
|
|
128
|
+
executablePath: this.config.executablePath,
|
|
129
|
+
headless: this.config.headless,
|
|
130
|
+
});
|
|
131
|
+
try {
|
|
132
|
+
this.browser = await launch({
|
|
133
|
+
executablePath: this.config.executablePath,
|
|
134
|
+
headless: this.config.headless,
|
|
135
|
+
args: [
|
|
136
|
+
'--no-sandbox',
|
|
137
|
+
'--disable-setuid-sandbox',
|
|
138
|
+
'--disable-dev-shm-usage',
|
|
139
|
+
'--disable-accelerated-2d-canvas',
|
|
140
|
+
'--disable-gpu',
|
|
141
|
+
'--no-first-run',
|
|
142
|
+
'--no-zygote',
|
|
143
|
+
'--disable-background-networking',
|
|
144
|
+
'--disable-background-timer-throttling',
|
|
145
|
+
'--disable-backgrounding-occluded-windows',
|
|
146
|
+
'--disable-renderer-backgrounding',
|
|
147
|
+
],
|
|
148
|
+
});
|
|
149
|
+
logger.info('Browser launched successfully');
|
|
150
|
+
return this.browser;
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
154
|
+
logger.error('Failed to launch browser', { error: errorMsg });
|
|
155
|
+
throw new Error(`Failed to launch browser: ${errorMsg}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Render a page and extract content
|
|
160
|
+
* Uses balanced performance mode
|
|
161
|
+
*/
|
|
162
|
+
async renderPage(url) {
|
|
163
|
+
if (!this.browser) {
|
|
164
|
+
throw new Error('Browser not launched. Call launch() first.');
|
|
165
|
+
}
|
|
166
|
+
logger.info('Rendering page with browser', { url });
|
|
167
|
+
let page;
|
|
168
|
+
try {
|
|
169
|
+
page = await this.browser.newPage();
|
|
170
|
+
// Set viewport
|
|
171
|
+
await page.setViewport({ width: 1280, height: 800 });
|
|
172
|
+
// Optimize: disable unnecessary resources (balanced mode)
|
|
173
|
+
await page.setRequestInterception(true);
|
|
174
|
+
page.on('request', (req) => {
|
|
175
|
+
const resourceType = req.resourceType();
|
|
176
|
+
if (['image', 'stylesheet', 'font', 'media'].includes(resourceType)) {
|
|
177
|
+
req.abort();
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
req.continue();
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
// Navigate to page
|
|
184
|
+
await page.goto(url, {
|
|
185
|
+
waitUntil: 'domcontentloaded', // Wait for DOM
|
|
186
|
+
timeout: this.config.timeout,
|
|
187
|
+
});
|
|
188
|
+
// Wait for main content (balanced mode)
|
|
189
|
+
await page.waitForTimeout(this.config.waitForTimeout);
|
|
190
|
+
// Try to wait for network idle (with fallback)
|
|
191
|
+
try {
|
|
192
|
+
await page.waitForNetworkIdle({
|
|
193
|
+
timeout: this.config.networkIdleTimeout,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
// Network idle timeout is not critical, continue
|
|
198
|
+
logger.debug('Network idle timeout, continuing', { url });
|
|
199
|
+
}
|
|
200
|
+
// Extract content using page.evaluate
|
|
201
|
+
// Using string evaluation to avoid DOM type errors in Node.js context
|
|
202
|
+
const result = await page.evaluate(`
|
|
203
|
+
(() => {
|
|
204
|
+
return {
|
|
205
|
+
html: document.documentElement.outerHTML,
|
|
206
|
+
title: document.title,
|
|
207
|
+
url: window.location.href,
|
|
208
|
+
links: Array.from(document.querySelectorAll('a')).map(a => ({
|
|
209
|
+
text: a.textContent?.trim() || '',
|
|
210
|
+
url: a.href,
|
|
211
|
+
})),
|
|
212
|
+
};
|
|
213
|
+
})()
|
|
214
|
+
`);
|
|
215
|
+
logger.info('Page rendered successfully', {
|
|
216
|
+
url,
|
|
217
|
+
title: result.title.substring(0, 50),
|
|
218
|
+
linksFound: result.links.length,
|
|
219
|
+
htmlSize: result.html.length,
|
|
220
|
+
});
|
|
221
|
+
return result;
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
225
|
+
logger.error('Failed to render page', { url, error: errorMsg });
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
// Always close the page to free resources
|
|
230
|
+
if (page) {
|
|
231
|
+
await page.close();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Close browser instance and cleanup resources
|
|
237
|
+
*/
|
|
238
|
+
async close() {
|
|
239
|
+
if (this.browser) {
|
|
240
|
+
logger.info('Closing browser');
|
|
241
|
+
try {
|
|
242
|
+
await this.browser.close();
|
|
243
|
+
this.browser = undefined;
|
|
244
|
+
logger.info('Browser closed successfully');
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
logger.warn('Error closing browser', {
|
|
248
|
+
error: error instanceof Error ? error.message : String(error),
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Check if browser is currently launched
|
|
255
|
+
*/
|
|
256
|
+
isLaunched() {
|
|
257
|
+
return this.browser !== undefined;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=browser-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-manager.js","sourceRoot":"","sources":["../../src/documentation/browser-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA0BrC;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,OAAO,CAAW;IAClB,MAAM,CAAwB;IAEtC,4BAA4B;IACX,aAAa,GAAG;QAC/B,MAAM,EAAE;YACN,8DAA8D;YAC9D,oDAAoD;YACpD,gEAAgE;SACjE;QACD,KAAK,EAAE;YACL,4DAA4D;YAC5D,kEAAkE;YAClE,6DAA6D;YAC7D,mEAAmE;SACpE;QACD,KAAK,EAAE;YACL,wBAAwB;YACxB,+BAA+B;YAC/B,2BAA2B;YAC3B,mBAAmB;YACnB,oBAAoB;YACpB,yBAAyB;SAC1B;KACF,CAAC;IAEF;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,GAAG;SACxB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAExC,iCAAiC;QACjC,MAAM,QAAQ,GAAG;YACf,OAAO,CAAC,GAAG,CAAC,WAAW;YACvB,OAAO,CAAC,GAAG,CAAC,yBAAyB;YACrC,OAAO,CAAC,GAAG,CAAC,aAAa;SAC1B,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACvE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7E,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,MAAM,WAAW,GAAG,QAAQ,EAAqC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5E,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;YAC1B,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA+B;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,eAAe;QACf,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,MAAM;SACV,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,4EAA4E;oBAC5E,4CAA4C,CAC7C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC/B,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC;gBAC1B,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,IAAI,EAAE;oBACJ,cAAc;oBACd,0BAA0B;oBAC1B,yBAAyB;oBACzB,iCAAiC;oBACjC,eAAe;oBACf,gBAAgB;oBAChB,aAAa;oBACb,iCAAiC;oBACjC,uCAAuC;oBACvC,0CAA0C;oBAC1C,kCAAkC;iBACnC;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpD,IAAI,IAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpC,eAAe;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAErD,0DAA0D;YAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpE,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS,EAAE,kBAAkB,EAAE,eAAe;gBAC9C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;aAC7B,CAAC,CAAC;YAEH,wCAAwC;YACxC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEtD,+CAA+C;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;iBACxC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iDAAiD;gBACjD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,sCAAsC;YACtC,sEAAsE;YACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;OAYlC,CAAwB,CAAC;YAE1B,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACxC,GAAG;gBACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC/B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,0CAA0C;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACnC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -17,6 +17,13 @@ export interface CrawlOptions {
|
|
|
17
17
|
file?: string;
|
|
18
18
|
};
|
|
19
19
|
resume?: boolean;
|
|
20
|
+
spaStrategy?: 'smart' | 'auto' | 'manual';
|
|
21
|
+
spaFallback?: 'warn' | 'skip' | 'error';
|
|
22
|
+
browserConfig?: {
|
|
23
|
+
executablePath?: string;
|
|
24
|
+
waitForTimeout?: number;
|
|
25
|
+
networkIdleTimeout?: number;
|
|
26
|
+
};
|
|
20
27
|
}
|
|
21
28
|
export interface CrawledPage {
|
|
22
29
|
url: string;
|
|
@@ -71,6 +78,7 @@ export interface CrawlResult {
|
|
|
71
78
|
}
|
|
72
79
|
export declare class DocumentationCrawler {
|
|
73
80
|
private browser;
|
|
81
|
+
private browserManager?;
|
|
74
82
|
private visitedUrls;
|
|
75
83
|
private urlQueue;
|
|
76
84
|
private crawledPages;
|
|
@@ -129,7 +137,7 @@ export declare class DocumentationCrawler {
|
|
|
129
137
|
private shouldContinueCrawling;
|
|
130
138
|
/**
|
|
131
139
|
* Fetch a page with retry logic
|
|
132
|
-
* Supports
|
|
140
|
+
* Supports HTML pages, Markdown files, and SPA rendering
|
|
133
141
|
*/
|
|
134
142
|
private fetchPageWithRetry;
|
|
135
143
|
/**
|
|
@@ -177,6 +185,34 @@ export declare class DocumentationCrawler {
|
|
|
177
185
|
* Sanitize filename for checkpoint
|
|
178
186
|
*/
|
|
179
187
|
private sanitizeFilename;
|
|
188
|
+
/**
|
|
189
|
+
* Check if browser rendering is needed
|
|
190
|
+
*/
|
|
191
|
+
private shouldUseBrowser;
|
|
192
|
+
/**
|
|
193
|
+
* Fetch page using browser rendering
|
|
194
|
+
*/
|
|
195
|
+
private fetchWithBrowser;
|
|
196
|
+
/**
|
|
197
|
+
* Parse browser-rendered HTML into WebDocumentationPage
|
|
198
|
+
*/
|
|
199
|
+
private parseRenderedPage;
|
|
200
|
+
/**
|
|
201
|
+
* Handle browser rendering failure based on fallback strategy
|
|
202
|
+
*/
|
|
203
|
+
private handleBrowserFailure;
|
|
204
|
+
/**
|
|
205
|
+
* Create empty page placeholder
|
|
206
|
+
*/
|
|
207
|
+
private createEmptyPage;
|
|
208
|
+
/**
|
|
209
|
+
* Create page with browser installation guide
|
|
210
|
+
*/
|
|
211
|
+
private createPageWithGuide;
|
|
212
|
+
/**
|
|
213
|
+
* Cleanup resources (browser, checkpoint, etc.)
|
|
214
|
+
*/
|
|
215
|
+
cleanup(): Promise<void>;
|
|
180
216
|
/**
|
|
181
217
|
* Delay helper for rate limiting
|
|
182
218
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-crawler.d.ts","sourceRoot":"","sources":["../../src/documentation/doc-crawler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"doc-crawler.d.ts","sourceRoot":"","sources":["../../src/documentation/doc-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,13 @@ import { logger } from '../utils/logger.js';
|
|
|
3
3
|
import { WebDocumentationBrowser } from './web-doc-browser.js';
|
|
4
4
|
import { LlmsTxtDetector, LlmsTxtDownloader, LlmsTxtParser } from './llms-txt/index.js';
|
|
5
5
|
import { CheckpointManager } from './checkpoint-manager.js';
|
|
6
|
+
import { BrowserManager } from './browser-manager.js';
|
|
6
7
|
import { join } from 'path';
|
|
7
8
|
import { tmpdir } from 'os';
|
|
9
|
+
import * as cheerio from 'cheerio';
|
|
8
10
|
export class DocumentationCrawler {
|
|
9
11
|
browser;
|
|
12
|
+
browserManager;
|
|
10
13
|
visitedUrls;
|
|
11
14
|
urlQueue;
|
|
12
15
|
crawledPages;
|
|
@@ -57,6 +60,8 @@ export class DocumentationCrawler {
|
|
|
57
60
|
useBrowserAutomation: false, // Default to HTTP-only for backward compatibility
|
|
58
61
|
skipLlmsTxt: false, // Enable llms.txt detection by default
|
|
59
62
|
workers: 1, // Default to single-threaded crawling
|
|
63
|
+
spaStrategy: 'smart', // Smart SPA handling by default
|
|
64
|
+
spaFallback: 'warn', // Warn users when browser rendering fails
|
|
60
65
|
};
|
|
61
66
|
this.baseUrl = new URL('https://example.com');
|
|
62
67
|
this.linkDiscoveryStats = {
|
|
@@ -733,16 +738,41 @@ export class DocumentationCrawler {
|
|
|
733
738
|
}
|
|
734
739
|
/**
|
|
735
740
|
* Fetch a page with retry logic
|
|
736
|
-
* Supports
|
|
741
|
+
* Supports HTML pages, Markdown files, and SPA rendering
|
|
737
742
|
*/
|
|
738
743
|
async fetchPageWithRetry(url, retryCount = 0) {
|
|
739
744
|
try {
|
|
740
|
-
// Check if this is a Markdown file
|
|
745
|
+
// 1. Check if this is a Markdown file
|
|
741
746
|
if (url.endsWith('.md') || url.includes('.md?') || url.includes('.md#')) {
|
|
742
747
|
return await this.extractMarkdownContent(url);
|
|
743
748
|
}
|
|
744
|
-
//
|
|
745
|
-
|
|
749
|
+
// 2. Try HTTP crawl first
|
|
750
|
+
const page = await this.browser.browsePage(url);
|
|
751
|
+
// 3. Smart strategy: check if content is sufficient
|
|
752
|
+
if (this.options.spaStrategy === 'smart') {
|
|
753
|
+
const needsBrowser = await this.shouldUseBrowser(page, url);
|
|
754
|
+
if (needsBrowser) {
|
|
755
|
+
logger.info('Content insufficient, switching to browser rendering', {
|
|
756
|
+
url,
|
|
757
|
+
contentLength: page.content.length,
|
|
758
|
+
linksCount: page.navigationLinks.length,
|
|
759
|
+
});
|
|
760
|
+
return await this.fetchWithBrowser(url);
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
// 4. Auto strategy: use browser for detected SPA
|
|
764
|
+
if (this.options.spaStrategy === 'auto') {
|
|
765
|
+
const spaDetection = await this.browser.detectSPA(url, page.content);
|
|
766
|
+
if (spaDetection.isSPA && spaDetection.confidence !== 'low') {
|
|
767
|
+
logger.info('SPA detected, using browser rendering', {
|
|
768
|
+
url,
|
|
769
|
+
confidence: spaDetection.confidence,
|
|
770
|
+
indicators: spaDetection.indicators,
|
|
771
|
+
});
|
|
772
|
+
return await this.fetchWithBrowser(url);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
return page;
|
|
746
776
|
}
|
|
747
777
|
catch (error) {
|
|
748
778
|
const errorType = this.classifyError(error);
|
|
@@ -1152,6 +1182,229 @@ export class DocumentationCrawler {
|
|
|
1152
1182
|
.replace(/-+/g, '-')
|
|
1153
1183
|
.substring(0, 64);
|
|
1154
1184
|
}
|
|
1185
|
+
/**
|
|
1186
|
+
* Check if browser rendering is needed
|
|
1187
|
+
*/
|
|
1188
|
+
async shouldUseBrowser(page, url) {
|
|
1189
|
+
// 1. Content too short
|
|
1190
|
+
if (page.content.length < 200) {
|
|
1191
|
+
logger.debug('Content too short, may need browser', {
|
|
1192
|
+
url,
|
|
1193
|
+
length: page.content.length
|
|
1194
|
+
});
|
|
1195
|
+
return true;
|
|
1196
|
+
}
|
|
1197
|
+
// 2. No navigation links
|
|
1198
|
+
if (page.navigationLinks.length < 3) {
|
|
1199
|
+
logger.debug('Few navigation links, may need browser', {
|
|
1200
|
+
url,
|
|
1201
|
+
links: page.navigationLinks.length
|
|
1202
|
+
});
|
|
1203
|
+
return true;
|
|
1204
|
+
}
|
|
1205
|
+
// 3. SPA detected but content insufficient
|
|
1206
|
+
const spaDetection = await this.browser.detectSPA(url, page.content);
|
|
1207
|
+
if (spaDetection.isSPA && page.content.length < 500) {
|
|
1208
|
+
logger.debug('SPA detected with insufficient content', {
|
|
1209
|
+
url,
|
|
1210
|
+
confidence: spaDetection.confidence,
|
|
1211
|
+
length: page.content.length
|
|
1212
|
+
});
|
|
1213
|
+
return true;
|
|
1214
|
+
}
|
|
1215
|
+
return false;
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Fetch page using browser rendering
|
|
1219
|
+
*/
|
|
1220
|
+
async fetchWithBrowser(url) {
|
|
1221
|
+
try {
|
|
1222
|
+
// Lazy initialize browser
|
|
1223
|
+
if (!this.browserManager) {
|
|
1224
|
+
this.browserManager = new BrowserManager();
|
|
1225
|
+
await this.browserManager.launch(this.options.browserConfig);
|
|
1226
|
+
}
|
|
1227
|
+
// Render page
|
|
1228
|
+
const result = await this.browserManager.renderPage(url);
|
|
1229
|
+
// Convert to WebDocumentationPage format
|
|
1230
|
+
return this.parseRenderedPage(result);
|
|
1231
|
+
}
|
|
1232
|
+
catch (error) {
|
|
1233
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
1234
|
+
logger.error('Browser rendering failed', { url, error: errorMsg });
|
|
1235
|
+
// Handle failure based on fallback strategy
|
|
1236
|
+
return this.handleBrowserFailure(url, errorMsg);
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
/**
|
|
1240
|
+
* Parse browser-rendered HTML into WebDocumentationPage
|
|
1241
|
+
*/
|
|
1242
|
+
parseRenderedPage(result) {
|
|
1243
|
+
const $ = cheerio.load(result.html);
|
|
1244
|
+
// Extract text content (remove scripts and styles)
|
|
1245
|
+
$('script, style, noscript').remove();
|
|
1246
|
+
const bodyText = $('body').text().trim();
|
|
1247
|
+
// Extract headings
|
|
1248
|
+
const headings = [];
|
|
1249
|
+
$('h1, h2, h3, h4, h5, h6').each((_, elem) => {
|
|
1250
|
+
const $elem = $(elem);
|
|
1251
|
+
const tagName = elem.tagName.toLowerCase();
|
|
1252
|
+
const text = $elem.text().trim();
|
|
1253
|
+
const id = $elem.attr('id');
|
|
1254
|
+
if (text) {
|
|
1255
|
+
headings.push({
|
|
1256
|
+
level: tagName,
|
|
1257
|
+
text,
|
|
1258
|
+
id,
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
});
|
|
1262
|
+
// Extract code samples
|
|
1263
|
+
const codeSamples = [];
|
|
1264
|
+
$('pre code, code.hljs, .highlight code').each((_, elem) => {
|
|
1265
|
+
const $elem = $(elem);
|
|
1266
|
+
const code = $elem.text().trim();
|
|
1267
|
+
const language = $elem.attr('class')?.match(/language-(\w+)/)?.[1] || 'text';
|
|
1268
|
+
if (code.length > 10) {
|
|
1269
|
+
codeSamples.push({ code, language });
|
|
1270
|
+
}
|
|
1271
|
+
});
|
|
1272
|
+
// Extract sections
|
|
1273
|
+
const sections = [];
|
|
1274
|
+
$('section, article, .section, .content-section').each((_, elem) => {
|
|
1275
|
+
const $elem = $(elem);
|
|
1276
|
+
const heading = $elem.find('h1, h2, h3').first();
|
|
1277
|
+
const title = heading.text().trim() || 'Section';
|
|
1278
|
+
const content = $elem.text().trim();
|
|
1279
|
+
const anchor = heading.attr('id');
|
|
1280
|
+
if (content.length > 50) {
|
|
1281
|
+
sections.push({ title, content, anchor });
|
|
1282
|
+
}
|
|
1283
|
+
});
|
|
1284
|
+
return {
|
|
1285
|
+
url: result.url,
|
|
1286
|
+
title: result.title,
|
|
1287
|
+
content: bodyText,
|
|
1288
|
+
searchableContent: bodyText,
|
|
1289
|
+
sections,
|
|
1290
|
+
navigationLinks: result.links
|
|
1291
|
+
.filter(link => link.url && link.url.startsWith('http'))
|
|
1292
|
+
.map(link => {
|
|
1293
|
+
try {
|
|
1294
|
+
const linkUrl = new URL(link.url);
|
|
1295
|
+
return {
|
|
1296
|
+
text: link.text,
|
|
1297
|
+
url: link.url,
|
|
1298
|
+
isInternal: linkUrl.origin === this.baseUrl.origin,
|
|
1299
|
+
};
|
|
1300
|
+
}
|
|
1301
|
+
catch {
|
|
1302
|
+
return null;
|
|
1303
|
+
}
|
|
1304
|
+
})
|
|
1305
|
+
.filter((link) => link !== null),
|
|
1306
|
+
headings,
|
|
1307
|
+
codeSamples,
|
|
1308
|
+
isDocumentation: true,
|
|
1309
|
+
};
|
|
1310
|
+
}
|
|
1311
|
+
/**
|
|
1312
|
+
* Handle browser rendering failure based on fallback strategy
|
|
1313
|
+
*/
|
|
1314
|
+
async handleBrowserFailure(url, error) {
|
|
1315
|
+
const strategy = this.options.spaFallback || 'warn';
|
|
1316
|
+
switch (strategy) {
|
|
1317
|
+
case 'error':
|
|
1318
|
+
throw new Error(`Browser rendering failed for ${url}: ${error}`);
|
|
1319
|
+
case 'skip':
|
|
1320
|
+
logger.warn('Skipping page due to browser failure', { url });
|
|
1321
|
+
return this.createEmptyPage(url);
|
|
1322
|
+
case 'warn':
|
|
1323
|
+
default:
|
|
1324
|
+
logger.warn('Browser rendering failed, returning page with installation guide', { url, error });
|
|
1325
|
+
return this.createPageWithGuide(url, error);
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
/**
|
|
1329
|
+
* Create empty page placeholder
|
|
1330
|
+
*/
|
|
1331
|
+
createEmptyPage(url) {
|
|
1332
|
+
return {
|
|
1333
|
+
url,
|
|
1334
|
+
title: 'Page Skipped',
|
|
1335
|
+
content: '',
|
|
1336
|
+
searchableContent: '',
|
|
1337
|
+
sections: [],
|
|
1338
|
+
navigationLinks: [],
|
|
1339
|
+
headings: [],
|
|
1340
|
+
codeSamples: [],
|
|
1341
|
+
isDocumentation: false,
|
|
1342
|
+
};
|
|
1343
|
+
}
|
|
1344
|
+
/**
|
|
1345
|
+
* Create page with browser installation guide
|
|
1346
|
+
*/
|
|
1347
|
+
createPageWithGuide(url, error) {
|
|
1348
|
+
const guide = `
|
|
1349
|
+
# Browser Rendering Required
|
|
1350
|
+
|
|
1351
|
+
This page appears to be a Single Page Application (SPA) that requires JavaScript rendering.
|
|
1352
|
+
|
|
1353
|
+
## Error
|
|
1354
|
+
${error}
|
|
1355
|
+
|
|
1356
|
+
## Solution
|
|
1357
|
+
|
|
1358
|
+
To crawl SPA sites, you need Chrome/Chromium browser installed:
|
|
1359
|
+
|
|
1360
|
+
### macOS
|
|
1361
|
+
\`\`\`bash
|
|
1362
|
+
brew install --cask google-chrome
|
|
1363
|
+
\`\`\`
|
|
1364
|
+
|
|
1365
|
+
### Windows
|
|
1366
|
+
\`\`\`bash
|
|
1367
|
+
winget install Google.Chrome
|
|
1368
|
+
\`\`\`
|
|
1369
|
+
|
|
1370
|
+
### Linux
|
|
1371
|
+
\`\`\`bash
|
|
1372
|
+
sudo apt install google-chrome-stable
|
|
1373
|
+
\`\`\`
|
|
1374
|
+
|
|
1375
|
+
### Alternative: Install puppeteer (includes bundled Chromium)
|
|
1376
|
+
\`\`\`bash
|
|
1377
|
+
npm install puppeteer
|
|
1378
|
+
\`\`\`
|
|
1379
|
+
|
|
1380
|
+
### Alternative: Set browser path
|
|
1381
|
+
\`\`\`bash
|
|
1382
|
+
export CHROME_PATH=/path/to/chrome
|
|
1383
|
+
\`\`\`
|
|
1384
|
+
|
|
1385
|
+
See docs/SPA_BROWSER_SETUP.md for detailed instructions.
|
|
1386
|
+
`.trim();
|
|
1387
|
+
return {
|
|
1388
|
+
url,
|
|
1389
|
+
title: 'Browser Setup Required',
|
|
1390
|
+
content: guide,
|
|
1391
|
+
searchableContent: guide,
|
|
1392
|
+
sections: [{ title: 'Browser Rendering Required', content: guide }],
|
|
1393
|
+
navigationLinks: [],
|
|
1394
|
+
headings: [{ level: 'h1', text: 'Browser Rendering Required' }],
|
|
1395
|
+
codeSamples: [],
|
|
1396
|
+
isDocumentation: false,
|
|
1397
|
+
};
|
|
1398
|
+
}
|
|
1399
|
+
/**
|
|
1400
|
+
* Cleanup resources (browser, checkpoint, etc.)
|
|
1401
|
+
*/
|
|
1402
|
+
async cleanup() {
|
|
1403
|
+
if (this.browserManager) {
|
|
1404
|
+
await this.browserManager.close();
|
|
1405
|
+
this.browserManager = undefined;
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1155
1408
|
/**
|
|
1156
1409
|
* Delay helper for rate limiting
|
|
1157
1410
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-crawler.js","sourceRoot":"","sources":["../../src/documentation/doc-crawler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAA6B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAuB,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAsF5B,MAAM,OAAO,oBAAoB;IACvB,OAAO,CAA0B;IACjC,WAAW,CAAc;IACzB,QAAQ,CAAc;IACtB,YAAY,CAAgB;IAC5B,MAAM,CAAwC;IAC9C,OAAO,CAYb;IACM,OAAO,CAAM;IACb,kBAAkB,CAAqB;IACvC,iBAAiB,CAAqB;IACtC,wBAAwB,CAAS;IACxB,sBAAsB,GAAG;QACxC,YAAY;QACZ,kBAAkB;QAClB,UAAU;QACV,aAAa;QACb,QAAQ;QACR,cAAc;QACd,WAAW;QACX,SAAS;QACT,UAAU;QACV,oBAAoB;KACrB,CAAC;IACe,iBAAiB,GAAG;QACnC,UAAU;QACV,WAAW;QACX,aAAa;QACb,aAAa;QACb,SAAS;QACT,YAAY;QACZ,UAAU;QACV,sDAAsD;QACtD,UAAU;KACX,CAAC;IAEF,YAAY,UAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEvD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,KAAK,EAAE,kCAAkC;YACxD,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,GAAG,EAAE,sBAAsB;YACtC,UAAU,EAAE,CAAC,EAAE,oBAAoB;YACnC,UAAU,EAAE,IAAI,EAAE,sCAAsC;YACxD,oBAAoB,EAAE,KAAK,EAAE,kDAAkD;YAC/E,WAAW,EAAE,KAAK,EAAE,uCAAuC;YAC3D,OAAO,EAAE,CAAC,EAAE,sCAAsC;SACnD,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG;YACxB,eAAe,EAAE,CAAC;YAClB,aAAa,EAAE;gBACb,UAAU,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,CAAC;aACd;YACD,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,UAAwB,EAAE;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;YACpE,GAAG,EAAE,OAAO;YACZ,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,8EAA8E;SACrF,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,GAAG;YACxB,eAAe,EAAE,CAAC;YAClB,aAAa,EAAE;gBACb,UAAU,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,CAAC;aACd;YACD,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,gBAAgB;QAChB,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC;QAEF,8BAA8B;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,0FAA0F;QAC1F,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5E,sCAAsC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;gBACjD,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAE/D,6CAA6C;YAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBACrC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;wBACtC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;wBACjC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBAChE,GAAG,EAAE,OAAO;oBACZ,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,UAAU,EAAE,YAAY,CAAC,UAAU;iBACpC,CAAC,CAAC;gBAEH,4CAA4C;gBAC5C,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;wBACnC,OAAO,EAAE,YAAY,CAAC,UAAU;wBAChC,cAAc,EAAE,wFAAwF;qBACzG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2DAA2D;YAC3D,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBAC1D,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QAE9C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACjE,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEhE,6BAA6B;QAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,CAAC;YAC7D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,CAAC,CAAC,GAAG,CAAC;QAER,qDAAqD;QACrD,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;YACrE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACpC,eAAe;YACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,gBAAgB,EAAE,SAAS;YAC3B,qBAAqB,EAAE,cAAc;YACrC,WAAW,EAAE,GAAG,WAAW,GAAG;YAC9B,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE;gBACT,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe;gBACxD,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW;gBAChD,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;gBACpD,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe;gBACxD,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY;aACnD;YACD,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACzC,CAAC,CAAC;QAEH,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAmC,CAAC;QAErE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,kEAAkE,EAAE;gBAC9E,MAAM,EAAE,aAAa;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBACtC,UAAU,EAAE,qDAAqD;aAClE,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACpC,eAAe;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,SAAiB;QAC7C,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,+BAA+B;QAEnE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpF,gDAAgD;YAChD,kDAAkD;YAClD,+CAA+C;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClG,IAAI,CAAC,MAAM;gBAAE,MAAM;YAEnB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YAE9B,4BAA4B;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,eAAe,IAAI,qBAAqB,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAI,OAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;oBAC5B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;oBACtC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBACpC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;oBAC1B,cAAc,EAAE,OAAO;oBACvB,cAAc;oBACd,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;iBAChC,CAAC,CAAC;gBACH,eAAe,GAAG,GAAG,CAAC;YACxB,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,oBAAoB;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAEnD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnC,gBAAgB;YAChB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QAC9C,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,qBAAqB,GAAG,IAAI,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpF,4BAA4B;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,eAAe,IAAI,qBAAqB,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAI,OAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBACvC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;oBACtC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBACpC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;oBAC1B,cAAc,EAAE,OAAO;oBACvB,cAAc;oBACd,OAAO,EAAE,WAAW;iBACrB,CAAC,CAAC;gBACH,eAAe,GAAG,GAAG,CAAC;YACxB,CAAC;YAED,2CAA2C;YAC3C,MAAM,KAAK,GAAgB,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEhH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClG,IAAI,CAAC,MAAM;oBAAE,MAAM;gBAEnB,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,SAAS;gBACX,CAAC;gBAED,oBAAoB;gBACpB,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACzC,SAAS;gBACX,CAAC;gBAED,kBAAkB;gBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,4BAA4B;YAC5B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACzB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEjD,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAa;QAClD,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAEhD,yDAAyD;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAE/C,IAAI,aAAa,GAAG,GAAG,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;oBACnD,GAAG;oBACH,aAAa;oBACb,UAAU;oBACV,UAAU,EAAE,sFAAsF;iBACnG,CAAC,CAAC;YACL,CAAC;YAED,gCAAgC;YAChC,MAAM,WAAW,GAAgB;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,sCAAsC;YACtC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxD,IAAI,IAAI,CAAC,wBAAwB,IAAI,QAAQ,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YACrD,IAAI,CAAC,kBAAkB,CAAC,eAAe,IAAI,gBAAgB,CAAC;YAE5D,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACnD,GAAG;gBACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClC,UAAU,EAAE,gBAAgB;gBAC5B,KAAK;aACN,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC;gBAE3C,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;oBACvC,GAAG;oBACH,gBAAgB;oBAChB,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,QAAQ,EAAE,eAAe,CAAC,QAAQ;iBACnC,CAAC,CAAC;gBAEH,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,qBAAqB,GAAG,CAAC,CAAC;gBAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtC,8DAA8D;wBAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;wBACrE,IAAI,CAAC,cAAc,EAAE,CAAC;4BACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;4BACtC,WAAW,EAAE,CAAC;wBAChB,CAAC;6BAAM,CAAC;4BACN,qBAAqB,EAAE,CAAC;wBAC1B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,qBAAqB,EAAE,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;oBAC3B,GAAG;oBACH,MAAM,EAAE,WAAW;oBACnB,qBAAqB;oBACrB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;iBACvC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,IAAI,gBAAgB,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,GAAG;gBACH,KAAK,EAAE,GAAG,SAAS,KAAK,YAAY,EAAE;aACvC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC/B,GAAG;gBACH,KAAK,EAAE,YAAY;gBACnB,SAAS;gBACT,KAAK;gBACL,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAChC,IAA0B,EAC1B,SAAiB;QAcjB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG;YACf,UAAU,EAAE,CAAC,EAAE,gCAAgC;YAC/C,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB,CAAC;QAEF,MAAM,WAAW,GAA8E,EAAE,CAAC;QAElG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBACvD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,sBAAsB;gBACtB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC3C,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;oBACvD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAChE,SAAS;gBACX,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;oBACvD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBAED,qFAAqF;gBACrF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACtB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;oBACnD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5F,SAAS;gBACX,CAAC;gBAED,yBAAyB;gBACzB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC3B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBACxD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5F,SAAS;gBACX,CAAC;gBAED,wCAAwC;gBACxC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnC,CAAC;oBACF,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACtB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;wBACnD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAChG,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBACxC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnC,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,QAAQ,CAAC,eAAe,EAAE,CAAC;wBAC3B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;wBACxD,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACjG,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,0BAA0B;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,aAAa;oBAClB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oBAAoB;gBACpB,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1H,SAAS;YACX,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,qBAAqB,GAAG,WAAW;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;aACpC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA+E,CAAC,CAAC;QAEtF,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YACvC,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,QAAQ,EAAE;gBACR,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C;YACD,qBAAqB;YACrB,mBAAmB,EAAE,WAAW;iBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;iBACpC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACnB,CAAC,CAAC;QAEH,OAAO;YACL,UAAU;YACV,QAAQ;YACR,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB;QAC1C,oCAAoC;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B;QAC3B,MAAM,uBAAuB,GAAG,qFAAqF,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrI,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yFAAyF;QACzF,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,oBAAoB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,gBAAgB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,2DAA2D;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,KAAoB;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEnD,2BAA2B;QAC3B,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACvE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACtD,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAChE,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACjE,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAoB;QAUjD,MAAM,kBAAkB,GAAG,GAAG,CAAC;QAC/B,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;YACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC;YAElC,kBAAkB,IAAI,aAAa,CAAC;YACpC,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAEpD,8BAA8B;YAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChF,IAAI,QAAQ,IAAI,aAAa,GAAG,kBAAkB,EAAE,CAAC;gBACnD,cAAc,EAAE,CAAC;YACnB,CAAC;YAED,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;gBACxC,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;YAED,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,kCAAkC;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QAErG,qCAAqC;QACrC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1F,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO;YACL,oBAAoB;YACpB,oBAAoB;YACpB,cAAc;YACd,cAAc,EAAE,cAAc;YAC9B,gBAAgB;YAChB,WAAW;YACX,gBAAgB;YAChB,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,YAAoB,EAAE,QAAgB;QACnE,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kCAAkC;QAClC,IAAI,YAAY,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE/D,0DAA0D;YAC1D,IAAI,OAAO,CAAC,oBAAoB;gBAC5B,OAAO,CAAC,gBAAgB,GAAG,GAAG;gBAC9B,OAAO,CAAC,WAAW,GAAG,GAAG;gBACzB,YAAY,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACnE,YAAY;oBACZ,QAAQ;oBACR,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC5C,CAAC,CAAC;gBACH,mCAAmC;YACrC,CAAC;YAED,sBAAsB;YACtB,IAAI,YAAY,IAAI,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBAC/D,YAAY;oBACZ,QAAQ;oBACR,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3C,UAAU,EAAE,uDAAuD;iBACpE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,UAAU,GAAG,CAAC;QAC1D,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxE,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;YAED,oBAAoB;YACpB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAEjD,IAAI,WAAW,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBAChF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACjC,GAAG;oBACH,UAAU,EAAE,UAAU,GAAG,CAAC;oBAC1B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;oBACnC,KAAK;oBACL,SAAS;iBACV,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,uCAAuC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAAC,GAAW;QAC9C,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAErD,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;YACzC,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAc,CAAC;QAEhD,2BAA2B;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAExD,OAAO;YACL,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,yCAAyC;YAC5E,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,KAAK;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAe,EAAE,GAAW;QAQhD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,QAAQ,GAAwD,EAAE,CAAC;QACzE,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,MAAM,QAAQ,GAA+D,EAAE,CAAC;QAChF,MAAM,KAAK,GAA8D,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM;YACR,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAG,mBAAmB,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAE5E,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,IAAI,KAAK,EAAE;oBAClB,IAAI;oBACJ,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACrB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI;oBACJ,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC7D,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAG,0BAA0B,CAAC;QAC7C,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhC,eAAe;YACf,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,IAAI,WAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpE,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC3C,CAAC;gBAED,kBAAkB;gBAClB,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExC,iEAAiE;gBACjE,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;oBAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAEvC,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI;wBACJ,GAAG,EAAE,WAAW;wBAChB,UAAU,EAAE,UAAU,KAAK,UAAU;qBACtC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oBAAoB;gBACpB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,cAAc,GAA+D,IAAI,CAAC;QACtF,IAAI,cAAc,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,WAAW,EAAE,CAAC;gBAChB,wBAAwB;gBACxB,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1D,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAED,oBAAoB;gBACpB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,cAAc,GAAG;oBACf,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACzE,CAAC;gBACF,cAAc,GAAG,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,KAAK,IAAI,UAAU;YAC1B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAc;QAClC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE3C,iBAAiB;QACjB,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrG,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,cAAc;QACd,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,eAAe,CAAC;YACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,gBAAgB,CAAC;YACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,mBAAmB,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,gBAAgB,CAAC;YACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClF,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAc;QACrC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE5C,mBAAmB;QACnB,MAAM,cAAc,GAAG;YACrB,cAAc;YACd,cAAc;YACd,iBAAiB;YACjB,gBAAgB;YAChB,aAAa,EAAE,gBAAgB;SAChC,CAAC;QAEF,OAAO,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,SAAS,GAA2B,EAAE,CAAC;QAE7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;YAC9D,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,OAAe;QACtC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACvC,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,+CAA+C;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAClD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC1C,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC/C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC1C,KAAK,EAAE,aAAa,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBAEH,iCAAiC;gBACjC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;oBAChD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAW;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,kCAAkC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,wBAAwB;YACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACtC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC3B,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACvC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gBAAgB;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;YACjC,kEAAkE;YAElE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACvC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAW;QAClC,OAAO,GAAG;aACP,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"doc-crawler.js","sourceRoot":"","sources":["../../src/documentation/doc-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"AAiBA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,UAAU,CAAwB;;IAoC1C,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"AAiBA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,UAAU,CAAwB;;IAoC1C,OAAO,CAAC,UAAU;IA4wBlB,OAAO,CAAC,cAAc;IAqDhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAO3B"}
|
|
@@ -407,7 +407,7 @@ export class SafeCoderMCPServer {
|
|
|
407
407
|
// Register crawl_documentation tool
|
|
408
408
|
this.server.registerTool('crawl_documentation', {
|
|
409
409
|
title: 'Crawl Documentation and Generate Agent Skill',
|
|
410
|
-
description: 'Recursively crawl websites starting from a root URL using HTTP client (axios). Can crawl any website with extractable content, not just documentation. Supports BFS/DFS strategies, parallel crawling, checkpoint/resume, llms.txt detection, and
|
|
410
|
+
description: 'Recursively crawl websites starting from a root URL using HTTP client (axios). Can crawl any website with extractable content, not just documentation. Supports BFS/DFS strategies, parallel crawling, checkpoint/resume, llms.txt detection, Markdown files, and intelligent SPA rendering. For SPA sites (React, Vue, Angular), the system intelligently switches between HTTP and browser rendering (puppeteer) based on content quality. Automatically detects and uses system Chrome/Chromium/Edge browser. Follows links within the same domain, extracts content from multiple pages, and generates structured agent skill output in Claude skill format (SKILL.md with references/ directory). The tool automatically detects content boundaries, follows links within the same domain, and generates Markdown-formatted skill output. Returns abandon flag if content is insufficient for skill generation. Trigger phrases (English): "crawl website", "generate skill from", "scrape site", "create agent skill from", "crawl from", "recursive crawl", "crawl SPA site". Trigger phrases (Chinese): "爬取网站", "生成技能", "抓取网站", "从网站生成技能", "递归抓取", "嵌套爬取", "爬取SPA网站".',
|
|
411
411
|
inputSchema: {
|
|
412
412
|
url: z.string().describe('Root URL to start crawling from (any website with extractable content)'),
|
|
413
413
|
crawlStrategy: z.enum(['bfs', 'dfs']).optional().describe('Crawl strategy: bfs (breadth-first, layer by layer) or dfs (depth-first, follow one path deep). Default: bfs'),
|
|
@@ -427,6 +427,11 @@ export class SafeCoderMCPServer {
|
|
|
427
427
|
file: z.string().optional().describe('Custom checkpoint file path'),
|
|
428
428
|
}).optional().describe('Checkpoint configuration for resuming interrupted crawls'),
|
|
429
429
|
resume: z.boolean().optional().describe('Resume from last checkpoint if available (requires checkpoint.enabled=true)'),
|
|
430
|
+
spaStrategy: z.enum(['smart', 'auto', 'manual']).optional().describe('SPA handling strategy: smart (try HTTP first, auto switch to browser if needed), auto (use browser for detected SPA), manual (only with useBrowserAutomation=true). Default: smart'),
|
|
431
|
+
spaFallback: z.enum(['warn', 'skip', 'error']).optional().describe('Behavior when browser rendering fails: warn (show installation guide), skip (return empty page), error (throw error). Default: warn'),
|
|
432
|
+
browserPath: z.string().optional().describe('Custom Chrome/Chromium executable path. If not set, auto-detect system browser.'),
|
|
433
|
+
waitForTimeout: z.number().optional().describe('Milliseconds to wait for content loading in browser mode (default: 3000)'),
|
|
434
|
+
networkIdleTimeout: z.number().optional().describe('Milliseconds to wait for network idle in browser mode (default: 500)'),
|
|
430
435
|
outputDir: z.string().optional().describe('Directory to save skill files (default: no file saved, only returns content)'),
|
|
431
436
|
filename: z.string().optional().describe('Custom filename for skill file (without extension)'),
|
|
432
437
|
},
|
|
@@ -473,7 +478,7 @@ export class SafeCoderMCPServer {
|
|
|
473
478
|
}, async (args) => {
|
|
474
479
|
const requestId = logger.generateRequestId();
|
|
475
480
|
const startTime = Date.now();
|
|
476
|
-
const { url, crawlStrategy, maxDepth, maxPages, includePaths, excludePaths, rateLimit, maxRetries, retryDelay, useBrowserAutomation, skipLlmsTxt, workers, checkpoint, resume, outputDir, filename } = args;
|
|
481
|
+
const { url, crawlStrategy, maxDepth, maxPages, includePaths, excludePaths, rateLimit, maxRetries, retryDelay, useBrowserAutomation, skipLlmsTxt, workers, checkpoint, resume, spaStrategy, spaFallback, browserPath, waitForTimeout, networkIdleTimeout, outputDir, filename } = args;
|
|
477
482
|
logger.toolInvoked('crawl_documentation', requestId, {
|
|
478
483
|
url,
|
|
479
484
|
crawlStrategy,
|
|
@@ -483,6 +488,9 @@ export class SafeCoderMCPServer {
|
|
|
483
488
|
workers,
|
|
484
489
|
checkpoint: checkpoint?.enabled,
|
|
485
490
|
resume,
|
|
491
|
+
spaStrategy,
|
|
492
|
+
spaFallback,
|
|
493
|
+
browserPath: browserPath ? 'custom' : 'auto-detect',
|
|
486
494
|
outputDir
|
|
487
495
|
});
|
|
488
496
|
try {
|
|
@@ -534,7 +542,16 @@ export class SafeCoderMCPServer {
|
|
|
534
542
|
file: checkpoint.file,
|
|
535
543
|
} : undefined,
|
|
536
544
|
resume,
|
|
545
|
+
spaStrategy,
|
|
546
|
+
spaFallback,
|
|
547
|
+
browserConfig: {
|
|
548
|
+
executablePath: browserPath,
|
|
549
|
+
waitForTimeout,
|
|
550
|
+
networkIdleTimeout,
|
|
551
|
+
},
|
|
537
552
|
});
|
|
553
|
+
// Cleanup browser resources
|
|
554
|
+
await this.docCrawler.cleanup();
|
|
538
555
|
// If browser automation was requested and SPA detected, provide clear guidance
|
|
539
556
|
if (useBrowserAutomation && browserAutomationNeeded) {
|
|
540
557
|
logger.warn('Browser automation is required for this SPA site', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gulibs/safe-coder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.26",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -29,13 +29,19 @@
|
|
|
29
29
|
"@modelcontextprotocol/sdk": "^1.22.0",
|
|
30
30
|
"@typescript-eslint/typescript-estree": "^8.48.0",
|
|
31
31
|
"axios": "^1.13.2",
|
|
32
|
+
"cheerio": "^1.0.0",
|
|
33
|
+
"chrome-launcher": "^1.1.2",
|
|
32
34
|
"eslint": "^8.57.1",
|
|
33
35
|
"eslint-plugin-react": "^7.37.5",
|
|
34
36
|
"eslint-plugin-security": "^3.0.1",
|
|
35
37
|
"http-proxy-agent": "^7.0.2",
|
|
36
38
|
"https-proxy-agent": "^7.0.6",
|
|
39
|
+
"puppeteer-core": "^21.11.0",
|
|
37
40
|
"zod": "^3.25.76"
|
|
38
41
|
},
|
|
42
|
+
"optionalDependencies": {
|
|
43
|
+
"puppeteer": "^21.11.0"
|
|
44
|
+
},
|
|
39
45
|
"devDependencies": {
|
|
40
46
|
"@types/eslint": "^9.6.1",
|
|
41
47
|
"@types/node": "^20.0.0",
|