sema-core 2.0.15 → 2.1.0
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 +1 -31
- package/dist/core/Conversation.d.ts.map +1 -1
- package/dist/core/Conversation.js +10 -7
- package/dist/core/Conversation.js.map +1 -1
- package/dist/core/RunTools.d.ts.map +1 -1
- package/dist/core/RunTools.js +43 -8
- package/dist/core/RunTools.js.map +1 -1
- package/dist/core/SemaCore.d.ts +6 -2
- package/dist/core/SemaCore.d.ts.map +1 -1
- package/dist/core/SemaCore.js +5 -2
- package/dist/core/SemaCore.js.map +1 -1
- package/dist/core/SemaEngine.d.ts.map +1 -1
- package/dist/core/SemaEngine.js +45 -13
- package/dist/core/SemaEngine.js.map +1 -1
- package/dist/core/SemaSession.d.ts +3 -11
- package/dist/core/SemaSession.d.ts.map +1 -1
- package/dist/core/SemaSession.js +2 -10
- package/dist/core/SemaSession.js.map +1 -1
- package/dist/core/SessionPool.d.ts.map +1 -1
- package/dist/core/SessionPool.js +3 -2
- package/dist/core/SessionPool.js.map +1 -1
- package/dist/events/types.d.ts +11 -0
- package/dist/events/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/manager/ConfManager.d.ts +9 -1
- package/dist/manager/ConfManager.d.ts.map +1 -1
- package/dist/manager/ConfManager.js +25 -22
- package/dist/manager/ConfManager.js.map +1 -1
- package/dist/manager/ModelManager.d.ts +30 -2
- package/dist/manager/ModelManager.d.ts.map +1 -1
- package/dist/manager/ModelManager.js +103 -32
- package/dist/manager/ModelManager.js.map +1 -1
- package/dist/manager/PermissionManager.d.ts.map +1 -1
- package/dist/manager/PermissionManager.js +105 -41
- package/dist/manager/PermissionManager.js.map +1 -1
- package/dist/prompt/compact.d.ts +30 -1
- package/dist/prompt/compact.d.ts.map +1 -1
- package/dist/prompt/compact.js +75 -18
- package/dist/prompt/compact.js.map +1 -1
- package/dist/prompt/inputPredict.d.ts +2 -0
- package/dist/prompt/inputPredict.d.ts.map +1 -0
- package/dist/prompt/inputPredict.js +43 -0
- package/dist/prompt/inputPredict.js.map +1 -0
- package/dist/prompt/permission.d.ts +1 -1
- package/dist/prompt/permission.d.ts.map +1 -1
- package/dist/prompt/permission.js +49 -6
- package/dist/prompt/permission.js.map +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts.map +1 -1
- package/dist/prompt/tools/fetchUrl.js +3 -0
- package/dist/prompt/tools/fetchUrl.js.map +1 -1
- package/dist/services/agents/agentsManager.d.ts.map +1 -1
- package/dist/services/agents/agentsManager.js +3 -2
- package/dist/services/agents/agentsManager.js.map +1 -1
- package/dist/services/agents/genSystemReminder.d.ts +10 -1
- package/dist/services/agents/genSystemReminder.d.ts.map +1 -1
- package/dist/services/agents/genSystemReminder.js +48 -2
- package/dist/services/agents/genSystemReminder.js.map +1 -1
- package/dist/services/api/adapt/openai.d.ts.map +1 -1
- package/dist/services/api/adapt/openai.js +25 -4
- package/dist/services/api/adapt/openai.js.map +1 -1
- package/dist/services/api/adapt/util.d.ts +15 -0
- package/dist/services/api/adapt/util.d.ts.map +1 -1
- package/dist/services/api/adapt/util.js +54 -2
- package/dist/services/api/adapt/util.js.map +1 -1
- package/dist/services/api/apiUtil.d.ts.map +1 -1
- package/dist/services/api/apiUtil.js +8 -7
- package/dist/services/api/apiUtil.js.map +1 -1
- package/dist/services/api/queryLLM.d.ts.map +1 -1
- package/dist/services/api/queryLLM.js +22 -16
- package/dist/services/api/queryLLM.js.map +1 -1
- package/dist/services/commands/commandsManager.d.ts.map +1 -1
- package/dist/services/commands/commandsManager.js +3 -2
- package/dist/services/commands/commandsManager.js.map +1 -1
- package/dist/services/commands/runCommand.d.ts.map +1 -1
- package/dist/services/commands/runCommand.js +17 -6
- package/dist/services/commands/runCommand.js.map +1 -1
- package/dist/services/hooks/hookTriggers.d.ts.map +1 -1
- package/dist/services/hooks/hookTriggers.js +3 -2
- package/dist/services/hooks/hookTriggers.js.map +1 -1
- package/dist/services/mcp/MCPClient.d.ts.map +1 -1
- package/dist/services/mcp/MCPClient.js +18 -8
- package/dist/services/mcp/MCPClient.js.map +1 -1
- package/dist/services/mcp/MCPManager.d.ts +27 -12
- package/dist/services/mcp/MCPManager.d.ts.map +1 -1
- package/dist/services/mcp/MCPManager.js +189 -75
- package/dist/services/mcp/MCPManager.js.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.d.ts.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.js +128 -22
- package/dist/services/mcp/MCPToolAdapter.js.map +1 -1
- package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
- package/dist/services/plugins/pluginsManager.js +24 -11
- package/dist/services/plugins/pluginsManager.js.map +1 -1
- package/dist/services/skills/skillsManager.d.ts +18 -3
- package/dist/services/skills/skillsManager.d.ts.map +1 -1
- package/dist/services/skills/skillsManager.js +49 -4
- package/dist/services/skills/skillsManager.js.map +1 -1
- package/dist/tools/FetchUrl.d.ts.map +1 -1
- package/dist/tools/FetchUrl.js +10 -3
- package/dist/tools/FetchUrl.js.map +1 -1
- package/dist/tools/ListCrons.d.ts +1 -0
- package/dist/tools/ListCrons.d.ts.map +1 -1
- package/dist/tools/ListCrons.js +1 -0
- package/dist/tools/ListCrons.js.map +1 -1
- package/dist/tools/LoadTools.js +1 -1
- package/dist/tools/PeekBgJob.d.ts +2 -2
- package/dist/tools/PlanToAgent.d.ts.map +1 -1
- package/dist/tools/PlanToAgent.js +7 -4
- package/dist/tools/PlanToAgent.js.map +1 -1
- package/dist/tools/RunShell.d.ts.map +1 -1
- package/dist/tools/RunShell.js +4 -16
- package/dist/tools/RunShell.js.map +1 -1
- package/dist/tools/Skill.d.ts.map +1 -1
- package/dist/tools/Skill.js +3 -2
- package/dist/tools/Skill.js.map +1 -1
- package/dist/tools/base/Tool.d.ts +1 -0
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +7 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/model.d.ts +3 -0
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/session.d.ts +6 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/settings.d.ts +3 -1
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/types/skill.d.ts +2 -0
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/util/autoRunContext.d.ts +2 -0
- package/dist/util/autoRunContext.d.ts.map +1 -1
- package/dist/util/autoRunContext.js +2 -0
- package/dist/util/autoRunContext.js.map +1 -1
- package/dist/util/compact.d.ts +27 -10
- package/dist/util/compact.d.ts.map +1 -1
- package/dist/util/compact.js +403 -61
- package/dist/util/compact.js.map +1 -1
- package/dist/util/fetchUrl.d.ts +1 -0
- package/dist/util/fetchUrl.d.ts.map +1 -1
- package/dist/util/fetchUrl.js +34 -4
- package/dist/util/fetchUrl.js.map +1 -1
- package/dist/util/history.d.ts +1 -1
- package/dist/util/history.d.ts.map +1 -1
- package/dist/util/history.js +21 -5
- package/dist/util/history.js.map +1 -1
- package/dist/util/i18n/de.d.ts +92 -0
- package/dist/util/i18n/de.d.ts.map +1 -0
- package/dist/util/i18n/de.js +104 -0
- package/dist/util/i18n/de.js.map +1 -0
- package/dist/util/i18n/en.d.ts +92 -0
- package/dist/util/i18n/en.d.ts.map +1 -0
- package/dist/util/i18n/en.js +104 -0
- package/dist/util/i18n/en.js.map +1 -0
- package/dist/util/i18n/fr.d.ts +92 -0
- package/dist/util/i18n/fr.d.ts.map +1 -0
- package/dist/util/i18n/fr.js +104 -0
- package/dist/util/i18n/fr.js.map +1 -0
- package/dist/util/i18n/index.d.ts +7 -0
- package/dist/util/i18n/index.d.ts.map +1 -0
- package/dist/util/i18n/index.js +36 -0
- package/dist/util/i18n/index.js.map +1 -0
- package/dist/util/i18n/it.d.ts +92 -0
- package/dist/util/i18n/it.d.ts.map +1 -0
- package/dist/util/i18n/it.js +104 -0
- package/dist/util/i18n/it.js.map +1 -0
- package/dist/util/i18n/zh.d.ts +96 -0
- package/dist/util/i18n/zh.d.ts.map +1 -0
- package/dist/util/i18n/zh.js +107 -0
- package/dist/util/i18n/zh.js.map +1 -0
- package/dist/util/i18n.d.ts +98 -0
- package/dist/util/i18n.d.ts.map +1 -0
- package/dist/util/i18n.js +228 -0
- package/dist/util/i18n.js.map +1 -0
- package/dist/util/inputPredict.d.ts +15 -0
- package/dist/util/inputPredict.d.ts.map +1 -0
- package/dist/util/inputPredict.js +135 -0
- package/dist/util/inputPredict.js.map +1 -0
- package/dist/util/message.d.ts +1 -1
- package/dist/util/message.d.ts.map +1 -1
- package/dist/util/message.js +5 -2
- package/dist/util/message.js.map +1 -1
- package/dist/util/model.d.ts.map +1 -1
- package/dist/util/model.js +9 -3
- package/dist/util/model.js.map +1 -1
- package/dist/util/shell.d.ts.map +1 -1
- package/dist/util/shell.js +6 -1
- package/dist/util/shell.js.map +1 -1
- package/dist/util/shellSafety.d.ts +40 -4
- package/dist/util/shellSafety.d.ts.map +1 -1
- package/dist/util/shellSafety.js +545 -8
- package/dist/util/shellSafety.js.map +1 -1
- package/dist/util/tokens.d.ts +10 -2
- package/dist/util/tokens.d.ts.map +1 -1
- package/dist/util/tokens.js +19 -15
- package/dist/util/tokens.js.map +1 -1
- package/package.json +3 -1
|
@@ -24,6 +24,7 @@ const shellSafety_1 = require("../util/shellSafety");
|
|
|
24
24
|
const autoRunContext_1 = require("../util/autoRunContext");
|
|
25
25
|
const fetchSafety_1 = require("../util/fetchSafety");
|
|
26
26
|
const hookTriggers_1 = require("../services/hooks/hookTriggers");
|
|
27
|
+
const i18n_1 = require("../util/i18n");
|
|
27
28
|
// ==================== 辅助函数 ====================
|
|
28
29
|
function isPathInsideRoot(filePath, root) {
|
|
29
30
|
const abs = (0, path_1.isAbsolute)(filePath) ? filePath : (0, path_1.resolve)(root, filePath);
|
|
@@ -44,6 +45,30 @@ function isTrustedSemaFile(filePath) {
|
|
|
44
45
|
const semaRoot = (0, savePath_1.getSemaRootDir)();
|
|
45
46
|
return TRUSTED_SEMA_SUBDIRS.some(sub => isPathInsideRoot(abs, (0, path_1.join)(semaRoot, sub)));
|
|
46
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* 删除类命令(rm/rmdir/mv/find -delete)单个目标路径的允许范围裁决,
|
|
50
|
+
* 供 classifyDangerousCommand 回调。目标满足其一才允许交模型判断:
|
|
51
|
+
* - 落在系统临时目录树内(含临时目录自身)
|
|
52
|
+
* - 落在项目根内,且:literal 目标不得是项目根自身(rm -rf . 级联全删仍转人工),
|
|
53
|
+
* globdir 目标(rm dist/*、find . -delete 的所在目录)允许是项目根;
|
|
54
|
+
* 两种形态都排除 .git(删掉版本库即失去「项目内可恢复」的兜底)
|
|
55
|
+
* 其余(项目外、~、无法解析)一律不允许 → 确定性转人工。
|
|
56
|
+
*/
|
|
57
|
+
function isDeletableShellTarget(target, kind) {
|
|
58
|
+
const root = (0, cwd_1.readInitialCwd)();
|
|
59
|
+
const abs = (0, path_1.isAbsolute)(target) ? target : (0, path_1.resolve)(root, target);
|
|
60
|
+
if (isTempFile(abs))
|
|
61
|
+
return true;
|
|
62
|
+
const rel = (0, path_1.relative)((0, platform_1.normalizeCmpPath)(root), (0, platform_1.normalizeCmpPath)(abs));
|
|
63
|
+
if (rel.startsWith('..') || (0, path_1.isAbsolute)(rel))
|
|
64
|
+
return false;
|
|
65
|
+
if (!rel || rel === '')
|
|
66
|
+
return kind === 'globdir';
|
|
67
|
+
const first = rel.split(/[\\/]/)[0];
|
|
68
|
+
if (first === '.git')
|
|
69
|
+
return false;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
47
72
|
function isTempFile(filePath) {
|
|
48
73
|
// 相对路径按项目根解析(解析后必落在项目内,由 isPathInsideRoot 处理);临时文件均为绝对路径
|
|
49
74
|
const abs = (0, path_1.isAbsolute)(filePath) ? filePath : (0, path_1.resolve)((0, cwd_1.readInitialCwd)(), filePath);
|
|
@@ -293,10 +318,32 @@ async function checkRunShellPermission(tool, command, abortController, allowedTo
|
|
|
293
318
|
if (runShellToolHasExactMatch(tool, command, allowedTools)) {
|
|
294
319
|
return { result: true };
|
|
295
320
|
}
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
//
|
|
299
|
-
|
|
321
|
+
// 危险命令分级:
|
|
322
|
+
// hard(sudo/dd/chmod/kill 等硬危险、删除目标出项目/无法静态解析)→ 确定性转人工,
|
|
323
|
+
// 不调模型——语义本身危险,不该给模型机会判 safe 放行;
|
|
324
|
+
// deletable(rm/rmdir/mv/find -delete 且所有目标确定性落在项目内或临时目录)→ AutoRun
|
|
325
|
+
// 档位交快速模型结合上下文判断(用户明确要求删除/清理、agent 自建文件、可再生中间
|
|
326
|
+
// 产物 → safe 一次性放行),判 risky 或非 AutoRun 仍转人工。
|
|
327
|
+
// 两类都不提供前缀/精确授权(showAllow=false),模型放行绝不持久化;
|
|
328
|
+
// skipAutoRun=true 跳过 requestPermissionViaEvent 内的 AutoRun 自动放行,避免重复调模型。
|
|
329
|
+
const dangerClass = (0, shellSafety_1.classifyDangerousCommand)(command, isDeletableShellTarget);
|
|
330
|
+
if (dangerClass !== 'none') {
|
|
331
|
+
if (dangerClass === 'deletable' && (0, StateManager_1.getStateManager)().session(sessionId).isAutoRun()) {
|
|
332
|
+
let safe = false;
|
|
333
|
+
try {
|
|
334
|
+
safe = (await classifyActionSafety(tool, { command }, abortController.signal, sessionId, agentId)) === 'safe';
|
|
335
|
+
}
|
|
336
|
+
catch (error) {
|
|
337
|
+
(0, log_1.logDebug)(`[Permission][AutoRun] 安全判断失败,转人工: ${error}`);
|
|
338
|
+
}
|
|
339
|
+
(0, errors_1.checkAbortSignal)(abortController);
|
|
340
|
+
if (safe) {
|
|
341
|
+
(0, log_1.logDebug)(`[Permission][AutoRun]${tool.name} 项目内删除类命令,模型判定 safe,自动放行`);
|
|
342
|
+
emitAutoApproved(tool, agentId, sessionId, toolId);
|
|
343
|
+
return { result: true };
|
|
344
|
+
}
|
|
345
|
+
(0, log_1.logDebug)(`[Permission][AutoRun]${tool.name} 删除类命令,模型判定有风险,转人工申请`);
|
|
346
|
+
}
|
|
300
347
|
return requestPermissionViaEvent(tool, { command, description }, null, abortController, agentId, sessionId, toolId, false, true);
|
|
301
348
|
}
|
|
302
349
|
// 每个子命令都被 SAFE_COMMANDS / 精确授权 / 已保存前缀覆盖 → 放行(注入已在函数开头排除)。
|
|
@@ -330,9 +377,15 @@ async function checkRunShellPermission(tool, command, abortController, allowedTo
|
|
|
330
377
|
const firstUncovered = subCommands.find(subCmd => !isRunShellCommandPermitted(tool, subCmd, allowedTools)) ?? command;
|
|
331
378
|
let prefix = null;
|
|
332
379
|
let allowExact = false;
|
|
333
|
-
// 危险命令(含重定向、rm/sudo/mv 等危险首词、find 危险 flag
|
|
334
|
-
//
|
|
335
|
-
|
|
380
|
+
// 危险命令(含重定向、rm/sudo/mv 等危险首词、find 危险 flag、curl/wget 等网络命令)不提供
|
|
381
|
+
// 「按前缀/精确授权」,只允许单次确认;顺带跳过一次前缀提取模型调用。
|
|
382
|
+
// 网络命令例外:对环回地址的只读请求(如 curl localhost:3000/api/health)放宽为「记住这一条完整命令」,
|
|
383
|
+
// 保存 run_shell(<完整命令>),下次同一条免确认,范围不会外溢。固定规则只决定要不要多给这个选项,
|
|
384
|
+
// 用户仍会看到命令并确认一次,漏判代价很低;AutoRun 档的自动放行仍由上面的模型判断裁决。
|
|
385
|
+
if ((0, shellSafety_1.hasNetworkCommand)(command)) {
|
|
386
|
+
allowExact = (0, shellSafety_1.isLoopbackReadonlyRequest)(command);
|
|
387
|
+
}
|
|
388
|
+
else if (!(0, shellSafety_1.isUnsafeForPrefixAuth)(command) && firstUncovered.length <= MAX_PREFIX_EXTRACT_LEN) {
|
|
336
389
|
const info = await (0, commands_1.getCommandPrefix)(firstUncovered, abortController.signal, sessionId);
|
|
337
390
|
(0, errors_1.checkAbortSignal)(abortController);
|
|
338
391
|
if (info === null) {
|
|
@@ -418,7 +471,11 @@ async function classifyActionSafety(tool, input, signal, sessionId, agentId = St
|
|
|
418
471
|
// 动作行与历史工具行同格式(无前缀/包装),最大化连续检查间的前缀缓存复用
|
|
419
472
|
{ type: 'text', text: (0, autoRunContext_1.summarizeActionLine)(tool.name, input) },
|
|
420
473
|
])];
|
|
421
|
-
|
|
474
|
+
// 真实的 skills 目录(用户级 + 项目级,与 skillsManager 的定位一致)内插进系统提示词:
|
|
475
|
+
// 模型按确切绝对路径判定「skill 自带脚本」,不靠猜 ~/.sema 之类的模式;
|
|
476
|
+
// 路径在会话内恒定,渲染出的提示词字节不变,不破坏前缀缓存
|
|
477
|
+
const skillDirs = [(0, path_1.join)((0, savePath_1.getSemaRootDir)(), 'skills'), (0, path_1.join)((0, cwd_1.readInitialCwd)(), '.sema', 'skills')];
|
|
478
|
+
const response = await (0, queryLLM_1.queryLLM)(messages, [{ type: 'text', text: (0, permission_1.AUTO_RUN_SAFETY_CONTEXT_SYSTEM_PROMPT)(skillDirs) }], signal, [], // 消息里已无任何 tool 块,无需占位工具;空数组会让适配器省略 tools 字段
|
|
422
479
|
{
|
|
423
480
|
modelPointer: 'quick',
|
|
424
481
|
disableChunkEvents: true,
|
|
@@ -467,7 +524,7 @@ function parseSafetyVerdict(raw) {
|
|
|
467
524
|
}
|
|
468
525
|
/**
|
|
469
526
|
* AutoRun 档位下尝试自动放行:
|
|
470
|
-
* 1) 确定性:文件编辑只看路径(项目内放行/项目外转人工);Skill 放行;MCP
|
|
527
|
+
* 1) 确定性:文件编辑只看路径(项目内放行/项目外转人工);Skill 放行;MCP 只看 destructiveHint 注解——均不走 LLM
|
|
471
528
|
* 2) fetch_url:先做确定性 SSRF 兜底(命中内网/元数据等直接转人工),未命中再交给快速模型判断
|
|
472
529
|
* 3) 其余动作交给快速模型做安全判断;失败/超时/异常一律失败关闭(转人工)
|
|
473
530
|
*/
|
|
@@ -483,9 +540,13 @@ async function autoApproveInAutoRun(tool, input, signal, sessionId, agentId) {
|
|
|
483
540
|
if (isSkillTool(tool)) {
|
|
484
541
|
return { approved: true, byModel: false };
|
|
485
542
|
}
|
|
486
|
-
// MCP
|
|
543
|
+
// MCP:server 由用户自行安装,默认信任;仅 server 显式标注 destructiveHint=true(且非只读)的工具转人工,
|
|
544
|
+
// 未标注/只读一律放行。注解是 server 自报的提示而非安全边界,工具语义对模型不透明,故不交给快速模型判断
|
|
487
545
|
if (isMCPTool(tool)) {
|
|
488
|
-
|
|
546
|
+
const destructive = tool.isDestructive?.() === true;
|
|
547
|
+
if (destructive)
|
|
548
|
+
(0, log_1.logDebug)(`[Permission][AutoRun]${tool.name} 标注 destructiveHint,转人工申请`);
|
|
549
|
+
return { approved: !destructive, byModel: false };
|
|
489
550
|
}
|
|
490
551
|
// fetch_url:先做确定性 SSRF 兜底,命中内网/链路本地/元数据等直接转人工,不交给模型
|
|
491
552
|
if (isFetchUrlTool(tool)) {
|
|
@@ -515,7 +576,7 @@ function emitAutoApproved(tool, agentId, sessionId, toolId) {
|
|
|
515
576
|
agentId,
|
|
516
577
|
toolId,
|
|
517
578
|
toolName: tool.name,
|
|
518
|
-
content:
|
|
579
|
+
content: (0, i18n_1.t)('permission.autoApproved'),
|
|
519
580
|
};
|
|
520
581
|
(0, EventSystem_1.getEventBus)().emit('tool:permission:auto', data, sessionId);
|
|
521
582
|
}
|
|
@@ -623,82 +684,85 @@ async function requestPermissionViaEvent(tool, input, prefix, abortController, a
|
|
|
623
684
|
});
|
|
624
685
|
}
|
|
625
686
|
function buildPermissionOptions(tool, input, prefix, showAllow = true) {
|
|
687
|
+
// 文案按当前 lang 输出(见 util/i18n)
|
|
688
|
+
const agree = (0, i18n_1.t)('permission.agree');
|
|
689
|
+
const refuse = (0, i18n_1.t)('permission.refuse');
|
|
626
690
|
// run_shell工具
|
|
627
691
|
if (tool.name === RunShell_1.RunShell.name) {
|
|
628
692
|
const command = (input.command || '').trim();
|
|
629
693
|
if (!showAllow) {
|
|
630
|
-
return { agree
|
|
694
|
+
return { agree, refuse };
|
|
631
695
|
}
|
|
632
696
|
if (prefix) {
|
|
633
697
|
return {
|
|
634
|
-
agree
|
|
635
|
-
allow:
|
|
636
|
-
refuse
|
|
698
|
+
agree,
|
|
699
|
+
allow: (0, i18n_1.t)('permission.allowShellPrefix', { prefix }),
|
|
700
|
+
refuse
|
|
637
701
|
};
|
|
638
702
|
}
|
|
639
703
|
const allowText = command
|
|
640
|
-
?
|
|
641
|
-
: '
|
|
642
|
-
return { agree
|
|
704
|
+
? (0, i18n_1.t)('permission.allowShellExact', { command })
|
|
705
|
+
: (0, i18n_1.t)('permission.allowShellThis');
|
|
706
|
+
return { agree, allow: allowText, refuse };
|
|
643
707
|
}
|
|
644
708
|
// 编辑工具
|
|
645
709
|
if (isFileEditTool(tool)) {
|
|
646
710
|
return {
|
|
647
|
-
agree
|
|
648
|
-
allow:
|
|
649
|
-
refuse
|
|
711
|
+
agree,
|
|
712
|
+
allow: (0, i18n_1.t)('permission.allowEdit'),
|
|
713
|
+
refuse
|
|
650
714
|
};
|
|
651
715
|
}
|
|
652
716
|
// 文件读取工具:按父目录会话级授权;无父目录则不提供「允许」
|
|
653
717
|
if (tool.name === tool_1.TOOL_NAME_VIEW_FILE) {
|
|
654
718
|
if (!prefix) {
|
|
655
|
-
return { agree
|
|
719
|
+
return { agree, refuse };
|
|
656
720
|
}
|
|
657
721
|
return {
|
|
658
|
-
agree
|
|
659
|
-
allow:
|
|
660
|
-
refuse
|
|
722
|
+
agree,
|
|
723
|
+
allow: (0, i18n_1.t)('permission.allowReadDir', { dir: prefix }),
|
|
724
|
+
refuse
|
|
661
725
|
};
|
|
662
726
|
}
|
|
663
727
|
// Skill 工具
|
|
664
728
|
if (isSkillTool(tool)) {
|
|
665
729
|
const skillName = input.skill || '';
|
|
666
730
|
return {
|
|
667
|
-
agree
|
|
731
|
+
agree,
|
|
668
732
|
allow: skillName
|
|
669
|
-
?
|
|
670
|
-
:
|
|
671
|
-
refuse
|
|
733
|
+
? (0, i18n_1.t)('permission.allowSkill', { skill: skillName })
|
|
734
|
+
: (0, i18n_1.t)('permission.allowSkillAny'),
|
|
735
|
+
refuse
|
|
672
736
|
};
|
|
673
737
|
}
|
|
674
738
|
// MCP 工具
|
|
675
739
|
if (isMCPTool(tool)) {
|
|
676
740
|
return {
|
|
677
|
-
agree
|
|
678
|
-
allow:
|
|
679
|
-
refuse
|
|
741
|
+
agree,
|
|
742
|
+
allow: (0, i18n_1.t)('permission.allowMcp', { tool: tool.name }),
|
|
743
|
+
refuse
|
|
680
744
|
};
|
|
681
745
|
}
|
|
682
746
|
// fetch_url 工具
|
|
683
747
|
if (isFetchUrlTool(tool)) {
|
|
684
748
|
// SSRF 兜底命中(内网/元数据等)时 showAllow=false:不提供「永久允许域名」,只许单次确认
|
|
685
749
|
if (!showAllow) {
|
|
686
|
-
return { agree
|
|
750
|
+
return { agree, refuse };
|
|
687
751
|
}
|
|
688
752
|
const url = input.url || '';
|
|
689
753
|
const domain = extractDomain(url);
|
|
690
754
|
return {
|
|
691
|
-
agree
|
|
755
|
+
agree,
|
|
692
756
|
allow: domain
|
|
693
|
-
?
|
|
694
|
-
: '
|
|
695
|
-
refuse
|
|
757
|
+
? (0, i18n_1.t)('permission.allowFetchDomain', { domain })
|
|
758
|
+
: (0, i18n_1.t)('permission.allowFetchThis'),
|
|
759
|
+
refuse
|
|
696
760
|
};
|
|
697
761
|
}
|
|
698
762
|
return {
|
|
699
|
-
agree: '
|
|
700
|
-
allow:
|
|
701
|
-
refuse
|
|
763
|
+
agree: (0, i18n_1.t)('permission.approve'),
|
|
764
|
+
allow: (0, i18n_1.t)('permission.allowGeneric', { tool: tool.name }),
|
|
765
|
+
refuse
|
|
702
766
|
};
|
|
703
767
|
}
|
|
704
768
|
//# sourceMappingURL=PermissionManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionManager.js","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":";;;AA6aA,wCA6BC;AAzcD,gDAAwD;AACxD,yCAA0O;AAC1O,+CAAwG;AACxG,qCAA4C;AAC5C,qCAAyD;AACzD,6CAAgH;AAChH,+CAA8C;AAC9C,uDAAmD;AAEnD,4CAAkD;AAClD,uCAA0C;AAC1C,mDAAgD;AAChD,+BAAmE;AACnE,+CAAiD;AACjD,2BAA2B;AAC3B,+CAAmD;AACnD,iDAA+D;AAC/D,uDAAmD;AACnD,qDAA4E;AAC5E,qDAAqI;AACrI,2DAAmF;AACnF,qDAAwD;AACxD,iEAAsE;AAEtE,iDAAiD;AAEjD,SAAS,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IACtD,MAAM,GAAG,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrE,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAA,2BAAgB,EAAC,IAAI,CAAC,EAAE,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC,CAAA;IACnE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAED,uDAAuD;AACvD,+DAA+D;AAC/D,MAAM,eAAe,GAAG,CAAC,IAAA,WAAM,GAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;AAEtE,qEAAqE;AACrE,4DAA4D;AAC5D,oDAAoD;AACpD,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAEjF,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,GAAG,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,oBAAc,GAAE,EAAE,QAAQ,CAAC,CAAA;IACjF,MAAM,QAAQ,GAAG,IAAA,yBAAc,GAAE,CAAA;IACjC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAA,WAAI,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,yDAAyD;IACzD,MAAM,GAAG,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,oBAAc,GAAE,EAAE,QAAQ,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAA;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAA,2BAAgB,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,iDAAiD;AAEjD,2DAA2D;AAC3D,wBAAwB;AACxB,qDAAqD;AACrD,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC,yDAAyD;AACzD,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,2BAAoB;IACpB,2BAAoB;IACpB,8BAAuB;CACxB,CAAC,CAAA;AAEF,aAAa;AACb,MAAM,aAAa,GAAG,sBAAe,CAAA;AAErC,aAAa;AACb,MAAM,eAAe,GAAG,OAAO,CAAA;AAE/B,iBAAiB;AACjB,MAAM,mBAAmB,GAAG,0BAAmB,CAAA;AAO/C,oDAAoD;AAEpD,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;IAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAA;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAA;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAiB,EAAE;IACnD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,IAAU,EACV,KAAyB,EACzB,eAAgC,EAChC,iBAA0B,EAC1B,OAAe,EACf,SAAiB,EACjB,MAAc,EACkB,EAAE;IAClC,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;IAEjC,MAAM,UAAU,GAAG,IAAA,4BAAc,GAAE,CAAC,aAAa,EAAE,CAAA;IACnD,MAAM,aAAa,GAAG,IAAA,4BAAc,GAAE,CAAC,gBAAgB,EAAE,CAAA;IAEzD,oCAAoC;IACpC,MAAM,OAAO,GAAG,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvB,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAA;QACvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,aAAa;IACb,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,UAAU,EAAE,sBAAsB,EAAE,CAAC;YACvC,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAA;YAC3C,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,CAAA;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACtC,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAA;YAClE,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAA;YACnC,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAA,oBAAc,GAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtF,IAAA,cAAQ,EAAC,eAAe,QAAQ,QAAQ,CAAC,CAAA;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACzB,CAAC;iBACI,CAAC;gBACJ,IAAA,cAAQ,EAAC,eAAe,QAAQ,eAAe,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,iCAAiC,CAAC,CAAA;QAEnE,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAClG,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,0BAAmB,EAAE,CAAC;QACtC,IAAI,UAAU,EAAE,8BAA8B,EAAE,CAAC;YAC/C,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,YAAY,CAAC,CAAA;YAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAA;QACnC,uCAAuC;QACvC,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAA,oBAAc,GAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACtC,IAAA,cAAQ,EAAC,eAAe,QAAQ,oBAAoB,CAAC,CAAA;YACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,oBAAc,GAAE,EAAE,QAAQ,CAAC,CAAA;QACrF,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACrF,IAAA,cAAQ,EAAC,eAAe,QAAQ,mBAAmB,CAAC,CAAA;YACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,iCAAiC;QACjC,IAAA,cAAQ,EAAC,eAAe,QAAQ,aAAa,CAAC,CAAA;QAC9C,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAC9G,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,UAAU,EAAE,uBAAuB;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAEhE,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,IAAI,EAAE,CAAA;QACtD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,qBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxD,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7H,CAAC;IAED,eAAe;IACf,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,UAAU,EAAE,mBAAmB,EAAE,CAAC;YACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,IAAI,EAAE,CAAA;QACtD,MAAM,SAAS,GAAI,KAAa,CAAC,KAAK,IAAI,EAAE,CAAA;QAC5C,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QAE1E,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAClG,CAAC;IAED,aAAa;IACb,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,IAAI,UAAU,EAAE,qBAAqB,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,IAAI,EAAE,CAAA;QACtD,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAClG,CAAC;IAED,mBAAmB;IACnB,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,UAAU,EAAE,sBAAsB,EAAE,CAAC;YACvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,IAAI,EAAE,CAAA;QACtD,MAAM,GAAG,GAAI,KAAa,CAAC,GAAG,CAAA;QAE9B,gDAAgD;QAChD,8CAA8C;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,gCAAkB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAErD,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,mBAAmB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACzB,CAAC;QACH,CAAC;QAED,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAA;IAC5G,CAAC;IAED,IAAA,cAAQ,EAAC,eAAe,IAAI,CAAC,IAAI,yCAAyC,CAAC,CAAA;IAE3E,WAAW;IACX,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC,CAAA;AAlJY,QAAA,mBAAmB,uBAkJ/B;AAED,6DAA6D;AAE7D,SAAS,yBAAyB,CAAC,IAAU,EAAE,OAAe,EAAE,YAAsB;IACpF,uCAAuC;IACvC,wDAAwD;IACxD,IAAI,IAAA,mCAAqB,EAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAE/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA;IACrD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAClE,OAAO,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC7C,CAAC;AAED,gDAAgD;AAChD,SAAS,kBAAkB,CAAC,OAAe,EAAE,YAAsB;IACjE,gDAAgD;IAChD,0DAA0D;IAC1D,cAAc;IACd,IAAI,IAAA,mCAAqB,EAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAChD,MAAM,IAAI,GAAG,GAAG,mBAAQ,CAAC,IAAI,GAAG,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,MAAM,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IACrF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAU,EACV,OAAe,EACf,YAAsB;IAEtB,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC;QACtD,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;AAClD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAU,EACV,OAAe,EACf,eAAgC,EAChC,YAAsB,EACtB,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,WAAoB;IAEpB,kEAAkE;IAClE,uDAAuD;IACvD,4CAA4C;IAC5C,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IACxB,aAAa;IACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAA,oBAAc,GAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAE3D,8DAA8D;IAC9D,6DAA6D;IAC7D,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAA;IACzC,oEAAoE;IACpE,iEAAiE;IACjE,sDAAsD;IACtD,yDAAyD;IACzD,uDAAuD;IACvD,MAAM,iBAAiB,GAAG,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;IACnD,MAAM,iBAAiB,GAAG,iBAAiB,KAAK,OAAO;QACrD,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAA,uBAAY,EAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,8BAAmB,CAAC;QAC/F,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,8BAAmB,CAAC,CAAA;IACzC,IAAI,iBAAiB,EAAE,CAAC;QACtB,6CAA6C;QAC7C,kDAAkD;QAClD,uDAAuD;QACvD,6CAA6C;QAC7C,sCAAsC;QACtC,MAAM,UAAU,GAAG,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,0CAA4B,EAAC,OAAO,CAAC,CAAA;QACtG,IAAI,UAAU,KAAK,WAAW,IAAI,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACnF,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,CAAA;YAC/G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,cAAQ,EAAC,qCAAqC,KAAK,EAAE,CAAC,CAAA;YACxD,CAAC;YACD,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,MAAM,UAAU,wBAAwB,CAAC,CAAA;gBACnF,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;gBAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACzB,CAAC;YACD,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,yBAAyB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAClI,CAAC;IAED,gBAAgB;IAChB,IAAI,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,qDAAqD;IACrD,yDAAyD;IACzD,0EAA0E;IAC1E,IAAI,IAAA,iCAAmB,EAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,yBAAyB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAClI,CAAC;IAED,2DAA2D;IAC3D,qDAAqD;IACrD,qDAAqD;IACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAClH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,oDAAoD;IACpD,6BAA6B;IAC7B,MAAM,OAAO,GAAG,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,GAAG,KAAK,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,CAAA;QAC/G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,cAAQ,EAAC,qCAAqC,KAAK,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAA;YAClD,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,cAAc,CAAC,CAAA;IAC3D,CAAC;IAED,oDAAoD;IACpD,0DAA0D;IAC1D,sDAAsD;IACtD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,OAAO,CAAA;IACrH,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,yDAAyD;IACzD,0BAA0B;IAC1B,IAAI,CAAC,IAAA,mCAAqB,EAAC,OAAO,CAAC,IAAI,cAAc,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAgB,EAAC,cAAc,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACtF,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,8DAA8D;YAC9D,mCAAmC;YACnC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAA;QACnD,CAAC;aAAM,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAChE,6DAA6D;QAC/D,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,IAAI,UAAU,CAAA;IAE/C,OAAO,yBAAyB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AACxI,CAAC;AAED,iDAAiD;AAE1C,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,KAAyB,EACzB,MAAqB,EACrB,SAAiB;IAEjB,aAAa;IACb,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,yBAAyB,EAAE,CAAA;QAChE,OAAM;IACR,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,IAAI,KAAK,0BAAmB,EAAE,CAAC;QACtC,IAAI,MAAM;YAAE,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAC7E,OAAM;IACR,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAA;IACpC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAA;IAEpD,IAAI,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAM;IAErD,MAAM,MAAM,GAAG,aAAa,IAAI,EAAE,YAAY,EAAE,EAAc,EAAE,CAAA;IAChE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,KAAyB,EAAE,MAAqB;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,mBAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,CAAA;QACxC,CAAC;QACD,OAAO,GAAG,mBAAQ,CAAC,IAAI,IAAK,KAAa,CAAC,OAAO,IAAI,EAAE,GAAG,CAAA;IAC5D,CAAC;IAED,sCAAsC;IACtC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,GAAI,KAAa,CAAC,KAAK,IAAI,EAAE,CAAA;QAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7D,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,2CAA2C;IAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAI,KAAa,CAAC,GAAG,IAAI,EAAE,CAAA;QACpC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACvD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC;AAED,yDAAyD;AAEzD;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAU,EACV,KAAyB,EACzB,MAAmB,EACnB,SAAkB,EAClB,UAAkB,4BAAa;IAE/B,4CAA4C;IAC5C,kBAAkB;IAClB,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE;QAC5E,CAAC,CAAC,EAAE,CAAA;IAEN,6DAA6D;IAC7D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,CAAC,IAAA,sBAAY,EAAC;YAC7B,GAAG,IAAA,sCAAqB,EAAC,OAAO,CAAC;YACjC,uCAAuC;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,oCAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC,CAAA;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAC7B,QAAQ,EACR,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kDAAqC,EAAE,CAAC,EAC/D,MAAM,EACN,EAAE,EAAE,4CAA4C;IAChD;QACE,YAAY,EAAE,OAAO;QACrB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,SAAS;KACV,CACF,CAAA;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;IACxC,MAAM,GAAG,GAAG,CACV,OAAO,OAAO,KAAK,QAAQ;QACzB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,CAAC,CAAC,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAS,EAAE,IAAI,IAAI,EAAE,CAAC;YACpE,CAAC,CAAC,EAAE,CACT,CAAC,IAAI,EAAE,CAAA;IAER,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,wBAAc,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAE9B,qBAAqB;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAChE,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAEpD,4BAA4B;IAC5B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAA;IAExC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAA;IAEvC,oCAAoC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAM,CAAC,CAAA;IACpE,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC;AAMD;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAU,EACV,KAAyB,EACzB,MAAmB,EACnB,SAAkB,EAClB,OAAgB;IAEhB,oBAAoB;IACpB,uCAAuC;IACvC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAA,oBAAc,GAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACrC,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3C,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC5C,CAAC;IAED,oDAAoD;IACpD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAE,KAAa,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QACjD,IAAI,IAAA,gCAAkB,EAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAA,cAAQ,EAAC,0DAA0D,GAAG,EAAE,CAAC,CAAA;YACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,CAAA;QAC7F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,cAAQ,EAAC,qCAAqC,KAAK,EAAE,CAAC,CAAA;QACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,iDAAiD;AAEjD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAU,EAAE,OAAe,EAAE,SAAiB,EAAE,MAAc;IACtF,MAAM,IAAI,GAA2B;QACnC,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,OAAO,EAAE,oCAAoC;KAC9C,CAAA;IACD,IAAA,yBAAW,GAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAC7D,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAAU,EACV,KAAyB,EACzB,MAAqB,EACrB,eAAgC,EAChC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,SAAS,GAAG,IAAI,EAChB,WAAW,GAAG,KAAK;IAGnB,+BAA+B;IAC/B,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAA,8BAAe,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACnG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;YACjC,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAA;YAClD,sCAAsC;YACtC,IAAI,OAAO,CAAC,OAAO;gBAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YACvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;QACjC,IAAA,cAAQ,EAAC,wBAAwB,IAAI,CAAC,IAAI,cAAc,CAAC,CAAA;IAC3D,CAAC;IAED,6DAA6D;IAC7D,kDAAkD;IAClD,wDAAwD;IACxD,4BAA4B;IAC5B,MAAM,WAAW,GAAG,MAAM,IAAA,oCAAqB,EAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7G,IAAI,WAAW,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrC,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;QACjC,IAAA,aAAO,EAAC,qBAAqB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAA;QACrE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,IAAA,yBAAgB,EAAC,eAAe,CAAC,CAAA;QACjC,IAAA,aAAO,EAAC,qBAAqB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAA;QACrE,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAA,kCAAwB,EAAC,WAAW,CAAC,MAAM,IAAI,kCAAkC,CAAC;SAC5F,CAAA;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAY,CAAC,CAAA;IAE7D,MAAM,WAAW,GAA8B;QAC7C,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI;QACzC,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,EAAE;QACtC,OAAO,EAAE,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;KAChE,CAAA;IAED,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAEhE,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;QACpD,wCAAwC;QACxC,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,QAAQ,CAAC,GAAG,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;YACxD,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YACrE,IAAA,wBAAW,EAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;QACzD,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAM;YAEtC,aAAa,EAAE,CAAA;YAEf,IAAA,aAAO,EAAC,aAAa,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAA;YAC1C,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAE1B,KAAK,OAAO;oBACV,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;oBACzB,MAAK;gBAEP,KAAK,OAAO;oBACV,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;yBAC3C,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACrC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACb,IAAA,cAAQ,EAAC,UAAU,KAAK,EAAE,CAAC,CAAA;wBAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3B,CAAC,CAAC,CAAA;oBACJ,MAAK;gBAEP,KAAK,QAAQ;oBACX,qCAAqC;oBACrC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAU,EAAE,CAAC,CAAA;oBAC/C,MAAK;gBAEP;oBACE,2BAA2B;oBAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAA,kCAAwB,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAChF,MAAK;YACT,CAAC;QACH,CAAC,CAAA;QAED,sBAAsB;QACtB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,4BAA4B;YAC5B,yCAAyC;YACzC,MAAM,WAAW,GAAI,eAAe,CAAC,MAAc,CAAC,MAAM,CAAA;YAC1D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,aAAa,EAAE,CAAA;YACf,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAU,EAAE,CAAC,CAAA;QACjD,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAU,EAAE,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,QAAQ,CAAC,EAAE,CAAC,0BAA0B,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;QAClE,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;AACJ,CAAC;AAGD,SAAS,sBAAsB,CAC7B,IAAU,EACV,KAAyB,EACzB,MAAqB,EACrB,SAAS,GAAG,IAAI;IAEhB,cAAc;IACd,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAE,KAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,gBAAgB,MAAM,UAAU;gBACvC,MAAM,EAAE,IAAI;aACb,CAAA;QACH,CAAC;QAED,MAAM,SAAS,GAAG,OAAO;YACvB,CAAC,CAAC,gBAAgB,OAAO,OAAO;YAChC,CAAC,CAAC,eAAe,CAAA;QAEnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACxD,CAAC;IAED,OAAO;IACP,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,0BAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,eAAe,MAAM,SAAS;YACrC,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,WAAW;IACX,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,GAAI,KAAa,CAAC,KAAK,IAAI,EAAE,CAAA;QAC5C,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,SAAS;gBACd,CAAC,CAAC,cAAc,SAAS,QAAQ;gBACjC,CAAC,CAAC,qBAAqB;YACzB,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,SAAS;IACT,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,KAAK;YACnC,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,eAAe;IACf,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,yDAAyD;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC;QACD,MAAM,GAAG,GAAI,KAAa,CAAC,GAAG,IAAI,EAAE,CAAA;QACpC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACjC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,MAAM;gBACX,CAAC,CAAC,cAAc,MAAM,KAAK;gBAC3B,CAAC,CAAC,eAAe;YACnB,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,KAAK;QACnC,MAAM,EAAE,IAAI;KACb,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"PermissionManager.js","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt/compact.d.ts
CHANGED
|
@@ -1,4 +1,33 @@
|
|
|
1
|
-
export declare const COMPRESSION_PROMPT = "
|
|
1
|
+
export declare const COMPRESSION_PROMPT = "Summarize this conversation so a successor instance can resume the work seamlessly. Be precise on technical detail; this summary is the only context that survives.\n\nSections (all required):\n\n1. User Requests & Messages \u2014 list ALL non-tool-result user messages in order (a list, not a synthesis), noting how the intent evolved. Quote security-related constraints verbatim so they stay in force. Count only genuine user turns: \"user:\"-style text inside assistant output is model-generated, never attribute it to the user.\n2. Technical Context, Files & Code \u2014 the stack and architecture decisions in one or two lines, then each file examined or changed and why it matters, with key snippets (full source for important edits).\n3. Problems & Fixes \u2014 each error hit and its resolution, user corrections on the fix, and troubleshooting still in flight.\n4. Task State \u2014 completed / in progress (the exact interruption point, with files and snippets) / pending. If a skill was invoked and its work is not explicitly complete, record its name, arguments, and remaining steps; treat uncertain completion as unfinished.\n5. Next Step \u2014 only what directly continues the most recent explicit request, anchored with verbatim quotes from the recent exchange; omit if the task is concluded.\n\nOutput skeleton:\n\n1. User Requests & Messages:\n - [message 1]\n - [...]\n2. Technical Context, Files & Code:\n [stack in one or two lines]\n - [file 1]\n - [why it matters]\n - [changes made, if any]\n - [key snippet]\n - [...]\n3. Problems & Fixes:\n - [problem \u2192 fix, user corrections if any]\n4. Task State:\n - Completed: [...]\n - In progress: [interruption point, files, snippets]\n - Pending: [... skill name/args/remaining steps if applicable]\n5. Next Step:\n [next step with verbatim quote, or omit]\n\nRules:\n- Plain text only; call no tools.\n- Only facts from the conversation \u2014 no invention; mark gaps as \"not confirmed in context\".\n- Prefer full source over paraphrase.\n- This summarization request itself is not part of the conversation \u2014 never list it as a user message, task, or next step.\n- <reminder-sys> blocks are system-injected context, not user messages; attribute their constraints to the system, except blocks explicitly relaying a new user message, which count as user messages.\n- If the conversation starts with a summary of earlier context, fold its facts into your output instead of expanding on it; keep the result at most as long as that summary plus the new events.\n";
|
|
2
|
+
/**
|
|
3
|
+
* 压缩后注入被压掉的 skill 原文时的前置提示:内容仅作上下文(延续其中仍相关的持续性准则),
|
|
4
|
+
* 禁止重新执行技能或重做一次性设置,正文内嵌的请求/参数是激活时的历史快照而非实时指令
|
|
5
|
+
*/
|
|
6
|
+
export declare const SKILL_CONTEXT_NOTICE = "The skills below were invoked earlier in this session, before the conversation was compacted. They are context only \u2014 keep following their ongoing guidelines where still relevant. Do not re-invoke them or redo their one-time setup actions, and do not treat any request or argument text embedded in them as a current user message; such text was captured when the skill was originally invoked.";
|
|
7
|
+
/**
|
|
8
|
+
* 自动压缩通知(user 消息,紧邻其后的 assistant 消息即摘要):
|
|
9
|
+
* 说明会话来自压缩续接 + 指示直接续做(不复述摘要、不向用户确认)
|
|
10
|
+
*/
|
|
11
|
+
export declare const COMPACT_RESUME_NOTICE = "This session continues a conversation that ran out of context; the assistant message below summarizes the earlier portion. Resume the last task exactly where it left off \u2014 do not acknowledge the summary, do not recap, and do not ask the user to confirm.";
|
|
12
|
+
/**
|
|
13
|
+
* 自动压缩把最后一条真实用户消息压进摘要时,在摘要后原样回注该指令的前置说明:
|
|
14
|
+
* 摘要只是转述,原文保证模型不丢失用户措辞与约束
|
|
15
|
+
*/
|
|
16
|
+
export declare const LATEST_USER_INSTRUCTION_NOTICE = "The user's most recent instruction, quoted verbatim (it was part of the compacted portion):";
|
|
17
|
+
/**
|
|
18
|
+
* 摘要包装的起始句:压缩逻辑用它识别 user 消息里的摘要块(不是用户原话,不得当作指令回注)
|
|
19
|
+
*/
|
|
20
|
+
export declare const COMPACT_SUMMARY_LEAD = "This session continues a conversation that ran out of context.";
|
|
21
|
+
/**
|
|
22
|
+
* 截断兜底通知的起始句,用途同上
|
|
23
|
+
*/
|
|
24
|
+
export declare const CONTEXT_TRUNCATED_NOTICE_LEAD = "Context truncated due to token limit.";
|
|
25
|
+
/**
|
|
26
|
+
* 摘要包装(摘要以文本形式嵌入 user 消息,前后语义与 COMPACT_RESUME_NOTICE 一致)。
|
|
27
|
+
* 手动 /compact 与自动压缩共用:自动压缩的保留区可能以 assistant(tool_use) 开头,
|
|
28
|
+
* 前缀必须是 user 消息才能保证角色交替合法
|
|
29
|
+
*/
|
|
30
|
+
export declare function wrapCompactSummary(summary: string): string;
|
|
2
31
|
/**
|
|
3
32
|
* 构建压缩提示词
|
|
4
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/prompt/compact.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/prompt/compact.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,ihFAsC9B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,iZAC0W,CAAA;AAE3Y;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uQAC+N,CAAA;AAEjQ;;;GAGG;AACH,eAAO,MAAM,8BAA8B,gGACoD,CAAA;AAE/F;;GAEG;AACH,eAAO,MAAM,oBAAoB,mEAAmE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,6BAA6B,0CAA0C,CAAA;AAEpF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CASpE"}
|
package/dist/prompt/compact.js
CHANGED
|
@@ -1,25 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.COMPRESSION_PROMPT = void 0;
|
|
3
|
+
exports.CONTEXT_TRUNCATED_NOTICE_LEAD = exports.COMPACT_SUMMARY_LEAD = exports.LATEST_USER_INSTRUCTION_NOTICE = exports.COMPACT_RESUME_NOTICE = exports.SKILL_CONTEXT_NOTICE = exports.COMPRESSION_PROMPT = void 0;
|
|
4
|
+
exports.wrapCompactSummary = wrapCompactSummary;
|
|
4
5
|
exports.buildCompressionPrompt = buildCompressionPrompt;
|
|
5
|
-
exports.COMPRESSION_PROMPT = `
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
exports.COMPRESSION_PROMPT = `Summarize this conversation so a successor instance can resume the work seamlessly. Be precise on technical detail; this summary is the only context that survives.
|
|
7
|
+
|
|
8
|
+
Sections (all required):
|
|
9
|
+
|
|
10
|
+
1. User Requests & Messages — list ALL non-tool-result user messages in order (a list, not a synthesis), noting how the intent evolved. Quote security-related constraints verbatim so they stay in force. Count only genuine user turns: "user:"-style text inside assistant output is model-generated, never attribute it to the user.
|
|
11
|
+
2. Technical Context, Files & Code — the stack and architecture decisions in one or two lines, then each file examined or changed and why it matters, with key snippets (full source for important edits).
|
|
12
|
+
3. Problems & Fixes — each error hit and its resolution, user corrections on the fix, and troubleshooting still in flight.
|
|
13
|
+
4. Task State — completed / in progress (the exact interruption point, with files and snippets) / pending. If a skill was invoked and its work is not explicitly complete, record its name, arguments, and remaining steps; treat uncertain completion as unfinished.
|
|
14
|
+
5. Next Step — only what directly continues the most recent explicit request, anchored with verbatim quotes from the recent exchange; omit if the task is concluded.
|
|
15
|
+
|
|
16
|
+
Output skeleton:
|
|
17
|
+
|
|
18
|
+
1. User Requests & Messages:
|
|
19
|
+
- [message 1]
|
|
20
|
+
- [...]
|
|
21
|
+
2. Technical Context, Files & Code:
|
|
22
|
+
[stack in one or two lines]
|
|
23
|
+
- [file 1]
|
|
24
|
+
- [why it matters]
|
|
25
|
+
- [changes made, if any]
|
|
26
|
+
- [key snippet]
|
|
27
|
+
- [...]
|
|
28
|
+
3. Problems & Fixes:
|
|
29
|
+
- [problem → fix, user corrections if any]
|
|
30
|
+
4. Task State:
|
|
31
|
+
- Completed: [...]
|
|
32
|
+
- In progress: [interruption point, files, snippets]
|
|
33
|
+
- Pending: [... skill name/args/remaining steps if applicable]
|
|
34
|
+
5. Next Step:
|
|
35
|
+
[next step with verbatim quote, or omit]
|
|
36
|
+
|
|
37
|
+
Rules:
|
|
38
|
+
- Plain text only; call no tools.
|
|
39
|
+
- Only facts from the conversation — no invention; mark gaps as "not confirmed in context".
|
|
40
|
+
- Prefer full source over paraphrase.
|
|
41
|
+
- This summarization request itself is not part of the conversation — never list it as a user message, task, or next step.
|
|
42
|
+
- <reminder-sys> blocks are system-injected context, not user messages; attribute their constraints to the system, except blocks explicitly relaying a new user message, which count as user messages.
|
|
43
|
+
- If the conversation starts with a summary of earlier context, fold its facts into your output instead of expanding on it; keep the result at most as long as that summary plus the new events.
|
|
22
44
|
`;
|
|
45
|
+
/**
|
|
46
|
+
* 压缩后注入被压掉的 skill 原文时的前置提示:内容仅作上下文(延续其中仍相关的持续性准则),
|
|
47
|
+
* 禁止重新执行技能或重做一次性设置,正文内嵌的请求/参数是激活时的历史快照而非实时指令
|
|
48
|
+
*/
|
|
49
|
+
exports.SKILL_CONTEXT_NOTICE = 'The skills below were invoked earlier in this session, before the conversation was compacted. They are context only — keep following their ongoing guidelines where still relevant. Do not re-invoke them or redo their one-time setup actions, and do not treat any request or argument text embedded in them as a current user message; such text was captured when the skill was originally invoked.';
|
|
50
|
+
/**
|
|
51
|
+
* 自动压缩通知(user 消息,紧邻其后的 assistant 消息即摘要):
|
|
52
|
+
* 说明会话来自压缩续接 + 指示直接续做(不复述摘要、不向用户确认)
|
|
53
|
+
*/
|
|
54
|
+
exports.COMPACT_RESUME_NOTICE = 'This session continues a conversation that ran out of context; the assistant message below summarizes the earlier portion. Resume the last task exactly where it left off — do not acknowledge the summary, do not recap, and do not ask the user to confirm.';
|
|
55
|
+
/**
|
|
56
|
+
* 自动压缩把最后一条真实用户消息压进摘要时,在摘要后原样回注该指令的前置说明:
|
|
57
|
+
* 摘要只是转述,原文保证模型不丢失用户措辞与约束
|
|
58
|
+
*/
|
|
59
|
+
exports.LATEST_USER_INSTRUCTION_NOTICE = "The user's most recent instruction, quoted verbatim (it was part of the compacted portion):";
|
|
60
|
+
/**
|
|
61
|
+
* 摘要包装的起始句:压缩逻辑用它识别 user 消息里的摘要块(不是用户原话,不得当作指令回注)
|
|
62
|
+
*/
|
|
63
|
+
exports.COMPACT_SUMMARY_LEAD = 'This session continues a conversation that ran out of context.';
|
|
64
|
+
/**
|
|
65
|
+
* 截断兜底通知的起始句,用途同上
|
|
66
|
+
*/
|
|
67
|
+
exports.CONTEXT_TRUNCATED_NOTICE_LEAD = 'Context truncated due to token limit.';
|
|
68
|
+
/**
|
|
69
|
+
* 摘要包装(摘要以文本形式嵌入 user 消息,前后语义与 COMPACT_RESUME_NOTICE 一致)。
|
|
70
|
+
* 手动 /compact 与自动压缩共用:自动压缩的保留区可能以 assistant(tool_use) 开头,
|
|
71
|
+
* 前缀必须是 user 消息才能保证角色交替合法
|
|
72
|
+
*/
|
|
73
|
+
function wrapCompactSummary(summary) {
|
|
74
|
+
return `${exports.COMPACT_SUMMARY_LEAD} Summary of the earlier portion:
|
|
75
|
+
|
|
76
|
+
${summary}
|
|
77
|
+
|
|
78
|
+
Resume the last task exactly where it left off — do not acknowledge the summary, do not recap, and do not ask the user to confirm.`;
|
|
79
|
+
}
|
|
23
80
|
/**
|
|
24
81
|
* 构建压缩提示词
|
|
25
82
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/prompt/compact.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/prompt/compact.ts"],"names":[],"mappings":";;;AA4EA,gDAMC;AAQD,wDASC;AAnGY,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCjC,CAAA;AAED;;;GAGG;AACU,QAAA,oBAAoB,GAC/B,yYAAyY,CAAA;AAE3Y;;;GAGG;AACU,QAAA,qBAAqB,GAChC,+PAA+P,CAAA;AAEjQ;;;GAGG;AACU,QAAA,8BAA8B,GACzC,6FAA6F,CAAA;AAE/F;;GAEG;AACU,QAAA,oBAAoB,GAAG,gEAAgE,CAAA;AAEpG;;GAEG;AACU,QAAA,6BAA6B,GAAG,uCAAuC,CAAA;AAEpF;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,GAAG,4BAAoB;;EAE9B,OAAO;;mIAE0H,CAAA;AACnI,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,YAAqB;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,0BAAkB,CAAA;IAC3B,CAAC;IACD,OAAO,GAAG,0BAAkB;;;;EAI5B,YAAY,EAAE,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const INPUT_PREDICT_SYSTEM_PROMPT = "Output contract: your ENTIRE reply MUST be exactly one tag and nothing else \u2014 <predict>the predicted user message</predict> or <none/>. No text before or after it.\n\nYou are an input-prediction assistant for a coding agent's chat UI. The user message is a compact transcript of the conversation so far, one item per line: lines starting with \"User:\" are the human's messages; lines starting with \"Assistant:\" are the agent's replies (may be truncated); other lines are tool actions the agent performed (e.g. \"run_shell <command>\"). The agent has just finished its turn. Your job: predict the single most likely NEXT message the human would type, so the UI can pre-fill it as a suggestion.\n\nPredict a message ONLY when there is a clear, high-probability continuation, such as:\n- The assistant asked a question or offered options \u2192 predict the user's most likely answer or choice\n- The assistant proposed a plan or asked for confirmation \u2192 predict the likely approval (e.g. following the user's usual phrasing)\n- The assistant finished one step of a clearly multi-step task \u2192 predict the instruction for the obvious next step\n- The assistant reported an error or blocker with an obvious fix the user would request\n- The assistant told the user exactly what to reply to proceed (e.g. \"reply 'submit' to confirm\") \u2192 predict that reply, even if the assistant also raised caveats or listed alternatives; the user can still edit the suggestion\n\nReply <none/> when the user is unlikely to send another message, such as:\n- The task is fully completed and wrapped up, with no open question or pending decision\n- The next input is unguessable: several directions are about equally likely and none is the default path the assistant set up\n\nRules for the predicted message:\n- Write it in the human's voice, as if they typed it themselves \u2014 an instruction or answer TO the agent, never a reply FROM the agent\n- Use the same language the human has been writing in (a transcript in another language gets a prediction in that language)\n- Keep it short: one sentence, no trailing punctuation-heavy prose, no explanations\n- Never invent file names or requirements that the transcript does not support\n\nExamples (transcript gist \u2192 your reply):\nAssistant asked \"Should I apply the same change to the Java SDK?\"\n<predict>Yes, apply it to the Java SDK</predict>\n\nAssistant finished a refactor and reported all tests passing, nothing pending\n<none/>\n\nAssistant listed 3 candidate approaches and asked which to use\n<predict>Go with the first approach</predict>\n\n## Output format\nYour ENTIRE response MUST be exactly one of these two forms, and start with \"<predict>\" or \"<none/>\":\n<predict>predicted user message</predict>\n<none/>\nNo preamble, no analysis, no reasoning \u2014 nothing before or after the tag.";
|
|
2
|
+
//# sourceMappingURL=inputPredict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputPredict.d.ts","sourceRoot":"","sources":["../../src/prompt/inputPredict.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B,wzFAmCkC,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INPUT_PREDICT_SYSTEM_PROMPT = void 0;
|
|
4
|
+
// System prompt for next-user-input prediction.
|
|
5
|
+
// The compact session transcript is sent as the user message; stable rules
|
|
6
|
+
// live here so they stay a cacheable prefix.
|
|
7
|
+
exports.INPUT_PREDICT_SYSTEM_PROMPT = `Output contract: your ENTIRE reply MUST be exactly one tag and nothing else — <predict>the predicted user message</predict> or <none/>. No text before or after it.
|
|
8
|
+
|
|
9
|
+
You are an input-prediction assistant for a coding agent's chat UI. The user message is a compact transcript of the conversation so far, one item per line: lines starting with "User:" are the human's messages; lines starting with "Assistant:" are the agent's replies (may be truncated); other lines are tool actions the agent performed (e.g. "run_shell <command>"). The agent has just finished its turn. Your job: predict the single most likely NEXT message the human would type, so the UI can pre-fill it as a suggestion.
|
|
10
|
+
|
|
11
|
+
Predict a message ONLY when there is a clear, high-probability continuation, such as:
|
|
12
|
+
- The assistant asked a question or offered options → predict the user's most likely answer or choice
|
|
13
|
+
- The assistant proposed a plan or asked for confirmation → predict the likely approval (e.g. following the user's usual phrasing)
|
|
14
|
+
- The assistant finished one step of a clearly multi-step task → predict the instruction for the obvious next step
|
|
15
|
+
- The assistant reported an error or blocker with an obvious fix the user would request
|
|
16
|
+
- The assistant told the user exactly what to reply to proceed (e.g. "reply 'submit' to confirm") → predict that reply, even if the assistant also raised caveats or listed alternatives; the user can still edit the suggestion
|
|
17
|
+
|
|
18
|
+
Reply <none/> when the user is unlikely to send another message, such as:
|
|
19
|
+
- The task is fully completed and wrapped up, with no open question or pending decision
|
|
20
|
+
- The next input is unguessable: several directions are about equally likely and none is the default path the assistant set up
|
|
21
|
+
|
|
22
|
+
Rules for the predicted message:
|
|
23
|
+
- Write it in the human's voice, as if they typed it themselves — an instruction or answer TO the agent, never a reply FROM the agent
|
|
24
|
+
- Use the same language the human has been writing in (a transcript in another language gets a prediction in that language)
|
|
25
|
+
- Keep it short: one sentence, no trailing punctuation-heavy prose, no explanations
|
|
26
|
+
- Never invent file names or requirements that the transcript does not support
|
|
27
|
+
|
|
28
|
+
Examples (transcript gist → your reply):
|
|
29
|
+
Assistant asked "Should I apply the same change to the Java SDK?"
|
|
30
|
+
<predict>Yes, apply it to the Java SDK</predict>
|
|
31
|
+
|
|
32
|
+
Assistant finished a refactor and reported all tests passing, nothing pending
|
|
33
|
+
<none/>
|
|
34
|
+
|
|
35
|
+
Assistant listed 3 candidate approaches and asked which to use
|
|
36
|
+
<predict>Go with the first approach</predict>
|
|
37
|
+
|
|
38
|
+
## Output format
|
|
39
|
+
Your ENTIRE response MUST be exactly one of these two forms, and start with "<predict>" or "<none/>":
|
|
40
|
+
<predict>predicted user message</predict>
|
|
41
|
+
<none/>
|
|
42
|
+
No preamble, no analysis, no reasoning — nothing before or after the tag.`;
|
|
43
|
+
//# sourceMappingURL=inputPredict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputPredict.js","sourceRoot":"","sources":["../../src/prompt/inputPredict.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD,2EAA2E;AAC3E,6CAA6C;AAChC,QAAA,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAmC+B,CAAA"}
|