xx-ai-cli 0.1.5 → 0.1.7
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/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +32 -25
- package/dist/commands/agent.js.map +1 -1
- package/dist/core/files.d.ts +1 -1
- package/dist/core/files.d.ts.map +1 -1
- package/dist/core/files.js +10 -5
- package/dist/core/files.js.map +1 -1
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/search.js +65 -66
- package/dist/core/search.js.map +1 -1
- package/dist/core/tools.d.ts +12 -12
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +54 -29
- package/dist/core/tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAehF,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAehF,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgDD,wBAAgB,gBAAgB,IAAI,IAAI,CAoBvC;AAGD,wBAAsB,YAAY,CAChC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmIf"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -6,30 +6,31 @@ import { chat } from '../core/stream.js';
|
|
|
6
6
|
import { TOOL_DEFINITIONS, executeTool } from '../core/tools.js';
|
|
7
7
|
import { theme, printBanner } from '../ui/renderer.js';
|
|
8
8
|
import { createTask, saveTask, loadTask, loadAllTasks, deleteTask, } from '../core/agentTask.js';
|
|
9
|
-
const MAX_CONSECUTIVE_ERRORS = 3;
|
|
10
|
-
|
|
9
|
+
const MAX_CONSECUTIVE_ERRORS = 3;
|
|
10
|
+
// 历史消息滑动窗口:保留 system + 最近 N 条,避免上下文无限膨胀
|
|
11
|
+
const HISTORY_WINDOW = 20;
|
|
12
|
+
const AGENT_SYSTEM_PROMPT = `你是 XX-AI Agent,运行在命令行终端。工作目录:${process.cwd()}
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
当前工作目录:${process.cwd()}`;
|
|
14
|
+
规则:
|
|
15
|
+
- 安装工具直接用 run_command: "xxcli install <工具名>",禁止先搜索
|
|
16
|
+
- 修改文件优先用 replace_in_file(比 write_file 省 token)
|
|
17
|
+
- 用中文简洁回复,不要重复已知信息
|
|
18
|
+
- 每步只做一件事,完成后再继续`;
|
|
19
|
+
/** 滑动窗口:system 消息永久保留,其余保留最近 N 条 */
|
|
20
|
+
function slidingWindow(messages) {
|
|
21
|
+
const system = messages.filter((m) => m.role === 'system');
|
|
22
|
+
const rest = messages.filter((m) => m.role !== 'system');
|
|
23
|
+
if (rest.length <= HISTORY_WINDOW)
|
|
24
|
+
return messages;
|
|
25
|
+
// 必须保留成对的 tool_call + tool_result,从最新往前取
|
|
26
|
+
const kept = [];
|
|
27
|
+
let i = rest.length - 1;
|
|
28
|
+
while (i >= 0 && kept.length < HISTORY_WINDOW) {
|
|
29
|
+
kept.unshift(rest[i]);
|
|
30
|
+
i--;
|
|
31
|
+
}
|
|
32
|
+
return [...system, ...kept];
|
|
33
|
+
}
|
|
33
34
|
// ─── 任务列表展示 ─────────────────────────────────────────────
|
|
34
35
|
function formatDate(iso) {
|
|
35
36
|
if (!iso)
|
|
@@ -208,8 +209,14 @@ async function runAgentLoop(userInput, initialMessages, modelConfig, providerLab
|
|
|
208
209
|
process.stdout.write(`\n${chalk.magenta.bold(`[步骤 ${step}/${maxSteps}]`)} ${chalk.green.bold(`🤖 ${providerLabel}`)}: `);
|
|
209
210
|
try {
|
|
210
211
|
let hasStartedOutput = false;
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
// 应用滑动窗口,截断过长历史,节省 token
|
|
213
|
+
const windowedMessages = slidingWindow(messages);
|
|
214
|
+
const trimmedCount = messages.filter(m => m.role !== 'system').length - windowedMessages.filter(m => m.role !== 'system').length;
|
|
215
|
+
if (trimmedCount > 0) {
|
|
216
|
+
process.stdout.write(chalk.dim(` [历史已压缩,节省 ~${trimmedCount * 50} tokens] `));
|
|
217
|
+
}
|
|
218
|
+
const response = await chat(modelConfig, windowedMessages, {
|
|
219
|
+
stream: config.get('stream') !== false,
|
|
213
220
|
tools: TOOL_DEFINITIONS,
|
|
214
221
|
onChunk: (chunk) => {
|
|
215
222
|
// 流式输出 AI 的思考文字
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/core/files.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface FileInfo {
|
|
|
6
6
|
modified?: string;
|
|
7
7
|
}
|
|
8
8
|
/** 读取文件内容 */
|
|
9
|
-
export declare function readFile(filePath: string, maxLines?: number): string;
|
|
9
|
+
export declare function readFile(filePath: string, maxLines?: number, offset?: number): string;
|
|
10
10
|
/** 写入文件(自动创建目录) */
|
|
11
11
|
export declare function writeFile(filePath: string, content: string): void;
|
|
12
12
|
/** 追加内容到文件 */
|
package/dist/core/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAkBhF;AAED,mBAAmB;AACnB,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKjE;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGlE;AAED,aAAa;AACb,wBAAgB,OAAO,CAAC,OAAO,SAAM,EAAE,UAAU,UAAQ,GAAG,QAAQ,EAAE,CA0BrE;AAED,uBAAuB;AACvB,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,SAAM,EACb,QAAQ,SAAM,GACb,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,gBAAgB;AAChB,wBAAsB,cAAc,CAAC,OAAO,SAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ9E;AAED,iBAAiB;AACjB,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxF;AAED,cAAc;AACd,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD"}
|
package/dist/core/files.js
CHANGED
|
@@ -2,17 +2,22 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { run } from './executor.js';
|
|
4
4
|
/** 读取文件内容 */
|
|
5
|
-
export function readFile(filePath, maxLines) {
|
|
5
|
+
export function readFile(filePath, maxLines, offset = 0) {
|
|
6
6
|
const resolved = path.resolve(filePath);
|
|
7
7
|
if (!fs.existsSync(resolved))
|
|
8
8
|
throw new Error(`文件不存在: ${resolved}`);
|
|
9
9
|
const content = fs.readFileSync(resolved, 'utf-8');
|
|
10
|
-
if (!maxLines)
|
|
11
|
-
return content;
|
|
12
10
|
const lines = content.split('\n');
|
|
13
|
-
|
|
11
|
+
const total = lines.length;
|
|
12
|
+
if (!maxLines && offset === 0)
|
|
14
13
|
return content;
|
|
15
|
-
|
|
14
|
+
const start = Math.min(offset, total);
|
|
15
|
+
const end = maxLines ? Math.min(start + maxLines, total) : total;
|
|
16
|
+
const sliced = lines.slice(start, end).join('\n');
|
|
17
|
+
const suffix = end < total
|
|
18
|
+
? `\n\n... (共 ${total} 行,当前显示第 ${start + 1}~${end} 行,可用 offset=${end} 继续读取)`
|
|
19
|
+
: '';
|
|
20
|
+
return sliced + suffix;
|
|
16
21
|
}
|
|
17
22
|
/** 写入文件(自动创建目录) */
|
|
18
23
|
export function writeFile(filePath, content) {
|
package/dist/core/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAUpC,aAAa;AACb,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,QAAiB;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8MD,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAoC3F;AAED,0BAA0B;AAC1B,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAMhE"}
|
package/dist/core/search.js
CHANGED
|
@@ -1,67 +1,73 @@
|
|
|
1
1
|
import { config } from './config.js';
|
|
2
|
-
// ───
|
|
3
|
-
async function
|
|
2
|
+
// ─── 必应搜索(国内可访问,无需 API Key)─────────────────────
|
|
3
|
+
async function searchBing(query, maxResults) {
|
|
4
4
|
const controller = new AbortController();
|
|
5
|
-
const
|
|
5
|
+
const timer = setTimeout(() => controller.abort(), 10000);
|
|
6
6
|
try {
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const iaRes = await fetch(iaUrl, {
|
|
7
|
+
const url = `https://cn.bing.com/search?q=${encodeURIComponent(query)}&count=${maxResults}&setlang=zh-CN&cc=CN`;
|
|
8
|
+
const res = await fetch(url, {
|
|
10
9
|
signal: controller.signal,
|
|
11
|
-
headers: {
|
|
10
|
+
headers: {
|
|
11
|
+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
12
|
+
'Accept': 'text/html,application/xhtml+xml',
|
|
13
|
+
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
|
14
|
+
'Accept-Encoding': 'gzip, deflate',
|
|
15
|
+
},
|
|
12
16
|
});
|
|
13
|
-
clearTimeout(
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
clearTimeout(timer);
|
|
18
|
+
if (!res.ok)
|
|
19
|
+
throw new Error(`必应搜索返回 HTTP ${res.status}`);
|
|
20
|
+
const html = await res.text();
|
|
21
|
+
const results = [];
|
|
22
|
+
// 匹配 Bing 搜索结果块 <li class="b_algo">
|
|
23
|
+
const blocks = html.match(/<li class="b_algo"[\s\S]*?<\/li>/g) ?? [];
|
|
24
|
+
for (const block of blocks) {
|
|
25
|
+
if (results.length >= maxResults)
|
|
26
|
+
break;
|
|
27
|
+
// 提取标题和 URL
|
|
28
|
+
const linkMatch = block.match(/<h2[^>]*>\s*<a[^>]+href="([^"]+)"[^>]*>([\s\S]*?)<\/a>/);
|
|
29
|
+
// 提取摘要
|
|
30
|
+
const snippetMatch = block.match(/<p[^>]*>([\s\S]*?)<\/p>/);
|
|
31
|
+
if (linkMatch) {
|
|
32
|
+
const url = linkMatch[1];
|
|
33
|
+
const title = linkMatch[2].replace(/<[^>]+>/g, '').trim();
|
|
34
|
+
const snippet = snippetMatch
|
|
35
|
+
? snippetMatch[1].replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim().slice(0, 300)
|
|
36
|
+
: '';
|
|
37
|
+
if (title && url && !url.startsWith('javascript')) {
|
|
38
|
+
results.push({ title, url, snippet });
|
|
28
39
|
}
|
|
29
40
|
}
|
|
30
|
-
if (results.length > 0)
|
|
31
|
-
return results.slice(0, maxResults);
|
|
32
41
|
}
|
|
42
|
+
if (results.length > 0)
|
|
43
|
+
return results;
|
|
33
44
|
}
|
|
34
|
-
catch {
|
|
35
|
-
clearTimeout(
|
|
36
|
-
|
|
37
|
-
return [{
|
|
38
|
-
title: '搜索不可用',
|
|
39
|
-
url: '',
|
|
40
|
-
snippet: `[搜索不可用] DuckDuckGo 无法访问(网络受限或未配置代理)。` +
|
|
41
|
-
`请改用 xxcli search-config set serper --key <API_KEY> 配置搜索引擎,` +
|
|
42
|
-
`或直接使用 xxcli install ${query.split(' ')[0]} 命令尝试安装。`,
|
|
43
|
-
}];
|
|
45
|
+
catch (err) {
|
|
46
|
+
clearTimeout(timer);
|
|
47
|
+
throw err;
|
|
44
48
|
}
|
|
45
|
-
|
|
49
|
+
throw new Error('必应搜索未返回结果');
|
|
50
|
+
}
|
|
51
|
+
// ─── DuckDuckGo(国外网络备用)───────────────────────────────
|
|
52
|
+
async function searchDuckDuckGo(query, maxResults) {
|
|
53
|
+
const controller = new AbortController();
|
|
54
|
+
const timeout = setTimeout(() => controller.abort(), 8000);
|
|
46
55
|
try {
|
|
47
|
-
const htmlController = new AbortController();
|
|
48
|
-
const htmlTimeout = setTimeout(() => htmlController.abort(), 8000);
|
|
49
56
|
const htmlUrl = `https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`;
|
|
50
57
|
const htmlRes = await fetch(htmlUrl, {
|
|
51
|
-
signal:
|
|
58
|
+
signal: controller.signal,
|
|
52
59
|
headers: {
|
|
53
|
-
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
|
|
60
|
+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
|
|
54
61
|
'Accept': 'text/html',
|
|
55
|
-
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
|
56
62
|
},
|
|
57
63
|
});
|
|
58
|
-
clearTimeout(
|
|
64
|
+
clearTimeout(timeout);
|
|
59
65
|
if (!htmlRes.ok)
|
|
60
66
|
throw new Error(`HTTP ${htmlRes.status}`);
|
|
61
67
|
const html = await htmlRes.text();
|
|
62
68
|
const results = [];
|
|
63
|
-
const
|
|
64
|
-
for (const block of
|
|
69
|
+
const blocks = html.match(/<a class="result__a"[^>]+href="([^"]+)"[^>]*>([^<]+)<\/a>[\s\S]*?<a class="result__snippet"[^>]*>([\s\S]*?)<\/a>/g) ?? [];
|
|
70
|
+
for (const block of blocks) {
|
|
65
71
|
if (results.length >= maxResults)
|
|
66
72
|
break;
|
|
67
73
|
const urlMatch = block.match(/href="([^"]+)"/);
|
|
@@ -74,15 +80,12 @@ async function searchDuckDuckGo(query, maxResults) {
|
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
if (results.length > 0)
|
|
77
|
-
return results
|
|
83
|
+
return results;
|
|
78
84
|
}
|
|
79
|
-
catch {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
url: `https://duckduckgo.com/?q=${encodeURIComponent(query)}`,
|
|
84
|
-
snippet: `搜索 "${query}" 无结果。建议配置 Serper 或 Tavily 获得更好的搜索效果:xxcli search-config set serper --key <API_KEY>`,
|
|
85
|
-
}];
|
|
85
|
+
catch {
|
|
86
|
+
clearTimeout(timeout);
|
|
87
|
+
}
|
|
88
|
+
throw new Error('DuckDuckGo 搜索失败');
|
|
86
89
|
}
|
|
87
90
|
// ─── Serper(Google Search API,需要 API Key)────────────────
|
|
88
91
|
async function searchSerper(query, apiKey, maxResults) {
|
|
@@ -181,29 +184,25 @@ export async function webSearch(query, maxResults) {
|
|
|
181
184
|
results = await searchTavily(query, searchCfg.apiKey, limit);
|
|
182
185
|
}
|
|
183
186
|
else {
|
|
184
|
-
// 无 Key
|
|
185
|
-
results = await searchDuckDuckGo(query, limit);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch (err) {
|
|
189
|
-
// 降级到 DuckDuckGo 兜底(仍可能失败)
|
|
190
|
-
if (provider !== 'duckduckgo') {
|
|
187
|
+
// 无 Key 时:先尝试必应(国内可用),失败再降级 DuckDuckGo
|
|
191
188
|
try {
|
|
192
|
-
results = await
|
|
189
|
+
results = await searchBing(query, limit);
|
|
193
190
|
}
|
|
194
191
|
catch {
|
|
195
|
-
results =
|
|
196
|
-
title: '搜索不可用',
|
|
197
|
-
url: '',
|
|
198
|
-
snippet: `搜索服务暂不可用。推荐配置博查搜索(国内可用):\n xxcli search-config set bocha --key <API_KEY>\n获取 Key:https://open.bochaai.com`,
|
|
199
|
-
}];
|
|
192
|
+
results = await searchDuckDuckGo(query, limit);
|
|
200
193
|
}
|
|
201
194
|
}
|
|
202
|
-
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
// 全部失败时降级必应兜底
|
|
198
|
+
try {
|
|
199
|
+
results = await searchBing(query, limit);
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
203
202
|
results = [{
|
|
204
203
|
title: '搜索不可用',
|
|
205
204
|
url: '',
|
|
206
|
-
snippet:
|
|
205
|
+
snippet: `搜索服务暂不可用。\n· 免费方案:无需配置,默认已使用必应搜索(如仍失败请检查网络)\n· 推荐方案:配置博查搜索(稳定可用):xxcli search-config set bocha --key <KEY>\n 获取 Key(有免费额度):https://open.bochaai.com`,
|
|
207
206
|
}];
|
|
208
207
|
}
|
|
209
208
|
}
|
package/dist/core/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools.d.ts
CHANGED
|
@@ -13,9 +13,9 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
13
13
|
max_results: {
|
|
14
14
|
type: string;
|
|
15
15
|
description: string;
|
|
16
|
-
default: number;
|
|
17
16
|
};
|
|
18
17
|
path?: undefined;
|
|
18
|
+
offset?: undefined;
|
|
19
19
|
max_lines?: undefined;
|
|
20
20
|
content?: undefined;
|
|
21
21
|
search?: undefined;
|
|
@@ -44,7 +44,10 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
44
44
|
path: {
|
|
45
45
|
type: string;
|
|
46
46
|
description: string;
|
|
47
|
-
|
|
47
|
+
};
|
|
48
|
+
offset: {
|
|
49
|
+
type: string;
|
|
50
|
+
description: string;
|
|
48
51
|
};
|
|
49
52
|
max_lines: {
|
|
50
53
|
type: string;
|
|
@@ -79,7 +82,6 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
79
82
|
path: {
|
|
80
83
|
type: string;
|
|
81
84
|
description: string;
|
|
82
|
-
default?: undefined;
|
|
83
85
|
};
|
|
84
86
|
content: {
|
|
85
87
|
type: string;
|
|
@@ -87,6 +89,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
87
89
|
};
|
|
88
90
|
query?: undefined;
|
|
89
91
|
max_results?: undefined;
|
|
92
|
+
offset?: undefined;
|
|
90
93
|
max_lines?: undefined;
|
|
91
94
|
search?: undefined;
|
|
92
95
|
replace?: undefined;
|
|
@@ -114,7 +117,6 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
114
117
|
path: {
|
|
115
118
|
type: string;
|
|
116
119
|
description: string;
|
|
117
|
-
default?: undefined;
|
|
118
120
|
};
|
|
119
121
|
search: {
|
|
120
122
|
type: string;
|
|
@@ -126,6 +128,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
126
128
|
};
|
|
127
129
|
query?: undefined;
|
|
128
130
|
max_results?: undefined;
|
|
131
|
+
offset?: undefined;
|
|
129
132
|
max_lines?: undefined;
|
|
130
133
|
content?: undefined;
|
|
131
134
|
show_hidden?: undefined;
|
|
@@ -152,15 +155,14 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
152
155
|
path: {
|
|
153
156
|
type: string;
|
|
154
157
|
description: string;
|
|
155
|
-
default: string;
|
|
156
158
|
};
|
|
157
159
|
show_hidden: {
|
|
158
160
|
type: string;
|
|
159
161
|
description: string;
|
|
160
|
-
default: boolean;
|
|
161
162
|
};
|
|
162
163
|
query?: undefined;
|
|
163
164
|
max_results?: undefined;
|
|
165
|
+
offset?: undefined;
|
|
164
166
|
max_lines?: undefined;
|
|
165
167
|
content?: undefined;
|
|
166
168
|
search?: undefined;
|
|
@@ -188,15 +190,14 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
188
190
|
path: {
|
|
189
191
|
type: string;
|
|
190
192
|
description: string;
|
|
191
|
-
default: string;
|
|
192
193
|
};
|
|
193
194
|
depth: {
|
|
194
195
|
type: string;
|
|
195
196
|
description: string;
|
|
196
|
-
default: number;
|
|
197
197
|
};
|
|
198
198
|
query?: undefined;
|
|
199
199
|
max_results?: undefined;
|
|
200
|
+
offset?: undefined;
|
|
200
201
|
max_lines?: undefined;
|
|
201
202
|
content?: undefined;
|
|
202
203
|
search?: undefined;
|
|
@@ -228,15 +229,14 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
228
229
|
path: {
|
|
229
230
|
type: string;
|
|
230
231
|
description: string;
|
|
231
|
-
default: string;
|
|
232
232
|
};
|
|
233
233
|
file_glob: {
|
|
234
234
|
type: string;
|
|
235
235
|
description: string;
|
|
236
|
-
default: string;
|
|
237
236
|
};
|
|
238
237
|
query?: undefined;
|
|
239
238
|
max_results?: undefined;
|
|
239
|
+
offset?: undefined;
|
|
240
240
|
max_lines?: undefined;
|
|
241
241
|
content?: undefined;
|
|
242
242
|
search?: undefined;
|
|
@@ -271,6 +271,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
271
271
|
query?: undefined;
|
|
272
272
|
max_results?: undefined;
|
|
273
273
|
path?: undefined;
|
|
274
|
+
offset?: undefined;
|
|
274
275
|
max_lines?: undefined;
|
|
275
276
|
content?: undefined;
|
|
276
277
|
search?: undefined;
|
|
@@ -301,16 +302,15 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
301
302
|
global: {
|
|
302
303
|
type: string;
|
|
303
304
|
description: string;
|
|
304
|
-
default: boolean;
|
|
305
305
|
};
|
|
306
306
|
dev: {
|
|
307
307
|
type: string;
|
|
308
308
|
description: string;
|
|
309
|
-
default: boolean;
|
|
310
309
|
};
|
|
311
310
|
query?: undefined;
|
|
312
311
|
max_results?: undefined;
|
|
313
312
|
path?: undefined;
|
|
313
|
+
offset?: undefined;
|
|
314
314
|
max_lines?: undefined;
|
|
315
315
|
content?: undefined;
|
|
316
316
|
search?: undefined;
|
package/dist/core/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0I5B,CAAC;AAgCF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAoJzE"}
|
package/dist/core/tools.js
CHANGED
|
@@ -5,18 +5,33 @@ import { readFile, writeFile, listDir, grepFiles, getProjectTree, replaceInFile
|
|
|
5
5
|
import { run } from './executor.js';
|
|
6
6
|
import { config } from './config.js';
|
|
7
7
|
import { theme } from '../ui/renderer.js';
|
|
8
|
+
// ─── Token 预算常量 ───────────────────────────────────────────
|
|
9
|
+
const MAX_FILE_LINES = 200; // 单次读文件最多行数
|
|
10
|
+
const MAX_TOOL_OUTPUT_CHARS = 3000; // 工具返回内容最大字符数
|
|
11
|
+
const MAX_CMD_OUTPUT_CHARS = 2000; // 命令输出最大字符数
|
|
12
|
+
const MAX_SEARCH_RESULTS = 4; // 搜索最多返回条数
|
|
13
|
+
/** 截断过长输出,保留头尾,避免撑爆上下文 */
|
|
14
|
+
function truncate(text, maxChars, label = '内容') {
|
|
15
|
+
if (text.length <= maxChars)
|
|
16
|
+
return text;
|
|
17
|
+
const head = Math.floor(maxChars * 0.7);
|
|
18
|
+
const tail = maxChars - head;
|
|
19
|
+
return (text.slice(0, head) +
|
|
20
|
+
`\n\n...[${label}过长已截断,省略 ${text.length - maxChars} 字符]...\n\n` +
|
|
21
|
+
text.slice(-tail));
|
|
22
|
+
}
|
|
8
23
|
// ─── Tool 定义(OpenAI function calling 格式)─────────────────
|
|
9
24
|
export const TOOL_DEFINITIONS = [
|
|
10
25
|
{
|
|
11
26
|
type: 'function',
|
|
12
27
|
function: {
|
|
13
28
|
name: 'web_search',
|
|
14
|
-
description: '
|
|
29
|
+
description: '搜索互联网获取最新信息',
|
|
15
30
|
parameters: {
|
|
16
31
|
type: 'object',
|
|
17
32
|
properties: {
|
|
18
33
|
query: { type: 'string', description: '搜索关键词' },
|
|
19
|
-
max_results: { type: 'number', description:
|
|
34
|
+
max_results: { type: 'number', description: `返回结果数,默认${MAX_SEARCH_RESULTS}` },
|
|
20
35
|
},
|
|
21
36
|
required: ['query'],
|
|
22
37
|
},
|
|
@@ -26,12 +41,13 @@ export const TOOL_DEFINITIONS = [
|
|
|
26
41
|
type: 'function',
|
|
27
42
|
function: {
|
|
28
43
|
name: 'read_file',
|
|
29
|
-
description: '
|
|
44
|
+
description: '读取本地文件内容,超长文件自动截取前200行',
|
|
30
45
|
parameters: {
|
|
31
46
|
type: 'object',
|
|
32
47
|
properties: {
|
|
33
|
-
path: { type: 'string', description: '
|
|
34
|
-
|
|
48
|
+
path: { type: 'string', description: '文件路径' },
|
|
49
|
+
offset: { type: 'number', description: '从第几行开始读,默认0' },
|
|
50
|
+
max_lines: { type: 'number', description: `最多读取行数,默认${MAX_FILE_LINES}` },
|
|
35
51
|
},
|
|
36
52
|
required: ['path'],
|
|
37
53
|
},
|
|
@@ -41,12 +57,12 @@ export const TOOL_DEFINITIONS = [
|
|
|
41
57
|
type: 'function',
|
|
42
58
|
function: {
|
|
43
59
|
name: 'write_file',
|
|
44
|
-
description: '
|
|
60
|
+
description: '写入内容到文件(覆盖)',
|
|
45
61
|
parameters: {
|
|
46
62
|
type: 'object',
|
|
47
63
|
properties: {
|
|
48
64
|
path: { type: 'string', description: '文件路径' },
|
|
49
|
-
content: { type: 'string', description: '
|
|
65
|
+
content: { type: 'string', description: '写入内容' },
|
|
50
66
|
},
|
|
51
67
|
required: ['path', 'content'],
|
|
52
68
|
},
|
|
@@ -56,7 +72,7 @@ export const TOOL_DEFINITIONS = [
|
|
|
56
72
|
type: 'function',
|
|
57
73
|
function: {
|
|
58
74
|
name: 'replace_in_file',
|
|
59
|
-
description: '
|
|
75
|
+
description: '替换文件中的特定内容片段(比 write_file 更省 token)',
|
|
60
76
|
parameters: {
|
|
61
77
|
type: 'object',
|
|
62
78
|
properties: {
|
|
@@ -72,12 +88,12 @@ export const TOOL_DEFINITIONS = [
|
|
|
72
88
|
type: 'function',
|
|
73
89
|
function: {
|
|
74
90
|
name: 'list_files',
|
|
75
|
-
description: '
|
|
91
|
+
description: '列出目录文件',
|
|
76
92
|
parameters: {
|
|
77
93
|
type: 'object',
|
|
78
94
|
properties: {
|
|
79
|
-
path: { type: 'string', description: '目录路径,默认当前目录'
|
|
80
|
-
show_hidden: { type: 'boolean', description: '
|
|
95
|
+
path: { type: 'string', description: '目录路径,默认当前目录' },
|
|
96
|
+
show_hidden: { type: 'boolean', description: '显示隐藏文件' },
|
|
81
97
|
},
|
|
82
98
|
},
|
|
83
99
|
},
|
|
@@ -86,12 +102,12 @@ export const TOOL_DEFINITIONS = [
|
|
|
86
102
|
type: 'function',
|
|
87
103
|
function: {
|
|
88
104
|
name: 'project_tree',
|
|
89
|
-
description: '
|
|
105
|
+
description: '获取项目目录树(排除 node_modules/.git)',
|
|
90
106
|
parameters: {
|
|
91
107
|
type: 'object',
|
|
92
108
|
properties: {
|
|
93
|
-
path: { type: 'string', description: '
|
|
94
|
-
depth: { type: 'number', description: '目录深度,默认3'
|
|
109
|
+
path: { type: 'string', description: '根目录,默认当前目录' },
|
|
110
|
+
depth: { type: 'number', description: '目录深度,默认3' },
|
|
95
111
|
},
|
|
96
112
|
},
|
|
97
113
|
},
|
|
@@ -100,13 +116,13 @@ export const TOOL_DEFINITIONS = [
|
|
|
100
116
|
type: 'function',
|
|
101
117
|
function: {
|
|
102
118
|
name: 'grep_files',
|
|
103
|
-
description: '
|
|
119
|
+
description: '在文件中搜索指定内容',
|
|
104
120
|
parameters: {
|
|
105
121
|
type: 'object',
|
|
106
122
|
properties: {
|
|
107
|
-
pattern: { type: 'string', description: '
|
|
108
|
-
path: { type: 'string', description: '搜索目录,默认当前目录'
|
|
109
|
-
file_glob: { type: 'string', description: '文件过滤,如 *.ts'
|
|
123
|
+
pattern: { type: 'string', description: '搜索模式' },
|
|
124
|
+
path: { type: 'string', description: '搜索目录,默认当前目录' },
|
|
125
|
+
file_glob: { type: 'string', description: '文件过滤,如 *.ts' },
|
|
110
126
|
},
|
|
111
127
|
required: ['pattern'],
|
|
112
128
|
},
|
|
@@ -116,12 +132,12 @@ export const TOOL_DEFINITIONS = [
|
|
|
116
132
|
type: 'function',
|
|
117
133
|
function: {
|
|
118
134
|
name: 'run_command',
|
|
119
|
-
description: '
|
|
135
|
+
description: '执行 Shell 命令',
|
|
120
136
|
parameters: {
|
|
121
137
|
type: 'object',
|
|
122
138
|
properties: {
|
|
123
|
-
command: { type: 'string', description: '
|
|
124
|
-
description: { type: 'string', description: '
|
|
139
|
+
command: { type: 'string', description: 'shell 命令' },
|
|
140
|
+
description: { type: 'string', description: '命令用途说明' },
|
|
125
141
|
},
|
|
126
142
|
required: ['command'],
|
|
127
143
|
},
|
|
@@ -135,9 +151,9 @@ export const TOOL_DEFINITIONS = [
|
|
|
135
151
|
parameters: {
|
|
136
152
|
type: 'object',
|
|
137
153
|
properties: {
|
|
138
|
-
package: { type: 'string', description: '
|
|
139
|
-
global: { type: 'boolean', description: '是否全局安装'
|
|
140
|
-
dev: { type: 'boolean', description: '
|
|
154
|
+
package: { type: 'string', description: '包名' },
|
|
155
|
+
global: { type: 'boolean', description: '是否全局安装' },
|
|
156
|
+
dev: { type: 'boolean', description: '是否为 devDependencies' },
|
|
141
157
|
},
|
|
142
158
|
required: ['package'],
|
|
143
159
|
},
|
|
@@ -182,15 +198,20 @@ export async function executeTool(toolCall) {
|
|
|
182
198
|
try {
|
|
183
199
|
switch (name) {
|
|
184
200
|
case 'web_search': {
|
|
185
|
-
const
|
|
201
|
+
const maxR = Math.min(args.max_results ?? MAX_SEARCH_RESULTS, MAX_SEARCH_RESULTS);
|
|
202
|
+
const resp = await webSearch(args.query, maxR);
|
|
186
203
|
result = formatSearchResults(resp);
|
|
204
|
+
result = truncate(result, MAX_TOOL_OUTPUT_CHARS, '搜索结果');
|
|
187
205
|
console.log(theme.dim(` → 搜索完成,获得 ${resp.results.length} 条结果`));
|
|
188
206
|
break;
|
|
189
207
|
}
|
|
190
208
|
case 'read_file': {
|
|
191
|
-
|
|
209
|
+
const maxLines = Math.min(args.max_lines ?? MAX_FILE_LINES, MAX_FILE_LINES);
|
|
210
|
+
const offset = args.offset ?? 0;
|
|
211
|
+
result = readFile(args.path, maxLines, offset);
|
|
212
|
+
result = truncate(result, MAX_TOOL_OUTPUT_CHARS, '文件内容');
|
|
192
213
|
const lines = result.split('\n').length;
|
|
193
|
-
console.log(theme.dim(` → 读取文件成功,${lines}
|
|
214
|
+
console.log(theme.dim(` → 读取文件成功,${lines} 行(最多 ${MAX_FILE_LINES} 行)`));
|
|
194
215
|
break;
|
|
195
216
|
}
|
|
196
217
|
case 'write_file': {
|
|
@@ -225,11 +246,13 @@ export async function executeTool(toolCall) {
|
|
|
225
246
|
}
|
|
226
247
|
case 'project_tree': {
|
|
227
248
|
result = await getProjectTree(args.path ?? '.', args.depth ?? 3);
|
|
249
|
+
result = truncate(result, MAX_TOOL_OUTPUT_CHARS, '目录树');
|
|
228
250
|
console.log(theme.dim(' → 获取项目结构完成'));
|
|
229
251
|
break;
|
|
230
252
|
}
|
|
231
253
|
case 'grep_files': {
|
|
232
254
|
result = await grepFiles(args.pattern, args.path ?? '.', args.file_glob ?? '*');
|
|
255
|
+
result = truncate(result, MAX_TOOL_OUTPUT_CHARS, 'grep 结果');
|
|
233
256
|
console.log(theme.dim(` → grep 完成`));
|
|
234
257
|
break;
|
|
235
258
|
}
|
|
@@ -247,7 +270,8 @@ export async function executeTool(toolCall) {
|
|
|
247
270
|
break;
|
|
248
271
|
}
|
|
249
272
|
try {
|
|
250
|
-
|
|
273
|
+
const raw = await run(cmd);
|
|
274
|
+
result = truncate(raw, MAX_CMD_OUTPUT_CHARS, '命令输出');
|
|
251
275
|
console.log(theme.dim(` → 执行完成`));
|
|
252
276
|
}
|
|
253
277
|
catch (e) {
|
|
@@ -268,7 +292,8 @@ export async function executeTool(toolCall) {
|
|
|
268
292
|
break;
|
|
269
293
|
}
|
|
270
294
|
try {
|
|
271
|
-
|
|
295
|
+
const raw = await run(cmd);
|
|
296
|
+
result = truncate(raw, MAX_CMD_OUTPUT_CHARS, 'npm 输出');
|
|
272
297
|
console.log(theme.success(` → npm 安装完成`));
|
|
273
298
|
}
|
|
274
299
|
catch (e) {
|
package/dist/core/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iCAAiC;YAC9C,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE;iBACvE;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;oBACtD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;iBAC1D;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,2BAA2B;YACxC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACnD;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC9B;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACnD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;iBACpD;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;aACxC;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;oBAClE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC1E;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,mCAAmC;YAChD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE;oBACnE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;iBAC/D;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;oBAClE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;iBACxE;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,6BAA6B;YAC1C,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;oBACzD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;iBACzD;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oBACxE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;oBAClE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC/E;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;CACF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,kBAAkB,GAAG;IACzB,mBAAmB;IACnB,WAAW;IACX,MAAM;IACN,UAAU;IACV,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;CAChB,CAAC;AAEF,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,IAAI,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7E,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACvD,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,CAAC;QAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACpG,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,IAAI,CAAC,KAAe,EACnB,IAAI,CAAC,WAAsB,IAAI,CAAC,CAClC,CAAC;gBACF,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,SAA+B,CAAC,CAAC;gBAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,KAAM,IAAI,CAAC,OAAkB,CAAC,MAAM,MAAM,CACpF,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,OAAiB,CAAC,CAAC;gBACvD,MAAM,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAC5C,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,aAAa,CAC5B,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,MAAgB,EACrB,IAAI,CAAC,OAAiB,CACvB,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,OAAO,CAClB,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,WAAuB,IAAI,KAAK,CACvC,CAAC;gBACF,MAAM,GAAG,KAAK;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBAC7G,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,MAAM,cAAc,CAC1B,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,KAAgB,IAAI,CAAC,CAC5B,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,GAAG,MAAM,SAAS,CACtB,IAAI,CAAC,OAAiB,EACrB,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,SAAoB,IAAI,GAAG,CAClC,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiB,CAAC;gBACnC,MAAM,IAAI,GAAI,IAAI,CAAC,WAAsB,IAAI,GAAG,CAAC;gBAEjD,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,cAAc,CAAC;oBACxB,MAAM;gBACR,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,UAAU,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAE/C,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiB,CAAC;gBACnC,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAkB,IAAI,KAAK,CAAC;gBACnD,MAAM,KAAK,GAAI,IAAI,CAAC,GAAe,IAAI,KAAK,CAAC;gBAC7C,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,MAAM,GAAG,GAAG,eAAe,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBAEjD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAE7C,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,SAAU,CAAW,CAAC,OAAO,EAAE,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YAED;gBACE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,EAAE;QACzB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,6DAA6D;AAC7D,MAAM,cAAc,GAAG,GAAG,CAAC,CAAQ,YAAY;AAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,cAAc;AAClD,MAAM,oBAAoB,GAAG,IAAI,CAAC,CAAE,YAAY;AAChD,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAO,WAAW;AAE/C,0BAA0B;AAC1B,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAK,GAAG,IAAI;IAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7B,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACnB,WAAW,KAAK,YAAY,IAAI,CAAC,MAAM,GAAG,QAAQ,aAAa;QAC/D,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAClB,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,kBAAkB,EAAE,EAAE;iBAC9E;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wBAAwB;YACrC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;oBACtD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,cAAc,EAAE,EAAE;iBACzE;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;iBACjD;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC9B;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,qCAAqC;YAClD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACnD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;iBACpD;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;aACxC;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;oBACpD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACxD;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,+BAA+B;YAC5C,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;oBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;iBACnD;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;oBACpD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;iBAC1D;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACpD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACvD;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;oBAC9C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAC7D;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;CACF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,kBAAkB,GAAG;IACzB,mBAAmB;IACnB,WAAW;IACX,MAAM;IACN,UAAU;IACV,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;CAChB,CAAC;AAEF,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,IAAI,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7E,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACvD,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,CAAC;QAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACpG,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,WAAsB,IAAI,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;gBAC9F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,SAAoB,IAAI,cAAc,EAAE,cAAc,CAAC,CAAC;gBACxF,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,CAAC,CAAC;gBAC5C,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,cAAc,KAAK,CAAC,CAAC,CAAC;gBACxE,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,KAAM,IAAI,CAAC,OAAkB,CAAC,MAAM,MAAM,CACpF,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,OAAiB,CAAC,CAAC;gBACvD,MAAM,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAC5C,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,aAAa,CAC5B,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,MAAgB,EACrB,IAAI,CAAC,OAAiB,CACvB,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,OAAO,CAClB,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,WAAuB,IAAI,KAAK,CACvC,CAAC;gBACF,MAAM,GAAG,KAAK;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBAC7G,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,MAAM,cAAc,CAC1B,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,KAAgB,IAAI,CAAC,CAC5B,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,GAAG,MAAM,SAAS,CACtB,IAAI,CAAC,OAAiB,EACrB,IAAI,CAAC,IAAe,IAAI,GAAG,EAC3B,IAAI,CAAC,SAAoB,IAAI,GAAG,CAClC,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiB,CAAC;gBACnC,MAAM,IAAI,GAAI,IAAI,CAAC,WAAsB,IAAI,GAAG,CAAC;gBAEjD,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,cAAc,CAAC;oBACxB,MAAM;gBACR,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,UAAU,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAE/C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiB,CAAC;gBACnC,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAkB,IAAI,KAAK,CAAC;gBACnD,MAAM,KAAK,GAAI,IAAI,CAAC,GAAe,IAAI,KAAK,CAAC;gBAC7C,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,MAAM,GAAG,GAAG,eAAe,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBAEjD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAE7C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,SAAU,CAAW,CAAC,OAAO,EAAE,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YAED;gBACE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,EAAE;QACzB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC"}
|