@zqagent/core 0.2.20 → 0.3.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/README.md +1 -1
- package/README.oss.en.md +3 -3
- package/README.oss.md +8 -3
- package/README.oss.zh-TW.md +3 -3
- package/dist/McpClient-CEQBUPuC.d.cts +145 -0
- package/dist/McpClient-CEQBUPuC.d.ts +145 -0
- package/dist/{ToolRegistry-C3pTFiaJ.d.cts → ToolRegistry-Cy0fQxrb.d.ts} +2 -111
- package/dist/{ToolRegistry-C3pTFiaJ.d.ts → ToolRegistry-DouDvn9E.d.cts} +2 -111
- package/dist/{explore-RtZtb-V6.d.ts → TurnEngine-BPKhWuSI.d.cts} +108 -73
- package/dist/{explore-BgRhj6SP.d.cts → TurnEngine-DtGEuVLT.d.ts} +108 -73
- package/dist/conflictGuard-BBOOIxxK.d.cts +42 -0
- package/dist/conflictGuard-BBOOIxxK.d.ts +42 -0
- package/dist/index.cjs +5930 -1114
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +577 -195
- package/dist/index.d.ts +577 -195
- package/dist/index.js +5761 -979
- package/dist/index.js.map +1 -1
- package/dist/internal/crypto/secrets.cjs +25 -0
- package/dist/internal/crypto/secrets.cjs.map +1 -0
- package/dist/internal/crypto/secrets.d.cts +2 -0
- package/dist/internal/crypto/secrets.d.ts +2 -0
- package/dist/internal/crypto/secrets.js +3 -0
- package/dist/internal/crypto/secrets.js.map +1 -0
- package/dist/internal/engine/FileLogHook.cjs +179 -0
- package/dist/internal/engine/FileLogHook.cjs.map +1 -0
- package/dist/internal/engine/FileLogHook.d.cts +67 -0
- package/dist/internal/engine/FileLogHook.d.ts +67 -0
- package/dist/internal/engine/FileLogHook.js +144 -0
- package/dist/internal/engine/FileLogHook.js.map +1 -0
- package/dist/internal/engine/approvalView.cjs +25 -0
- package/dist/internal/engine/approvalView.cjs.map +1 -0
- package/dist/internal/engine/approvalView.d.cts +1 -0
- package/dist/internal/engine/approvalView.d.ts +1 -0
- package/dist/internal/engine/approvalView.js +3 -0
- package/dist/internal/engine/approvalView.js.map +1 -0
- package/dist/internal/engine/limits.cjs +59 -0
- package/dist/internal/engine/limits.cjs.map +1 -0
- package/dist/internal/engine/limits.d.cts +32 -0
- package/dist/internal/engine/limits.d.ts +32 -0
- package/dist/internal/engine/limits.js +31 -0
- package/dist/internal/engine/limits.js.map +1 -0
- package/dist/internal/engine/sessionNaming.cjs +47 -0
- package/dist/internal/engine/sessionNaming.cjs.map +1 -0
- package/dist/internal/engine/sessionNaming.d.cts +25 -0
- package/dist/internal/engine/sessionNaming.d.ts +25 -0
- package/dist/internal/engine/sessionNaming.js +20 -0
- package/dist/internal/engine/sessionNaming.js.map +1 -0
- package/dist/internal/llmConfig.cjs +561 -0
- package/dist/internal/llmConfig.cjs.map +1 -0
- package/dist/internal/llmConfig.d.cts +75 -0
- package/dist/internal/llmConfig.d.ts +75 -0
- package/dist/internal/llmConfig.js +535 -0
- package/dist/internal/llmConfig.js.map +1 -0
- package/dist/internal/mcp/builtin/index.cjs +685 -0
- package/dist/internal/mcp/builtin/index.cjs.map +1 -0
- package/dist/internal/mcp/builtin/index.d.cts +21 -0
- package/dist/internal/mcp/builtin/index.d.ts +21 -0
- package/dist/internal/mcp/builtin/index.js +652 -0
- package/dist/internal/mcp/builtin/index.js.map +1 -0
- package/dist/internal/mcp/config.cjs +278 -0
- package/dist/internal/mcp/config.cjs.map +1 -0
- package/dist/internal/mcp/config.d.cts +61 -0
- package/dist/internal/mcp/config.d.ts +61 -0
- package/dist/internal/mcp/config.js +235 -0
- package/dist/internal/mcp/config.js.map +1 -0
- package/dist/internal/mcp/presets.cjs +184 -0
- package/dist/internal/mcp/presets.cjs.map +1 -0
- package/dist/internal/mcp/presets.d.cts +39 -0
- package/dist/internal/mcp/presets.d.ts +39 -0
- package/dist/internal/mcp/presets.js +158 -0
- package/dist/internal/mcp/presets.js.map +1 -0
- package/dist/internal/node-name.cjs +45 -0
- package/dist/internal/node-name.cjs.map +1 -0
- package/dist/internal/node-name.d.cts +3 -0
- package/dist/internal/node-name.d.ts +3 -0
- package/dist/internal/node-name.js +10 -0
- package/dist/internal/node-name.js.map +1 -0
- package/dist/internal/paths.cjs +63 -0
- package/dist/internal/paths.cjs.map +1 -0
- package/dist/internal/paths.d.cts +17 -0
- package/dist/internal/paths.d.ts +17 -0
- package/dist/internal/paths.js +25 -0
- package/dist/internal/paths.js.map +1 -0
- package/dist/internal/providers/diagnostics.cjs +288 -0
- package/dist/internal/providers/diagnostics.cjs.map +1 -0
- package/dist/internal/providers/diagnostics.d.cts +103 -0
- package/dist/internal/providers/diagnostics.d.ts +103 -0
- package/dist/internal/providers/diagnostics.js +250 -0
- package/dist/internal/providers/diagnostics.js.map +1 -0
- package/dist/internal/providers/models.cjs +699 -0
- package/dist/internal/providers/models.cjs.map +1 -0
- package/dist/internal/providers/models.d.cts +136 -0
- package/dist/internal/providers/models.d.ts +136 -0
- package/dist/internal/providers/models.js +654 -0
- package/dist/internal/providers/models.js.map +1 -0
- package/dist/internal/terminal.cjs +161 -0
- package/dist/internal/terminal.cjs.map +1 -0
- package/dist/internal/terminal.d.cts +58 -0
- package/dist/internal/terminal.d.ts +58 -0
- package/dist/internal/terminal.js +128 -0
- package/dist/internal/terminal.js.map +1 -0
- package/dist/internal/tools/execAsync.cjs +187 -0
- package/dist/internal/tools/execAsync.cjs.map +1 -0
- package/dist/internal/tools/execAsync.d.cts +30 -0
- package/dist/internal/tools/execAsync.d.ts +30 -0
- package/dist/internal/tools/execAsync.js +162 -0
- package/dist/internal/tools/execAsync.js.map +1 -0
- package/dist/internal/tools/git.cjs +935 -0
- package/dist/internal/tools/git.cjs.map +1 -0
- package/dist/internal/tools/git.d.cts +206 -0
- package/dist/internal/tools/git.d.ts +206 -0
- package/dist/internal/tools/git.js +883 -0
- package/dist/internal/tools/git.js.map +1 -0
- package/dist/internal/tools/pathSafety.cjs +99 -0
- package/dist/internal/tools/pathSafety.cjs.map +1 -0
- package/dist/internal/tools/pathSafety.d.cts +44 -0
- package/dist/internal/tools/pathSafety.d.ts +44 -0
- package/dist/internal/tools/pathSafety.js +61 -0
- package/dist/internal/tools/pathSafety.js.map +1 -0
- package/dist/internal/tools/plan.cjs +146 -0
- package/dist/internal/tools/plan.cjs.map +1 -0
- package/dist/internal/tools/plan.d.cts +48 -0
- package/dist/internal/tools/plan.d.ts +48 -0
- package/dist/internal/tools/plan.js +117 -0
- package/dist/internal/tools/plan.js.map +1 -0
- package/dist/internal/tools/ripgrep.cjs +118 -0
- package/dist/internal/tools/ripgrep.cjs.map +1 -0
- package/dist/internal/tools/ripgrep.d.cts +6 -0
- package/dist/internal/tools/ripgrep.d.ts +6 -0
- package/dist/internal/tools/ripgrep.js +89 -0
- package/dist/internal/tools/ripgrep.js.map +1 -0
- package/dist/internal/tools/sandbox.cjs +253 -0
- package/dist/internal/tools/sandbox.cjs.map +1 -0
- package/dist/internal/tools/sandbox.d.cts +67 -0
- package/dist/internal/tools/sandbox.d.ts +67 -0
- package/dist/internal/tools/sandbox.js +213 -0
- package/dist/internal/tools/sandbox.js.map +1 -0
- package/dist/internal/tools/shell.cjs +771 -0
- package/dist/internal/tools/shell.cjs.map +1 -0
- package/dist/internal/tools/shell.d.cts +47 -0
- package/dist/internal/tools/shell.d.ts +47 -0
- package/dist/internal/tools/shell.js +731 -0
- package/dist/internal/tools/shell.js.map +1 -0
- package/dist/internal/tools/shellRuntime.cjs +220 -0
- package/dist/internal/tools/shellRuntime.cjs.map +1 -0
- package/dist/internal/tools/shellRuntime.d.cts +67 -0
- package/dist/internal/tools/shellRuntime.d.ts +67 -0
- package/dist/internal/tools/shellRuntime.js +181 -0
- package/dist/internal/tools/shellRuntime.js.map +1 -0
- package/dist/internal/update/controller.cjs +1035 -0
- package/dist/internal/update/controller.cjs.map +1 -0
- package/dist/internal/update/controller.d.cts +150 -0
- package/dist/internal/update/controller.d.ts +150 -0
- package/dist/internal/update/controller.js +991 -0
- package/dist/internal/update/controller.js.map +1 -0
- package/dist/internal/update/platform.cjs +234 -0
- package/dist/internal/update/platform.cjs.map +1 -0
- package/dist/internal/update/platform.d.cts +77 -0
- package/dist/internal/update/platform.d.ts +77 -0
- package/dist/internal/update/platform.js +184 -0
- package/dist/internal/update/platform.js.map +1 -0
- package/dist/tools/ask.d.cts +3 -1
- package/dist/tools/ask.d.ts +3 -1
- package/dist/tools/diff.cjs +17 -6
- package/dist/tools/diff.cjs.map +1 -1
- package/dist/tools/diff.d.cts +5 -2
- package/dist/tools/diff.d.ts +5 -2
- package/dist/tools/diff.js +17 -6
- package/dist/tools/diff.js.map +1 -1
- package/dist/tools/directories.d.cts +3 -1
- package/dist/tools/directories.d.ts +3 -1
- package/dist/tools/explore.cjs +1778 -204
- package/dist/tools/explore.cjs.map +1 -1
- package/dist/tools/explore.d.cts +82 -2
- package/dist/tools/explore.d.ts +82 -2
- package/dist/tools/explore.js +1780 -204
- package/dist/tools/explore.js.map +1 -1
- package/dist/tools/files.cjs +56 -21
- package/dist/tools/files.cjs.map +1 -1
- package/dist/tools/files.d.cts +6 -3
- package/dist/tools/files.d.ts +6 -3
- package/dist/tools/files.js +56 -21
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/git.cjs +34 -25
- package/dist/tools/git.cjs.map +1 -1
- package/dist/tools/git.d.cts +4 -204
- package/dist/tools/git.d.ts +4 -204
- package/dist/tools/git.js +34 -25
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/media.cjs +280 -3
- package/dist/tools/media.cjs.map +1 -1
- package/dist/tools/media.d.cts +3 -1
- package/dist/tools/media.d.ts +3 -1
- package/dist/tools/media.js +278 -1
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/plan.cjs +62 -0
- package/dist/tools/plan.cjs.map +1 -1
- package/dist/tools/plan.d.cts +4 -17
- package/dist/tools/plan.d.ts +4 -17
- package/dist/tools/plan.js +59 -0
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/search.cjs +3 -0
- package/dist/tools/search.cjs.map +1 -1
- package/dist/tools/search.d.cts +3 -1
- package/dist/tools/search.d.ts +3 -1
- package/dist/tools/search.js +3 -0
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.cjs +76 -11
- package/dist/tools/shell.cjs.map +1 -1
- package/dist/tools/shell.d.cts +5 -39
- package/dist/tools/shell.d.ts +5 -39
- package/dist/tools/shell.js +75 -11
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/todo.d.cts +3 -1
- package/dist/tools/todo.d.ts +3 -1
- package/dist/tools/web.cjs +279 -5
- package/dist/tools/web.cjs.map +1 -1
- package/dist/tools/web.d.cts +3 -1
- package/dist/tools/web.d.ts +3 -1
- package/dist/tools/web.js +275 -3
- package/dist/tools/web.js.map +1 -1
- package/dist/types-BYyXWWPW.d.cts +237 -0
- package/dist/types-BYyXWWPW.d.ts +237 -0
- package/package.json +26 -37
- package/bin/zqagent +0 -2
- package/dist/cli/index.cjs +0 -25218
- package/dist/cli/index.cjs.map +0 -1
- package/dist/cli/index.d.cts +0 -2
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js +0 -25201
- package/dist/cli/index.js.map +0 -1
- package/dist/server/index.cjs +0 -20510
- package/dist/server/index.cjs.map +0 -1
- package/dist/server/index.d.cts +0 -2
- package/dist/server/index.d.ts +0 -2
- package/dist/server/index.js +0 -20493
- package/dist/server/index.js.map +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/engine/limits.ts
|
|
21
|
+
var limits_exports = {};
|
|
22
|
+
__export(limits_exports, {
|
|
23
|
+
DEFAULT_MAX_ITERATIONS: () => DEFAULT_MAX_ITERATIONS,
|
|
24
|
+
parseMaxIterations: () => parseMaxIterations,
|
|
25
|
+
parseOptionalPositiveNumber: () => parseOptionalPositiveNumber,
|
|
26
|
+
parseRatio: () => parseRatio
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(limits_exports);
|
|
29
|
+
var DEFAULT_MAX_ITERATIONS = 800;
|
|
30
|
+
function parseMaxIterations(value, fallback) {
|
|
31
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
32
|
+
return fallback;
|
|
33
|
+
}
|
|
34
|
+
const n = Number(value);
|
|
35
|
+
if (!Number.isFinite(n) || n <= 0) return fallback;
|
|
36
|
+
return Math.floor(n);
|
|
37
|
+
}
|
|
38
|
+
function parseOptionalPositiveNumber(value) {
|
|
39
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
const n = Number(value);
|
|
43
|
+
return Number.isFinite(n) && n > 0 ? Math.floor(n) : void 0;
|
|
44
|
+
}
|
|
45
|
+
function parseRatio(value) {
|
|
46
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
47
|
+
return void 0;
|
|
48
|
+
}
|
|
49
|
+
const n = Number(value);
|
|
50
|
+
return Number.isFinite(n) && n > 0 && n <= 1 ? n : void 0;
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
DEFAULT_MAX_ITERATIONS,
|
|
55
|
+
parseMaxIterations,
|
|
56
|
+
parseOptionalPositiveNumber,
|
|
57
|
+
parseRatio
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=limits.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/engine/limits.ts"],"sourcesContent":["/**\n * 引擎运行限制的健壮解析\n *\n * 统一解析「单轮最大迭代次数」等运行限制的环境变量,避免\n * `Number(x) || fallback` 在 0 / 负数 / 非法值下静默回退的坑。\n */\n\n/**\n * 单轮最大迭代次数的缺省值。\n *\n * 未显式传入 maxIterations、且环境变量 MAX_ITERATIONS 未设置(或非法)时使用。\n * 各装配入口(TurnEngine / createDefaultEngine / CLI / Server 会话)统一引用此常量,\n * 避免默认值在多处硬编码后失去同步。\n */\nexport const DEFAULT_MAX_ITERATIONS = 800;\n\n/**\n * 解析最大迭代次数:非法 / 非正数 / 空值 → fallback;否则向下取整。\n * @param value 环境变量原始字符串(可能 undefined)\n * @param fallback 缺省值\n */\nexport function parseMaxIterations(\n value: string | undefined,\n fallback: number,\n): number {\n if (value === undefined || value === null || value.trim() === \"\") {\n return fallback;\n }\n const n = Number(value);\n if (!Number.isFinite(n) || n <= 0) return fallback;\n return Math.floor(n);\n}\n\n/**\n * 解析可选的「正数」环境变量(如 CONTEXT_WINDOW / COMPACTION_CAP_TOKENS)。\n * 空值 / 非法 / 非正数 → undefined(表示「未设置,用默认」)。\n */\nexport function parseOptionalPositiveNumber(\n value: string | undefined,\n): number | undefined {\n if (value === undefined || value === null || value.trim() === \"\") {\n return undefined;\n }\n const n = Number(value);\n return Number.isFinite(n) && n > 0 ? Math.floor(n) : undefined;\n}\n\n/**\n * 解析可选的「比例」环境变量(如 COMPACTION_THRESHOLD_PCT)。\n * 接受 0~1 之间的小数(如 0.8);空值 / 非法 / 越界 → undefined。\n */\nexport function parseRatio(value: string | undefined): number | undefined {\n if (value === undefined || value === null || value.trim() === \"\") {\n return undefined;\n }\n const n = Number(value);\n return Number.isFinite(n) && n > 0 && n <= 1 ? n : undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcO,IAAM,yBAAyB;AAO/B,SAAS,mBACd,OACA,UACQ;AACR,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,MAAI,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,EAAG,QAAO;AAC1C,SAAO,KAAK,MAAM,CAAC;AACrB;AAMO,SAAS,4BACd,OACoB;AACpB,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,SAAO,OAAO,SAAS,CAAC,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI;AACvD;AAMO,SAAS,WAAW,OAA+C;AACxE,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,SAAO,OAAO,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI;AACrD;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 引擎运行限制的健壮解析
|
|
3
|
+
*
|
|
4
|
+
* 统一解析「单轮最大迭代次数」等运行限制的环境变量,避免
|
|
5
|
+
* `Number(x) || fallback` 在 0 / 负数 / 非法值下静默回退的坑。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 单轮最大迭代次数的缺省值。
|
|
9
|
+
*
|
|
10
|
+
* 未显式传入 maxIterations、且环境变量 MAX_ITERATIONS 未设置(或非法)时使用。
|
|
11
|
+
* 各装配入口(TurnEngine / createDefaultEngine / CLI / Server 会话)统一引用此常量,
|
|
12
|
+
* 避免默认值在多处硬编码后失去同步。
|
|
13
|
+
*/
|
|
14
|
+
declare const DEFAULT_MAX_ITERATIONS = 800;
|
|
15
|
+
/**
|
|
16
|
+
* 解析最大迭代次数:非法 / 非正数 / 空值 → fallback;否则向下取整。
|
|
17
|
+
* @param value 环境变量原始字符串(可能 undefined)
|
|
18
|
+
* @param fallback 缺省值
|
|
19
|
+
*/
|
|
20
|
+
declare function parseMaxIterations(value: string | undefined, fallback: number): number;
|
|
21
|
+
/**
|
|
22
|
+
* 解析可选的「正数」环境变量(如 CONTEXT_WINDOW / COMPACTION_CAP_TOKENS)。
|
|
23
|
+
* 空值 / 非法 / 非正数 → undefined(表示「未设置,用默认」)。
|
|
24
|
+
*/
|
|
25
|
+
declare function parseOptionalPositiveNumber(value: string | undefined): number | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* 解析可选的「比例」环境变量(如 COMPACTION_THRESHOLD_PCT)。
|
|
28
|
+
* 接受 0~1 之间的小数(如 0.8);空值 / 非法 / 越界 → undefined。
|
|
29
|
+
*/
|
|
30
|
+
declare function parseRatio(value: string | undefined): number | undefined;
|
|
31
|
+
|
|
32
|
+
export { DEFAULT_MAX_ITERATIONS, parseMaxIterations, parseOptionalPositiveNumber, parseRatio };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 引擎运行限制的健壮解析
|
|
3
|
+
*
|
|
4
|
+
* 统一解析「单轮最大迭代次数」等运行限制的环境变量,避免
|
|
5
|
+
* `Number(x) || fallback` 在 0 / 负数 / 非法值下静默回退的坑。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 单轮最大迭代次数的缺省值。
|
|
9
|
+
*
|
|
10
|
+
* 未显式传入 maxIterations、且环境变量 MAX_ITERATIONS 未设置(或非法)时使用。
|
|
11
|
+
* 各装配入口(TurnEngine / createDefaultEngine / CLI / Server 会话)统一引用此常量,
|
|
12
|
+
* 避免默认值在多处硬编码后失去同步。
|
|
13
|
+
*/
|
|
14
|
+
declare const DEFAULT_MAX_ITERATIONS = 800;
|
|
15
|
+
/**
|
|
16
|
+
* 解析最大迭代次数:非法 / 非正数 / 空值 → fallback;否则向下取整。
|
|
17
|
+
* @param value 环境变量原始字符串(可能 undefined)
|
|
18
|
+
* @param fallback 缺省值
|
|
19
|
+
*/
|
|
20
|
+
declare function parseMaxIterations(value: string | undefined, fallback: number): number;
|
|
21
|
+
/**
|
|
22
|
+
* 解析可选的「正数」环境变量(如 CONTEXT_WINDOW / COMPACTION_CAP_TOKENS)。
|
|
23
|
+
* 空值 / 非法 / 非正数 → undefined(表示「未设置,用默认」)。
|
|
24
|
+
*/
|
|
25
|
+
declare function parseOptionalPositiveNumber(value: string | undefined): number | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* 解析可选的「比例」环境变量(如 COMPACTION_THRESHOLD_PCT)。
|
|
28
|
+
* 接受 0~1 之间的小数(如 0.8);空值 / 非法 / 越界 → undefined。
|
|
29
|
+
*/
|
|
30
|
+
declare function parseRatio(value: string | undefined): number | undefined;
|
|
31
|
+
|
|
32
|
+
export { DEFAULT_MAX_ITERATIONS, parseMaxIterations, parseOptionalPositiveNumber, parseRatio };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/engine/limits.ts
|
|
2
|
+
var DEFAULT_MAX_ITERATIONS = 800;
|
|
3
|
+
function parseMaxIterations(value, fallback) {
|
|
4
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
5
|
+
return fallback;
|
|
6
|
+
}
|
|
7
|
+
const n = Number(value);
|
|
8
|
+
if (!Number.isFinite(n) || n <= 0) return fallback;
|
|
9
|
+
return Math.floor(n);
|
|
10
|
+
}
|
|
11
|
+
function parseOptionalPositiveNumber(value) {
|
|
12
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
const n = Number(value);
|
|
16
|
+
return Number.isFinite(n) && n > 0 ? Math.floor(n) : void 0;
|
|
17
|
+
}
|
|
18
|
+
function parseRatio(value) {
|
|
19
|
+
if (value === void 0 || value === null || value.trim() === "") {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
const n = Number(value);
|
|
23
|
+
return Number.isFinite(n) && n > 0 && n <= 1 ? n : void 0;
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
DEFAULT_MAX_ITERATIONS,
|
|
27
|
+
parseMaxIterations,
|
|
28
|
+
parseOptionalPositiveNumber,
|
|
29
|
+
parseRatio
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/engine/limits.ts"],"sourcesContent":["/**\n * 引擎运行限制的健壮解析\n *\n * 统一解析「单轮最大迭代次数」等运行限制的环境变量,避免\n * `Number(x) || fallback` 在 0 / 负数 / 非法值下静默回退的坑。\n */\n\n/**\n * 单轮最大迭代次数的缺省值。\n *\n * 未显式传入 maxIterations、且环境变量 MAX_ITERATIONS 未设置(或非法)时使用。\n * 各装配入口(TurnEngine / createDefaultEngine / CLI / Server 会话)统一引用此常量,\n * 避免默认值在多处硬编码后失去同步。\n */\nexport const DEFAULT_MAX_ITERATIONS = 800;\n\n/**\n * 解析最大迭代次数:非法 / 非正数 / 空值 → fallback;否则向下取整。\n * @param value 环境变量原始字符串(可能 undefined)\n * @param fallback 缺省值\n */\nexport function parseMaxIterations(\n value: string | undefined,\n fallback: number,\n): number {\n if (value === undefined || value === null || value.trim() === \"\") {\n return fallback;\n }\n const n = Number(value);\n if (!Number.isFinite(n) || n <= 0) return fallback;\n return Math.floor(n);\n}\n\n/**\n * 解析可选的「正数」环境变量(如 CONTEXT_WINDOW / COMPACTION_CAP_TOKENS)。\n * 空值 / 非法 / 非正数 → undefined(表示「未设置,用默认」)。\n */\nexport function parseOptionalPositiveNumber(\n value: string | undefined,\n): number | undefined {\n if (value === undefined || value === null || value.trim() === \"\") {\n return undefined;\n }\n const n = Number(value);\n return Number.isFinite(n) && n > 0 ? Math.floor(n) : undefined;\n}\n\n/**\n * 解析可选的「比例」环境变量(如 COMPACTION_THRESHOLD_PCT)。\n * 接受 0~1 之间的小数(如 0.8);空值 / 非法 / 越界 → undefined。\n */\nexport function parseRatio(value: string | undefined): number | undefined {\n if (value === undefined || value === null || value.trim() === \"\") {\n return undefined;\n }\n const n = Number(value);\n return Number.isFinite(n) && n > 0 && n <= 1 ? n : undefined;\n}\n"],"mappings":";AAcO,IAAM,yBAAyB;AAO/B,SAAS,mBACd,OACA,UACQ;AACR,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,MAAI,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,EAAG,QAAO;AAC1C,SAAO,KAAK,MAAM,CAAC;AACrB;AAMO,SAAS,4BACd,OACoB;AACpB,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,SAAO,OAAO,SAAS,CAAC,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI;AACvD;AAMO,SAAS,WAAW,OAA+C;AACxE,MAAI,UAAU,UAAa,UAAU,QAAQ,MAAM,KAAK,MAAM,IAAI;AAChE,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,KAAK;AACtB,SAAO,OAAO,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI;AACrD;","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/engine/sessionNaming.ts
|
|
21
|
+
var sessionNaming_exports = {};
|
|
22
|
+
__export(sessionNaming_exports, {
|
|
23
|
+
AUTO_NAME_TASK_COUNTS: () => AUTO_NAME_TASK_COUNTS,
|
|
24
|
+
sanitizeSessionName: () => sanitizeSessionName,
|
|
25
|
+
shouldAutoName: () => shouldAutoName
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(sessionNaming_exports);
|
|
28
|
+
var AUTO_NAME_TASK_COUNTS = [1, 3, 5];
|
|
29
|
+
function shouldAutoName(taskCount, nameSource) {
|
|
30
|
+
return nameSource !== "user" && AUTO_NAME_TASK_COUNTS.includes(taskCount);
|
|
31
|
+
}
|
|
32
|
+
function sanitizeSessionName(raw) {
|
|
33
|
+
if (!raw) return null;
|
|
34
|
+
let name = raw.trim().split(/\r?\n/)[0].trim();
|
|
35
|
+
name = name.replace(/^["'“”「『《〈]+|["'”」』》〉]+$/g, "").trim();
|
|
36
|
+
name = name.replace(/^(会话名称|名称|标题|session name|title)\s*[::]\s*/i, "").trim();
|
|
37
|
+
if (!name) return null;
|
|
38
|
+
if (name.length > 30) name = name.slice(0, 30);
|
|
39
|
+
return name;
|
|
40
|
+
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
AUTO_NAME_TASK_COUNTS,
|
|
44
|
+
sanitizeSessionName,
|
|
45
|
+
shouldAutoName
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=sessionNaming.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/engine/sessionNaming.ts"],"sourcesContent":["/**\n * 会话命名纯逻辑(CLI 与 Server 共用)\n *\n * 触发时机:任务成功完成第 1/3/5 次时自动生成会话名。\n * 用户手动改名(nameSource=user)后永不再自动生成。\n */\n\n/** 触发自动生成会话名的任务完成次数 */\nexport const AUTO_NAME_TASK_COUNTS = [1, 3, 5];\n\nexport type SessionNameSource = \"auto\" | \"user\";\n\n/**\n * 是否应在第 taskCount 次任务完成后自动生成会话名。\n * 用户手动改名(nameSource === \"user\")后永不再自动生成。\n */\nexport function shouldAutoName(\n taskCount: number,\n nameSource?: SessionNameSource,\n): boolean {\n return nameSource !== \"user\" && AUTO_NAME_TASK_COUNTS.includes(taskCount);\n}\n\n/**\n * 清洗 AI 生成的会话名:\n * - 取首行(去掉换行与多余解释);\n * - 剥离首尾引号/书名号等包裹符;\n * - 去掉「会话名称:」之类前缀;\n * - 超长截断到 30 字;\n * - 结果为空返回 null。\n */\nexport function sanitizeSessionName(\n raw: string | null | undefined,\n): string | null {\n if (!raw) return null;\n let name = raw.trim().split(/\\r?\\n/)[0]!.trim();\n name = name.replace(/^[\"'“”「『《〈]+|[\"'”」』》〉]+$/g, \"\").trim();\n name = name.replace(/^(会话名称|名称|标题|session name|title)\\s*[::]\\s*/i, \"\").trim();\n if (!name) return null;\n if (name.length > 30) name = name.slice(0, 30);\n return name;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,IAAM,wBAAwB,CAAC,GAAG,GAAG,CAAC;AAQtC,SAAS,eACd,WACA,YACS;AACT,SAAO,eAAe,UAAU,sBAAsB,SAAS,SAAS;AAC1E;AAUO,SAAS,oBACd,KACe;AACf,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,CAAC,EAAG,KAAK;AAC9C,SAAO,KAAK,QAAQ,6BAA6B,EAAE,EAAE,KAAK;AAC1D,SAAO,KAAK,QAAQ,+CAA+C,EAAE,EAAE,KAAK;AAC5E,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI,KAAK,SAAS,GAAI,QAAO,KAAK,MAAM,GAAG,EAAE;AAC7C,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 会话命名纯逻辑(CLI 与 Server 共用)
|
|
3
|
+
*
|
|
4
|
+
* 触发时机:任务成功完成第 1/3/5 次时自动生成会话名。
|
|
5
|
+
* 用户手动改名(nameSource=user)后永不再自动生成。
|
|
6
|
+
*/
|
|
7
|
+
/** 触发自动生成会话名的任务完成次数 */
|
|
8
|
+
declare const AUTO_NAME_TASK_COUNTS: number[];
|
|
9
|
+
type SessionNameSource = "auto" | "user";
|
|
10
|
+
/**
|
|
11
|
+
* 是否应在第 taskCount 次任务完成后自动生成会话名。
|
|
12
|
+
* 用户手动改名(nameSource === "user")后永不再自动生成。
|
|
13
|
+
*/
|
|
14
|
+
declare function shouldAutoName(taskCount: number, nameSource?: SessionNameSource): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 清洗 AI 生成的会话名:
|
|
17
|
+
* - 取首行(去掉换行与多余解释);
|
|
18
|
+
* - 剥离首尾引号/书名号等包裹符;
|
|
19
|
+
* - 去掉「会话名称:」之类前缀;
|
|
20
|
+
* - 超长截断到 30 字;
|
|
21
|
+
* - 结果为空返回 null。
|
|
22
|
+
*/
|
|
23
|
+
declare function sanitizeSessionName(raw: string | null | undefined): string | null;
|
|
24
|
+
|
|
25
|
+
export { AUTO_NAME_TASK_COUNTS, type SessionNameSource, sanitizeSessionName, shouldAutoName };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 会话命名纯逻辑(CLI 与 Server 共用)
|
|
3
|
+
*
|
|
4
|
+
* 触发时机:任务成功完成第 1/3/5 次时自动生成会话名。
|
|
5
|
+
* 用户手动改名(nameSource=user)后永不再自动生成。
|
|
6
|
+
*/
|
|
7
|
+
/** 触发自动生成会话名的任务完成次数 */
|
|
8
|
+
declare const AUTO_NAME_TASK_COUNTS: number[];
|
|
9
|
+
type SessionNameSource = "auto" | "user";
|
|
10
|
+
/**
|
|
11
|
+
* 是否应在第 taskCount 次任务完成后自动生成会话名。
|
|
12
|
+
* 用户手动改名(nameSource === "user")后永不再自动生成。
|
|
13
|
+
*/
|
|
14
|
+
declare function shouldAutoName(taskCount: number, nameSource?: SessionNameSource): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 清洗 AI 生成的会话名:
|
|
17
|
+
* - 取首行(去掉换行与多余解释);
|
|
18
|
+
* - 剥离首尾引号/书名号等包裹符;
|
|
19
|
+
* - 去掉「会话名称:」之类前缀;
|
|
20
|
+
* - 超长截断到 30 字;
|
|
21
|
+
* - 结果为空返回 null。
|
|
22
|
+
*/
|
|
23
|
+
declare function sanitizeSessionName(raw: string | null | undefined): string | null;
|
|
24
|
+
|
|
25
|
+
export { AUTO_NAME_TASK_COUNTS, type SessionNameSource, sanitizeSessionName, shouldAutoName };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/engine/sessionNaming.ts
|
|
2
|
+
var AUTO_NAME_TASK_COUNTS = [1, 3, 5];
|
|
3
|
+
function shouldAutoName(taskCount, nameSource) {
|
|
4
|
+
return nameSource !== "user" && AUTO_NAME_TASK_COUNTS.includes(taskCount);
|
|
5
|
+
}
|
|
6
|
+
function sanitizeSessionName(raw) {
|
|
7
|
+
if (!raw) return null;
|
|
8
|
+
let name = raw.trim().split(/\r?\n/)[0].trim();
|
|
9
|
+
name = name.replace(/^["'“”「『《〈]+|["'”」』》〉]+$/g, "").trim();
|
|
10
|
+
name = name.replace(/^(会话名称|名称|标题|session name|title)\s*[::]\s*/i, "").trim();
|
|
11
|
+
if (!name) return null;
|
|
12
|
+
if (name.length > 30) name = name.slice(0, 30);
|
|
13
|
+
return name;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
AUTO_NAME_TASK_COUNTS,
|
|
17
|
+
sanitizeSessionName,
|
|
18
|
+
shouldAutoName
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=sessionNaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/engine/sessionNaming.ts"],"sourcesContent":["/**\n * 会话命名纯逻辑(CLI 与 Server 共用)\n *\n * 触发时机:任务成功完成第 1/3/5 次时自动生成会话名。\n * 用户手动改名(nameSource=user)后永不再自动生成。\n */\n\n/** 触发自动生成会话名的任务完成次数 */\nexport const AUTO_NAME_TASK_COUNTS = [1, 3, 5];\n\nexport type SessionNameSource = \"auto\" | \"user\";\n\n/**\n * 是否应在第 taskCount 次任务完成后自动生成会话名。\n * 用户手动改名(nameSource === \"user\")后永不再自动生成。\n */\nexport function shouldAutoName(\n taskCount: number,\n nameSource?: SessionNameSource,\n): boolean {\n return nameSource !== \"user\" && AUTO_NAME_TASK_COUNTS.includes(taskCount);\n}\n\n/**\n * 清洗 AI 生成的会话名:\n * - 取首行(去掉换行与多余解释);\n * - 剥离首尾引号/书名号等包裹符;\n * - 去掉「会话名称:」之类前缀;\n * - 超长截断到 30 字;\n * - 结果为空返回 null。\n */\nexport function sanitizeSessionName(\n raw: string | null | undefined,\n): string | null {\n if (!raw) return null;\n let name = raw.trim().split(/\\r?\\n/)[0]!.trim();\n name = name.replace(/^[\"'“”「『《〈]+|[\"'”」』》〉]+$/g, \"\").trim();\n name = name.replace(/^(会话名称|名称|标题|session name|title)\\s*[::]\\s*/i, \"\").trim();\n if (!name) return null;\n if (name.length > 30) name = name.slice(0, 30);\n return name;\n}\n"],"mappings":";AAQO,IAAM,wBAAwB,CAAC,GAAG,GAAG,CAAC;AAQtC,SAAS,eACd,WACA,YACS;AACT,SAAO,eAAe,UAAU,sBAAsB,SAAS,SAAS;AAC1E;AAUO,SAAS,oBACd,KACe;AACf,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,CAAC,EAAG,KAAK;AAC9C,SAAO,KAAK,QAAQ,6BAA6B,EAAE,EAAE,KAAK;AAC1D,SAAO,KAAK,QAAQ,+CAA+C,EAAE,EAAE,KAAK;AAC5E,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI,KAAK,SAAS,GAAI,QAAO,KAAK,MAAM,GAAG,EAAE;AAC7C,SAAO;AACT;","names":[]}
|