@zooique/memora 3.0.1 → 4.0.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/CHANGELOG.md +720 -14
- package/README.en.md +4 -4
- package/README.md +303 -303
- package/config.example.json +1 -8
- package/dist/agent/agent.d.ts +48 -4
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +130 -12
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +19 -5
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +76 -13
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/backgroundTasks.d.ts +187 -0
- package/dist/agent/backgroundTasks.d.ts.map +1 -0
- package/dist/agent/backgroundTasks.js +307 -0
- package/dist/agent/backgroundTasks.js.map +1 -0
- package/dist/agent/builtinToolHandlers.d.ts +2 -1
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +8 -4
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +15 -1
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +107 -27
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/constants.d.ts +31 -0
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +31 -0
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/guardRail.d.ts +11 -0
- package/dist/agent/guardRail.d.ts.map +1 -1
- package/dist/agent/guardRail.js +36 -1
- package/dist/agent/guardRail.js.map +1 -1
- package/dist/agent/loop.d.ts +274 -22
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +587 -87
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +5 -2
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +17 -2
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/loopMetrics.d.ts +14 -0
- package/dist/agent/managers/loopMetrics.d.ts.map +1 -1
- package/dist/agent/managers/loopMetrics.js +15 -0
- package/dist/agent/managers/loopMetrics.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +1 -8
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +6 -30
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts +28 -0
- package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.js +67 -2
- package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +21 -3
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +20 -3
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +17 -0
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/managers/toolCallHelpers.d.ts +109 -28
- package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -1
- package/dist/agent/managers/toolCallHelpers.js +93 -37
- package/dist/agent/managers/toolCallHelpers.js.map +1 -1
- package/dist/agent/messageHistory.d.ts.map +1 -1
- package/dist/agent/messageHistory.js +9 -5
- package/dist/agent/messageHistory.js.map +1 -1
- package/dist/agent/seed/orchestrator.d.ts +12 -1
- package/dist/agent/seed/orchestrator.d.ts.map +1 -1
- package/dist/agent/seed/orchestrator.js +12 -1
- package/dist/agent/seed/orchestrator.js.map +1 -1
- package/dist/agent/textSanitize.d.ts +36 -0
- package/dist/agent/textSanitize.d.ts.map +1 -0
- package/dist/agent/textSanitize.js +55 -0
- package/dist/agent/textSanitize.js.map +1 -0
- package/dist/agent/toolExecutor.d.ts +48 -22
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +372 -71
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/toolLedger.d.ts +93 -41
- package/dist/agent/toolLedger.d.ts.map +1 -1
- package/dist/agent/toolLedger.js +114 -42
- package/dist/agent/toolLedger.js.map +1 -1
- package/dist/agent/toolResultOffload.d.ts +8 -0
- package/dist/agent/toolResultOffload.d.ts.map +1 -1
- package/dist/agent/toolResultOffload.js +10 -3
- package/dist/agent/toolResultOffload.js.map +1 -1
- package/dist/agent/toolRunner.d.ts +14 -7
- package/dist/agent/toolRunner.d.ts.map +1 -1
- package/dist/agent/toolRunner.js +71 -29
- package/dist/agent/toolRunner.js.map +1 -1
- package/dist/agent/tracer.d.ts +13 -1
- package/dist/agent/tracer.d.ts.map +1 -1
- package/dist/agent/types.d.ts +66 -5
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/code-exec/types.d.ts +9 -0
- package/dist/code-exec/types.d.ts.map +1 -1
- package/dist/index.d.ts +21 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -28
- package/dist/index.js.map +1 -1
- package/dist/memory/roundStore.d.ts +67 -81
- package/dist/memory/roundStore.d.ts.map +1 -1
- package/dist/memory/roundStore.js +4 -15
- package/dist/memory/roundStore.js.map +1 -1
- package/dist/memory/types.d.ts +7 -0
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +4 -0
- package/dist/memory/types.js.map +1 -1
- package/dist/role-pack/rolePackManager.d.ts +42 -10
- package/dist/role-pack/rolePackManager.d.ts.map +1 -1
- package/dist/role-pack/rolePackManager.js +65 -12
- package/dist/role-pack/rolePackManager.js.map +1 -1
- package/dist/role-pack/strategyKeys.d.ts +36 -0
- package/dist/role-pack/strategyKeys.d.ts.map +1 -1
- package/dist/role-pack/strategyKeys.js +45 -0
- package/dist/role-pack/strategyKeys.js.map +1 -1
- package/dist/security/confirmEntries.d.ts +44 -0
- package/dist/security/confirmEntries.d.ts.map +1 -0
- package/dist/security/confirmEntries.js +59 -0
- package/dist/security/confirmEntries.js.map +1 -0
- package/dist/security/pathGuard.d.ts +41 -5
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +125 -4
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/skill/skillScriptRunner.d.ts +147 -15
- package/dist/skill/skillScriptRunner.d.ts.map +1 -1
- package/dist/skill/skillScriptRunner.js +479 -68
- package/dist/skill/skillScriptRunner.js.map +1 -1
- package/dist/utils/configResourceManager.d.ts +6 -2
- package/dist/utils/configResourceManager.d.ts.map +1 -1
- package/dist/utils/configResourceManager.js +8 -2
- package/dist/utils/configResourceManager.js.map +1 -1
- package/dist/utils/errors.d.ts +9 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +9 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +57 -2
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +23 -0
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/time.d.ts +5 -2
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +5 -2
- package/dist/utils/time.js.map +1 -1
- package/docs/memora-api-reference.md +121 -20
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +6 -5
- package/package.json +1 -1
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +16 -15
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +48 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/scripts/init-novel-project.mjs +441 -441
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -60
|
@@ -1,7 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 技能脚本执行器 — L3 脚本运行时。
|
|
3
|
+
* 三级渐进披露 L3:脚本在宿主环境(隔离子进程)执行,源代码不入 LLM 上下文,
|
|
4
|
+
* 只有执行结果(stdout/stderr)作为工具返回值注入。
|
|
5
|
+
* 安全模型:继承宿主用户环境变量(用户会话环境——脚本可读项目所需配置与用户 shell 环境;
|
|
6
|
+
* 密钥默认经 SecretStorage→配置对象注入、不经 env(宿主默认路径);env 回退配置模式
|
|
7
|
+
* (MEMORA_API_KEY 等,security_rules 支持)下 key 在进程 env、对脚本可见——owner 信任
|
|
8
|
+
* 模型(默认自动批准)+ 脚本来源审阅(判据 B)为边界,视同用户本地 shell 语义)+ 超时
|
|
9
|
+
* 限制(默认 60s,最大 600s——适配脚本内 API 调用/批处理长耗时)+ 白名单 runtime(node/python/shell)+ Windows 隐藏窗口
|
|
10
|
+
* (windowsHide:true,不弹 conhost)。
|
|
11
|
+
* 注:当前为简单子进程执行,非完整沙箱(文件系统/网络隔离由宿主在生产环境实现)。
|
|
12
|
+
*/
|
|
13
|
+
import * as childProcess from 'node:child_process';
|
|
1
14
|
import type { CodeExecutionResult } from '../code-exec/types.js';
|
|
2
15
|
import type { ScriptRuntime } from '../utils/scanner.js';
|
|
3
|
-
/**
|
|
4
|
-
|
|
16
|
+
/**
|
|
17
|
+
* 收集侧**内存护栏**产物(可选)。
|
|
18
|
+
*
|
|
19
|
+
* 语义边界:这是**内存防线**产物(防 Node 进程被超长输出撑爆),与上下文侧防线
|
|
20
|
+
* (调用方 `sanitizeExternalText` 的字符上限、`appendToolMessage` 入口关的 token 落盘)
|
|
21
|
+
* **量纲与目的均不同,不是同一件事的两处实现**。
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ 只挂在 `ScriptExecutionResult`(内核子进程收集侧),**不进 `CodeExecutionResult`**——
|
|
24
|
+
* 后者是宿主 `ICodeExecutionProvider` 的公共返回类型,宿主执行器不产生这两个字段,
|
|
25
|
+
* 挂上去只会给集成方制造「我该不该填」的噪声。
|
|
26
|
+
*/
|
|
27
|
+
export interface OutputTruncationInfo {
|
|
28
|
+
/** 输出是否在收集侧被内存护栏截断 */
|
|
29
|
+
truncated?: boolean;
|
|
30
|
+
/** 被内存护栏丢弃的字节数(仅 `truncated` 为真时有意义) */
|
|
31
|
+
discardedBytes?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 脚本执行结果 = 代码执行结果形态 + 收集侧护栏信息
|
|
35
|
+
*
|
|
36
|
+
* 复用 `CodeExecutionResult`(SSOT 不重复定义四个基础字段),仅在脚本侧**扩展**——
|
|
37
|
+
* 宿主 `run_code` 链路不受影响(字段可选,传纯 `CodeExecutionResult` 即合规)。
|
|
38
|
+
*/
|
|
39
|
+
export type ScriptExecutionResult = CodeExecutionResult & OutputTruncationInfo;
|
|
40
|
+
/**
|
|
41
|
+
* 后台收割时限钳制:与同步共用 `normalizeTimeoutMs` 同一实现,只换上限常量。
|
|
42
|
+
*
|
|
43
|
+
* 单点是刻意的:后台若另写一个 clamp,就会与同步侧的「1s 下限 / 上限语义」分叉,
|
|
44
|
+
* 两处漂移后难以判断哪边是真理源。
|
|
45
|
+
*/
|
|
46
|
+
export declare function normalizeBackgroundTimeoutMs(timeoutMs: number): number;
|
|
5
47
|
/**
|
|
6
48
|
* Windows 平台 shell 档脚本守卫
|
|
7
49
|
*
|
|
@@ -22,23 +64,79 @@ export type ScriptExecutionResult = CodeExecutionResult;
|
|
|
22
64
|
* @returns 命中拦截返回显式错误文案(含替代方案),否则 null
|
|
23
65
|
*/
|
|
24
66
|
export declare function guardWindowsShellScript(scriptPath: string, runtime: ScriptRuntime, platform: NodeJS.Platform): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* 同步杀树原语——**专供** `process.on('exit')` 钩子(`BackgroundTaskRegistry` 兜底收割)
|
|
69
|
+
*
|
|
70
|
+
* 为什么必须同步(与 `killProcessTree` 并存的原因,不是冗余双轨):
|
|
71
|
+
* exit 钩子返回后 Node 立即退出,异步 `spawn` 的 fork 由 libuv 线程池派发,
|
|
72
|
+
* 可能**来不及完成** taskkill 就随宿主进程消失——杀树静默失败(假阴性)。
|
|
73
|
+
* `execFileSync` 在当前进程内同步等 taskkill 执行完,钩子返回前杀树已落地。
|
|
74
|
+
*
|
|
75
|
+
* - Windows:`execFileSync('taskkill', …)`;退出码 128(目标已退出)= 强杀已达成,静默;
|
|
76
|
+
* 其他失败(权限不足等)降级 `child.kill()` 并记 WARN。
|
|
77
|
+
* - POSIX:`process.kill(-pid, 'SIGKILL')` 本就是同步系统调用,语义与异步版一致。
|
|
78
|
+
*
|
|
79
|
+
* 调用纪律:只在 exit 钩子(或等价的「进程即将终止、无后续异步机会」语境)使用;
|
|
80
|
+
* 常规运行时收割仍走 `killProcessTree`(异步版有完整 error/close 事件处理)。
|
|
81
|
+
*/
|
|
82
|
+
export declare function killProcessTreeSync(child: childProcess.ChildProcess): void;
|
|
83
|
+
/**
|
|
84
|
+
* 裸命令 → shell 派发形态(纯函数,平台参数化可测)
|
|
85
|
+
*
|
|
86
|
+
* Windows 经 `cmd /c`,类 Unix 经 `sh -c`。**不在此引入 powershell/bash 第二档**——
|
|
87
|
+
* 那是宿主 shell 选型的议题,内核只做「命令 → 平台默认 shell」的单点映射。
|
|
88
|
+
*
|
|
89
|
+
* ⚠️ **本函数是「命令实际派发到哪个 shell」的唯一真源**(2026-10-03 审查 P0 锚点):
|
|
90
|
+
* 宿主把该事实注入 system prompt「## 运行环境 · 默认 Shell」段供模型避坑,
|
|
91
|
+
* 两侧若不一致 = 对模型说假话(曾发生:宿主报 `PowerShell` 而此处是 `cmd`,
|
|
92
|
+
* 模型写 PowerShell 语法却由 cmd 执行,每次必败)。
|
|
93
|
+
* 宿主环境快照的 `shell` 字段经公开导出**直接消费本函数派生**(environmentProvider)——
|
|
94
|
+
* 单一真源无镜像副本,改映射即两侧同步生效(与 `run_command` / `run_project_script`
|
|
95
|
+
* 的 shell 档共用此派发形态)。
|
|
96
|
+
*/
|
|
97
|
+
export declare function resolveShellCommand(command: string, platform?: NodeJS.Platform): {
|
|
98
|
+
command: string;
|
|
99
|
+
args: string[];
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* 执行裸 shell 命令(**同步**):与脚本执行共用同一套进程治理(命令执行能力方案 §13.6-A/B),
|
|
103
|
+
* 只多一层「命令 → shell 派发」解析。后台形态见 `backgroundTasks` 注册表——
|
|
104
|
+
* 同一治理实现的另一条消费路径,不是另一套实现。
|
|
105
|
+
*/
|
|
106
|
+
export declare function runShellCommand(command: string, cwd?: string, timeoutMs?: number): Promise<ScriptExecutionResult>;
|
|
107
|
+
/**
|
|
108
|
+
* 启动**后台**裸命令(立即返回,不等待进程结束)
|
|
109
|
+
*
|
|
110
|
+
* @param command 裸命令
|
|
111
|
+
* @param cwd 工作目录
|
|
112
|
+
* @param timeoutMs 收割时限(**null = 不限时**;后台任务可活过 turn,见
|
|
113
|
+
* `BackgroundTaskRegistry.detachAll`);由调用方按
|
|
114
|
+
* `BACKGROUND_MAX_TIMEOUT_MS` 钳制后传入(钳制真源不在本函数内分支)
|
|
115
|
+
* @param onSettled 终局回调(完成 / 超时 / 出错均经此,**只调用一次**)
|
|
116
|
+
* @returns 句柄:killNow = 中途终止(异步杀树原语,运行时收割用);
|
|
117
|
+
* killNowSync = 同步杀树原语(**仅** exit 钩子兜底用,见 `killProcessTreeSync`)
|
|
118
|
+
*/
|
|
119
|
+
export declare function startBackgroundCommand(command: string, cwd: string | undefined, timeoutMs: number | null, onSettled: (result: ScriptExecutionResult) => void): {
|
|
120
|
+
killNow: () => void;
|
|
121
|
+
killNowSync: () => void;
|
|
122
|
+
peek: () => ScriptExecutionResult;
|
|
123
|
+
};
|
|
25
124
|
/**
|
|
26
125
|
* 执行技能脚本:在隔离子进程中运行,收集 stdout/stderr/exitCode/timedOut
|
|
27
126
|
*
|
|
28
127
|
* @param scriptPath 脚本绝对路径
|
|
29
128
|
* @param runtime 运行时(node/python/shell 白名单三档)
|
|
30
129
|
* @param args 传给脚本的参数数组
|
|
31
|
-
* @param timeoutMs 超时(毫秒,限制在 [1s,
|
|
130
|
+
* @param timeoutMs 超时(毫秒,限制在 [1s, SYNC_MAX_TIMEOUT_MS] 内)
|
|
32
131
|
* @param cwd 子进程工作目录(可选;run_project_script 以项目根为 cwd,
|
|
33
132
|
* 使项目脚本可加载项目本地依赖/相对数据文件)
|
|
34
|
-
* @param nodePath node 可执行文件路径(可选,缺省 'node' 走 PATH
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* `
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* 此处保留该可选参数:接入点已就绪,扩展时无须再动调用链。
|
|
133
|
+
* @param nodePath node 可执行文件路径(可选,缺省 'node' 走 PATH)——宿主经
|
|
134
|
+
* `AgentOptions.scriptNodePath` 注入用户显式配置(VS Code 宿主读
|
|
135
|
+
* `memora.scriptNodePath` 工作区设置,未配置传 undefined 走缺省)。
|
|
136
|
+
* ⚠️ 若宿主想自动注入 `process.execPath`(Electron 宿主该路径指向应用二进制),
|
|
137
|
+
* 需配 `ELECTRON_RUN_AS_NODE` 一类环境变量才能以 node 语义执行 `.mjs` **文件**,
|
|
138
|
+
* 而内核只收路径、不收环境(边界铁律:内核不持有平台知识)——故内核只留路径
|
|
139
|
+
* 注入点,运行时探测与环境变量配齐是宿主侧职责。
|
|
42
140
|
*/
|
|
43
141
|
export declare function runSkillScript(scriptPath: string, runtime: ScriptRuntime, args?: string[], timeoutMs?: number, cwd?: string, nodePath?: string): Promise<ScriptExecutionResult>;
|
|
44
142
|
/**
|
|
@@ -64,10 +162,10 @@ export declare function shouldFallbackPythonToPy(runtime: ScriptRuntime, platfor
|
|
|
64
162
|
export declare function isPythonUnavailable(result: ScriptExecutionResult & {
|
|
65
163
|
enoent: boolean;
|
|
66
164
|
}, platform: NodeJS.Platform): boolean;
|
|
67
|
-
/** formatExecutionResult 的三态标签配置:前缀与详情文案(run_skill_script / run_code 各自定制) */
|
|
165
|
+
/** formatExecutionResult 的三态标签配置:前缀与详情文案(run_skill_script / run_code / run_command 各自定制) */
|
|
68
166
|
export interface ExecutionResultFormatLabels {
|
|
69
|
-
/** 三态前缀标签('SCRIPT' → [SCRIPT_TIMEOUT]/[SCRIPT_ERROR];'CODE' → [CODE_TIMEOUT]/[CODE_ERROR]) */
|
|
70
|
-
kind: 'SCRIPT' | 'CODE';
|
|
167
|
+
/** 三态前缀标签('SCRIPT' → [SCRIPT_TIMEOUT]/[SCRIPT_ERROR];'CODE' → [CODE_TIMEOUT]/[CODE_ERROR];'COMMAND' → [COMMAND_TIMEOUT]/[COMMAND_ERROR]) */
|
|
168
|
+
kind: 'SCRIPT' | 'CODE' | 'COMMAND';
|
|
71
169
|
/** 超时详情文案(如「脚本执行超时(超过 120s)」) */
|
|
72
170
|
timeoutDetail: string;
|
|
73
171
|
/** 失败详情文案(如「代码执行失败」) */
|
|
@@ -83,7 +181,7 @@ export interface ExecutionResultFormatLabels {
|
|
|
83
181
|
* @param labels 三态前缀标签与详情文案
|
|
84
182
|
* @returns 格式化后的可读字符串(供工具返回值注入 LLM 上下文)
|
|
85
183
|
*/
|
|
86
|
-
export declare function formatExecutionResult(result: CodeExecutionResult, labels: ExecutionResultFormatLabels): string;
|
|
184
|
+
export declare function formatExecutionResult(result: CodeExecutionResult & OutputTruncationInfo, labels: ExecutionResultFormatLabels): string;
|
|
87
185
|
/**
|
|
88
186
|
* 格式化脚本执行结果为可读字符串(供 tool 返回值):formatExecutionResult 的 SCRIPT 变体
|
|
89
187
|
*
|
|
@@ -94,4 +192,38 @@ export declare function formatExecutionResult(result: CodeExecutionResult, label
|
|
|
94
192
|
* @param timeoutMs 本次实际超时(毫秒);省略则用 DEFAULT_TIMEOUT_MS(与执行侧默认同源)
|
|
95
193
|
*/
|
|
96
194
|
export declare function formatScriptResult(result: ScriptExecutionResult, timeoutMs?: number): string;
|
|
195
|
+
/**
|
|
196
|
+
* 同步命令的**实际生效超时**(毫秒):run_command 同步路径的钳制真源入口。
|
|
197
|
+
*
|
|
198
|
+
* 存在的理由是「执行侧与文案侧同源」这条硬约束:`runShellCommand` 内部钳制,
|
|
199
|
+
* 若文案侧自行 clamp 就会重演「实际 60s 超时却告知超过 600s」的谎报。
|
|
200
|
+
* 调用方拿本值同时喂给执行与格式化,两侧恒等。
|
|
201
|
+
*
|
|
202
|
+
* @param timeoutMs LLM 传入值(undefined/非法 → 取默认 60s)
|
|
203
|
+
*/
|
|
204
|
+
export declare function resolveCommandTimeoutMs(timeoutMs: number | undefined): number;
|
|
205
|
+
/**
|
|
206
|
+
* 格式化命令执行结果为可读字符串(run_command 同步 / kill_command 回传 / 后台回流共用)
|
|
207
|
+
*
|
|
208
|
+
* **定长真源在此**(见 `COMMAND_RESULT_MAX_CHARS`):本函数是命令结果进上下文的唯一收口,
|
|
209
|
+
* 调用方**不要**再各自套一层上限——那会让「限了多少」在两处漂移。
|
|
210
|
+
*
|
|
211
|
+
* 超时文案用**调用方传入的本次实际生效超时**(`resolveCommandTimeoutMs` 的产物);
|
|
212
|
+
* 传 undefined 表示本次未设收割时限(后台缺省),此时只说「超时」不编造秒数——
|
|
213
|
+
* 报一个不存在的秒数比不报更坏(LLM 会据此误判该等多久)。
|
|
214
|
+
*/
|
|
215
|
+
export declare function formatCommandResult(result: ScriptExecutionResult, effectiveTimeoutMs?: number): string;
|
|
216
|
+
/**
|
|
217
|
+
* 格式化「被主动终止」的命令输出(kill_command 专用)
|
|
218
|
+
*
|
|
219
|
+
* ⚠️ 刻意**不走** `formatCommandResult`:进程被强杀时**没有退出码**——
|
|
220
|
+
* `peek()` 取的 -1 意思是「尚未退出」,不是「退出码 -1」。丢给三态格式化会被判成
|
|
221
|
+
* `[COMMAND_ERROR] 命令执行失败(退出码: -1)`,与 kill_command 头部的「已终止」
|
|
222
|
+
* 自相矛盾(对 LLM 是谎报:它会以为命令自己挂了,而不是被我们停掉)。
|
|
223
|
+
*
|
|
224
|
+
* 因此这里只如实列出截至终止时已捕获的输出,不声称任何退出状态。定长口径与
|
|
225
|
+
* `formatCommandResult` **同源**(同一对常量)——两个函数对「多少字进上下文」的
|
|
226
|
+
* 判断若有差异,LLM 就会在同一会话里看到两种长度 policy。
|
|
227
|
+
*/
|
|
228
|
+
export declare function formatKilledCommandOutput(result: ScriptExecutionResult): string;
|
|
97
229
|
//# sourceMappingURL=skillScriptRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillScriptRunner.d.ts","sourceRoot":"","sources":["../../src/skill/skillScriptRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skillScriptRunner.d.ts","sourceRoot":"","sources":["../../src/skill/skillScriptRunner.ts"],"names":[],"mappings":"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"}
|