sema-core 2.0.2 → 2.0.3

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.
Files changed (56) hide show
  1. package/dist/conf/config.d.ts +1 -0
  2. package/dist/conf/config.d.ts.map +1 -1
  3. package/dist/conf/config.js +3 -1
  4. package/dist/conf/config.js.map +1 -1
  5. package/dist/core/SemaEngine.d.ts +6 -0
  6. package/dist/core/SemaEngine.d.ts.map +1 -1
  7. package/dist/core/SemaEngine.js +79 -11
  8. package/dist/core/SemaEngine.js.map +1 -1
  9. package/dist/core/SemaSession.d.ts +8 -0
  10. package/dist/core/SemaSession.d.ts.map +1 -1
  11. package/dist/core/SemaSession.js +10 -0
  12. package/dist/core/SemaSession.js.map +1 -1
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/manager/CheckpointManager.d.ts +52 -0
  16. package/dist/manager/CheckpointManager.d.ts.map +1 -0
  17. package/dist/manager/CheckpointManager.js +206 -0
  18. package/dist/manager/CheckpointManager.js.map +1 -0
  19. package/dist/manager/PermissionManager.d.ts.map +1 -1
  20. package/dist/manager/PermissionManager.js +59 -30
  21. package/dist/manager/PermissionManager.js.map +1 -1
  22. package/dist/tools/EditNotebook.d.ts.map +1 -1
  23. package/dist/tools/EditNotebook.js +3 -0
  24. package/dist/tools/EditNotebook.js.map +1 -1
  25. package/dist/tools/PatchFile.d.ts.map +1 -1
  26. package/dist/tools/PatchFile.js +3 -0
  27. package/dist/tools/PatchFile.js.map +1 -1
  28. package/dist/tools/WriteFile.d.ts.map +1 -1
  29. package/dist/tools/WriteFile.js +3 -0
  30. package/dist/tools/WriteFile.js.map +1 -1
  31. package/dist/types/fork.d.ts +46 -0
  32. package/dist/types/fork.d.ts.map +1 -0
  33. package/dist/types/fork.js +3 -0
  34. package/dist/types/fork.js.map +1 -0
  35. package/dist/types/message.d.ts +1 -0
  36. package/dist/types/message.d.ts.map +1 -1
  37. package/dist/util/commands.d.ts +2 -7
  38. package/dist/util/commands.d.ts.map +1 -1
  39. package/dist/util/commands.js +8 -39
  40. package/dist/util/commands.js.map +1 -1
  41. package/dist/util/diff.d.ts +13 -0
  42. package/dist/util/diff.d.ts.map +1 -1
  43. package/dist/util/diff.js +18 -0
  44. package/dist/util/diff.js.map +1 -1
  45. package/dist/util/history.d.ts.map +1 -1
  46. package/dist/util/history.js +15 -0
  47. package/dist/util/history.js.map +1 -1
  48. package/dist/util/savePath.d.ts +13 -1
  49. package/dist/util/savePath.d.ts.map +1 -1
  50. package/dist/util/savePath.js +24 -3
  51. package/dist/util/savePath.js.map +1 -1
  52. package/dist/util/snapshotStore.d.ts +29 -0
  53. package/dist/util/snapshotStore.d.ts.map +1 -0
  54. package/dist/util/snapshotStore.js +134 -0
  55. package/dist/util/snapshotStore.js.map +1 -0
  56. package/package.json +1 -1
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ /**
3
+ * 会话 Fork 文件级快照管理(单例)
4
+ *
5
+ * 职责:
6
+ * - 维护每会话的 EditLog(文件"改动前镜像"的追加日志),通过 snapshotStore 持久化
7
+ * - 提供 fork 预览(preview)、回滚计划(computeRestorePlan)与回滚执行(applyRestore)
8
+ * - 原地回退时截断 EditLog(truncateEditLog)
9
+ *
10
+ * 设计要点见计划:每文件每 turn-segment 只捕获一次;失败关闭(fail-closed);
11
+ * 回滚按字节级整文件还原;不处理外部修改冲突。
12
+ * blob/editlog 的文件 IO 与退场清理在 util/snapshotStore.ts(纯 IO,避免循环依赖)。
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getCheckpointManager = void 0;
16
+ const fs_1 = require("fs");
17
+ const path_1 = require("path");
18
+ const ConfManager_1 = require("./ConfManager");
19
+ const StateManager_1 = require("./StateManager");
20
+ const file_1 = require("../util/file");
21
+ const diff_1 = require("../util/diff");
22
+ const snapshotStore_1 = require("../util/snapshotStore");
23
+ class CheckpointManager {
24
+ constructor() {
25
+ // 每会话内存中的 EditLog(懒加载自磁盘)
26
+ this.editLogs = new Map();
27
+ // 每会话当前 turn-segment 起始 seq(beginTurn 时设置)
28
+ this.segmentStarts = new Map();
29
+ }
30
+ projectPath() {
31
+ return (0, ConfManager_1.getConfManager)().getCoreConfig()?.workingDir;
32
+ }
33
+ getEditLog(sessionId) {
34
+ let log = this.editLogs.get(sessionId);
35
+ if (!log) {
36
+ log = (0, snapshotStore_1.loadEditLog)(sessionId, this.projectPath());
37
+ this.editLogs.set(sessionId, log);
38
+ }
39
+ return log;
40
+ }
41
+ persist(sessionId) {
42
+ (0, snapshotStore_1.saveEditLog)(sessionId, this.editLogs.get(sessionId) ?? [], this.projectPath());
43
+ }
44
+ /** 读 blob 并按 LF 归一化为文本(仅用于预览的行数/diff,回滚仍用原始字节) */
45
+ readBlobText(hash) {
46
+ return (0, snapshotStore_1.readBlob)(hash, this.projectPath()).toString('utf8').replace(/\r\n/g, '\n').replace(/\r/g, '\n');
47
+ }
48
+ // ============================================================
49
+ // turn 锚点
50
+ // ============================================================
51
+ /** 开始一个新的 turn:返回当前 EditLog 长度并设为本 segment 起点 */
52
+ beginTurn(sessionId) {
53
+ const seq = this.getEditLog(sessionId).length;
54
+ this.segmentStarts.set(sessionId, seq);
55
+ return seq;
56
+ }
57
+ /** 当前 EditLog 记录数(= 下一条 fork 锚点值) */
58
+ getEditCount(sessionId) {
59
+ return this.getEditLog(sessionId).length;
60
+ }
61
+ // ============================================================
62
+ // 捕获(存的入口)— fail-closed
63
+ // ============================================================
64
+ /**
65
+ * 在工具写盘前记录文件的"改动前镜像"。
66
+ * 失败关闭:捕获失败抛错,由调用方令本次工具调用失败(不写盘)。
67
+ */
68
+ recordPreEdit(sessionId, agentId, fullFilePath) {
69
+ try {
70
+ const log = this.getEditLog(sessionId);
71
+ const segStart = this.segmentStarts.get(sessionId) ?? 0;
72
+ // 去重:该文件在当前 segment 已捕获过段起始镜像
73
+ if (log.some(r => r.filePath === fullFilePath && r.seq >= segStart)) {
74
+ return;
75
+ }
76
+ const existedBefore = (0, fs_1.existsSync)(fullFilePath);
77
+ let blobHash = null;
78
+ if (existedBefore) {
79
+ blobHash = (0, snapshotStore_1.writeBlob)((0, fs_1.readFileSync)(fullFilePath), this.projectPath());
80
+ }
81
+ log.push({
82
+ seq: log.length,
83
+ agentId,
84
+ filePath: fullFilePath,
85
+ blobHash,
86
+ existedBefore,
87
+ ts: Date.now(),
88
+ });
89
+ this.persist(sessionId);
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Failed to capture checkpoint before editing ${fullFilePath}: ${error instanceof Error ? error.message : String(error)}`);
93
+ }
94
+ }
95
+ // ============================================================
96
+ // 回滚计划 / 预览 / 执行
97
+ // ============================================================
98
+ /** 选取回滚集:seq >= forkSeq 的记录中,每个文件取最早的一条 */
99
+ computeRestorePlan(sessionId, forkSeq) {
100
+ const log = this.getEditLog(sessionId);
101
+ const byFile = new Map();
102
+ for (const r of log) {
103
+ if (r.seq < forkSeq)
104
+ continue;
105
+ const existing = byFile.get(r.filePath);
106
+ if (!existing || r.seq < existing.seq) {
107
+ byFile.set(r.filePath, r);
108
+ }
109
+ }
110
+ return Array.from(byFile.values()).map(r => ({
111
+ filePath: r.filePath,
112
+ blobHash: r.blobHash,
113
+ existedBefore: r.existedBefore,
114
+ }));
115
+ }
116
+ /** 预览:在 messageUuid 处恢复文件会改动哪些文件、各自增删行数(只读) */
117
+ preview(sessionId, messageUuid) {
118
+ const history = (0, StateManager_1.getStateManager)().session(sessionId).getMessageHistory();
119
+ const msg = history.find(m => m.type === 'user' && m.uuid === messageUuid);
120
+ const forkSeq = msg?.checkpointSeq;
121
+ if (!msg || forkSeq === undefined) {
122
+ return { messageUuid, canRestoreFiles: false, files: [] };
123
+ }
124
+ const plan = this.computeRestorePlan(sessionId, forkSeq);
125
+ const files = plan.map(p => this.describeChange(p));
126
+ return { messageUuid, canRestoreFiles: true, files };
127
+ }
128
+ /** 执行回滚(仅 fork(restoreFiles:true) 调用)。返回实际处理的文件路径。 */
129
+ applyRestore(plan) {
130
+ const restored = [];
131
+ for (const p of plan) {
132
+ if (!p.existedBefore) {
133
+ // fork 后才新建的文件 → 删除以回到 fork 态;已被外部删则视为已达成
134
+ try {
135
+ if ((0, fs_1.existsSync)(p.filePath))
136
+ (0, fs_1.unlinkSync)(p.filePath);
137
+ }
138
+ catch (error) {
139
+ if (error?.code !== 'ENOENT')
140
+ throw error;
141
+ }
142
+ }
143
+ else {
144
+ const buf = (0, snapshotStore_1.readBlob)(p.blobHash, this.projectPath());
145
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(p.filePath), { recursive: true });
146
+ (0, fs_1.writeFileSync)(p.filePath, buf); // 字节级还原
147
+ }
148
+ restored.push(p.filePath);
149
+ }
150
+ return restored;
151
+ }
152
+ /** 原地回退时把 seq >= forkSeq 的记录截掉(被撤销的快照记录丢弃) */
153
+ truncateEditLog(sessionId, forkSeq) {
154
+ const kept = this.getEditLog(sessionId).filter(r => r.seq < forkSeq);
155
+ this.editLogs.set(sessionId, kept);
156
+ this.segmentStarts.set(sessionId, kept.length);
157
+ this.persist(sessionId);
158
+ }
159
+ /** 释放某会话的内存 EditLog(磁盘文件保留,供重新打开/再次 fork 使用) */
160
+ forgetSession(sessionId) {
161
+ this.editLogs.delete(sessionId);
162
+ this.segmentStarts.delete(sessionId);
163
+ }
164
+ // ============================================================
165
+ // 内部:描述单文件改动
166
+ // ============================================================
167
+ describeChange(p) {
168
+ const displayPath = (0, file_1.getDisplayPath)(p.filePath);
169
+ const binary = (0, file_1.isBinaryFile)(p.filePath);
170
+ const currentExists = (0, fs_1.existsSync)(p.filePath);
171
+ const lineCount = (content) => (content === '' ? 0 : content.split('\n').length);
172
+ // 该文件 fork 后才新建 → 回滚 = 删除
173
+ if (!p.existedBefore) {
174
+ let removals = 0;
175
+ if (currentExists && !binary) {
176
+ removals = lineCount((0, file_1.readTextContent)(p.filePath).content);
177
+ }
178
+ return this.makeChange(p.filePath, displayPath, 'delete', 0, removals, binary);
179
+ }
180
+ const targetText = binary ? '' : this.readBlobText(p.blobHash);
181
+ // 旧文件被删 → 回滚 = 重新写回
182
+ if (!currentExists) {
183
+ const additions = binary ? 0 : lineCount(targetText);
184
+ return this.makeChange(p.filePath, displayPath, 'recreate', additions, 0, binary);
185
+ }
186
+ // 覆盖回旧内容
187
+ if (binary) {
188
+ return this.makeChange(p.filePath, displayPath, 'modify', 0, 0, true);
189
+ }
190
+ const current = (0, file_1.readTextContent)(p.filePath).content;
191
+ const { additions, removals } = (0, diff_1.countPatchLines)((0, diff_1.diffContents)(p.filePath, current, targetText));
192
+ return this.makeChange(p.filePath, displayPath, 'modify', additions, removals, false);
193
+ }
194
+ makeChange(filePath, displayPath, effect, additions, removals, binary) {
195
+ return { filePath, displayPath, effect, additions, removals, ...(binary ? { binary: true } : {}) };
196
+ }
197
+ }
198
+ let instance = null;
199
+ const getCheckpointManager = () => {
200
+ if (!instance) {
201
+ instance = new CheckpointManager();
202
+ }
203
+ return instance;
204
+ };
205
+ exports.getCheckpointManager = getCheckpointManager;
206
+ //# sourceMappingURL=CheckpointManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckpointManager.js","sourceRoot":"","sources":["../../src/manager/CheckpointManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionManager.d.ts","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAqDzC,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAClF,KAAK,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AA+BpD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,IAAI,EACV,OAAO,kBAAkB,EACzB,iBAAiB,eAAe,EAChC,mBAAmB,OAAO,EAC1B,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,QAAQ,MAAM,KACb,OAAO,CAAC,qBAAqB,CAgG/B,CAAA;AA2GD,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
1
+ {"version":3,"file":"PermissionManager.d.ts","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AA8DzC,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAClF,KAAK,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AA+BpD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,IAAI,EACV,OAAO,kBAAkB,EACzB,iBAAiB,eAAe,EAChC,mBAAmB,OAAO,EAC1B,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,QAAQ,MAAM,KACb,OAAO,CAAC,qBAAqB,CAgG/B,CAAA;AA6HD,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -32,6 +32,13 @@ const SAFE_COMMANDS = new Set([
32
32
  'pwd', 'tree', 'date', 'which',
33
33
  'ls', 'find', 'grep', 'head', 'tail', 'cat', 'du', 'wc', 'echo', 'env', 'printenv'
34
34
  ]);
35
+ // 子命令字符长度上限:超过则跳过前缀提取(如内联脚本 python -c "...大段...",提取前缀无意义),
36
+ // 同时不提供「按前缀授权」,只允许单次确认。
37
+ // 取值偏宽:容得下带多个长绝对路径的正常命令;超限仅丢失「按前缀授权」便利,不影响命令本身可单次执行。
38
+ const MAX_PREFIX_EXTRACT_LEN = 512;
39
+ // 精确命令授权(run_shell(<完整命令>))的命令长度上限:前缀提取失败时,仅当整条命令足够短才退化为
40
+ // 「按完整命令授权」。过长的完整命令逐字命中概率低,精确授权意义不大,故超过此长度只允许单次确认。
41
+ const MAX_EXACT_AUTH_LEN = 64;
35
42
  const FILE_EDIT_TOOLS = new Set([
36
43
  tool_1.TOOL_NAME_PATCH_FILE,
37
44
  tool_1.TOOL_NAME_WRITE_FILE,
@@ -172,19 +179,37 @@ function runShellToolHasExactMatch(tool, command, allowedTools) {
172
179
  const keyWithPrefix = getPermissionKey(tool, { command }, command);
173
180
  return allowedTools.includes(keyWithPrefix);
174
181
  }
175
- function isRunShellCommandPermitted(tool, command, prefix, allowedTools) {
182
+ // 已保存的前缀授权 run_shell(P:*) 用字符串前缀匹配判定覆盖,无需模型提取前缀
183
+ function matchesSavedPrefix(command, allowedTools) {
184
+ const open = `${RunShell_1.RunShell.name}(`;
185
+ for (const entry of allowedTools) {
186
+ if (!entry.startsWith(open) || !entry.endsWith(':*)'))
187
+ continue;
188
+ const prefix = entry.slice(open.length, -':*)'.length);
189
+ if (prefix && (command === prefix || command.startsWith(`${prefix} `)))
190
+ return true;
191
+ }
192
+ return false;
193
+ }
194
+ function isRunShellCommandPermitted(tool, command, allowedTools) {
176
195
  return runShellToolHasExactMatch(tool, command, allowedTools) ||
177
- allowedTools.includes(getPermissionKey(tool, { command }, prefix));
196
+ matchesSavedPrefix(command, allowedTools);
178
197
  }
179
198
  async function checkRunShellPermission(tool, command, abortController, allowedTools, agentId, sessionId, toolId) {
180
- // 移除当前工作目录前缀
199
+ // 移除当前工作目录前缀
181
200
  command = command.replace(`cd ${(0, cwd_1.readInitialCwd)()} && `, '');
201
+ // 先拆分子命令并做注入检测——必须先于白名单/AutoRun 放行,否则白名单主命令词(echo/cat/grep 等)
202
+ // 夹带 $()、`` 命令替换或换行即可绕过检测(如 echo $(id))。检出注入 → 转人工且不提供"永久允许"
203
+ const subCommands = (0, commands_1.splitCommand)(command);
204
+ if (subCommands.some(commands_1.hasCommandInjection)) {
205
+ return requestPermissionViaEvent(tool, { command }, null, abortController, agentId, sessionId, toolId, false, true);
206
+ }
182
207
  // 命中白名单或项目配置已允许
183
208
  if (runShellToolHasExactMatch(tool, command, allowedTools)) {
184
209
  return { result: true };
185
210
  }
186
- // AutoRun 档位:先做安全判断,判定 safe 直接放行,省去后续的前缀提取(同为一次快速模型调用)。
187
- // 仅当判定有风险时才需要前缀:既用于匹配已保存的前缀授权,也用于人工弹窗选项。
211
+ // AutoRun 档位:对整条命令做一次安全判断,判定 safe 直接放行;
212
+ // 判定有风险时继续走下面的确定性覆盖匹配(已保存授权仍可放行),否则转人工。
188
213
  const runtime = (0, StateManager_1.getStateManager)().session(sessionId);
189
214
  if (runtime.isAutoRun()) {
190
215
  let safe = false;
@@ -201,31 +226,35 @@ async function checkRunShellPermission(tool, command, abortController, allowedTo
201
226
  }
202
227
  (0, log_1.logDebug)(`[Permission][AutoRun]${tool.name} 判定有风险,转人工申请`);
203
228
  }
204
- const subCommands = (0, commands_1.splitCommand)(command);
205
- // LLM 提取前缀
206
- const commandInfo = await (0, commands_1.getCommandSubcommandPrefix)(command, abortController.signal, sessionId);
207
- // 防止中断后,还继续处理如弹出权限选择
208
- (0, errors_1.checkAbortSignal)(abortController);
209
- if (!commandInfo || commandInfo.commandInjectionDetected) {
210
- return runShellToolHasExactMatch(tool, command, allowedTools)
211
- ? { result: true }
212
- : requestPermissionViaEvent(tool, { command }, null, abortController, agentId, sessionId, toolId, false, true);
213
- }
214
- if (subCommands.length < 2) {
215
- return isRunShellCommandPermitted(tool, command, commandInfo.commandPrefix, allowedTools)
216
- ? { result: true }
217
- : requestPermissionViaEvent(tool, { command }, commandInfo.commandPrefix, abortController, agentId, sessionId, toolId, true, true);
218
- }
219
- const allSubCommandsAllowed = subCommands.every(subCmd => {
220
- const prefixResult = commandInfo.subcommandPrefixes.get(subCmd);
221
- if (!prefixResult || prefixResult.commandInjectionDetected)
222
- return false;
223
- return isRunShellCommandPermitted(tool, subCmd, prefixResult.commandPrefix, allowedTools);
224
- });
225
- // 如果不是所有子命令都被允许,请求权限时使用主命令的前缀
226
- return allSubCommandsAllowed
227
- ? { result: true }
228
- : requestPermissionViaEvent(tool, { command }, commandInfo.commandPrefix, abortController, agentId, sessionId, toolId, true, true);
229
+ // 每个子命令都被 SAFE_COMMANDS / 精确授权 / 已保存前缀覆盖 → 放行(注入已在函数开头排除)
230
+ if (subCommands.length > 0 && subCommands.every(subCmd => isRunShellCommandPermitted(tool, subCmd, allowedTools))) {
231
+ return { result: true };
232
+ }
233
+ // 未完全覆盖 → 转人工。对「首个未被覆盖的子命令」调一次快速模型提取前缀,给出"按前缀授权"选项。
234
+ // 必须用子命令而非整条命令——整条复合命令含 && / || / ; 会被前缀提取提示词判为注入,提取不到前缀。
235
+ // 首个未覆盖子命令过长(如内联脚本 python -c "...大段...")时跳过前缀提取:提取无意义
236
+ const firstUncovered = subCommands.find(subCmd => !isRunShellCommandPermitted(tool, subCmd, allowedTools)) ?? command;
237
+ let prefix = null;
238
+ let allowExact = false;
239
+ if (firstUncovered.length <= MAX_PREFIX_EXTRACT_LEN) {
240
+ const info = await (0, commands_1.getCommandPrefix)(firstUncovered, abortController.signal, sessionId);
241
+ (0, errors_1.checkAbortSignal)(abortController);
242
+ if (info === null) {
243
+ // 模型调用失败 → 退化「精确命令授权」run_shell(<完整命令>)(命令 ≤ 64 时),下次同一条命令可放行;
244
+ // 命令 > 64(即便 512)则不给 allow,仅单次确认
245
+ allowExact = command.length <= MAX_EXACT_AUTH_LEN;
246
+ }
247
+ else if (info.commandInjectionDetected || !info.commandPrefix) {
248
+ // 检出注入 返回 none/git(如 git push):模型明确判定不宜授权 → 不给 allow,仅单次确认
249
+ }
250
+ else {
251
+ // 提到有效前缀 → 「按前缀授权」run_shell(<前缀>:*)
252
+ prefix = info.commandPrefix;
253
+ }
254
+ }
255
+ // 有前缀 → 按前缀授权;模型失败且命令 ≤ 64 → 精确命令授权;其余(注入/none/命令 > 64/超长)→ 无 allow,仅单次确认
256
+ const showAllow = prefix !== null || allowExact;
257
+ return requestPermissionViaEvent(tool, { command }, prefix, abortController, agentId, sessionId, toolId, showAllow, true);
229
258
  }
230
259
  // ==================== 权限保存 ====================
231
260
  async function savePermission(tool, input, prefix, sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionManager.js","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PermissionManager.js","sourceRoot":"","sources":["../../src/manager/PermissionManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditNotebook.d.ts","sourceRoot":"","sources":["../../src/tools/EditNotebook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAGhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAA;AAiErE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;uBAiMN,MAAM;oBACT,MAAM;gBACV,MAAM;mBACH,gBAAgB;kBACjB,MAAM;iBACP,MAAM;gBACP,MAAM;yBACG,IAAI,EAAE;;;;;;;;;;;;;;;;;uBAPR,MAAM;oBACT,MAAM;gBACV,MAAM;mBACH,gBAAgB;kBACjB,MAAM;iBACP,MAAM;gBACP,MAAM;yBACG,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAxJgB,GAAG;;;;;;;;;;;;;qBAoFX,GAAG;;;;;;;;;;;;;;CAsErC,CAAA"}
1
+ {"version":3,"file":"EditNotebook.d.ts","sourceRoot":"","sources":["../../src/tools/EditNotebook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAGhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAA;AAkErE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;uBAoMN,MAAM;oBACT,MAAM;gBACV,MAAM;mBACH,gBAAgB;kBACjB,MAAM;iBACP,MAAM;gBACP,MAAM;yBACG,IAAI,EAAE;;;;;;;;;;;;;;;;;uBAPR,MAAM;oBACT,MAAM;gBACV,MAAM;mBACH,gBAAgB;kBACjB,MAAM;iBACP,MAAM;gBACP,MAAM;yBACG,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA3JgB,GAAG;;;;;;;;;;;;;qBAoFX,GAAG;;;;;;;;;;;;;;CAyErC,CAAA"}
@@ -9,6 +9,7 @@ const format_1 = require("../util/format");
9
9
  const diff_1 = require("../util/diff");
10
10
  const tool_1 = require("../prompt/tool");
11
11
  const StateManager_1 = require("../manager/StateManager");
12
+ const CheckpointManager_1 = require("../manager/CheckpointManager");
12
13
  const cwd_1 = require("../util/cwd");
13
14
  function getTitle(input) {
14
15
  if (input?.notebook_path) {
@@ -205,6 +206,8 @@ command=insert: add new cell at index. command=delete: remove cell at index.`;
205
206
  if (readTimestamp && (0, fs_1.statSync)(fullPath).mtimeMs > readTimestamp) {
206
207
  throw new Error('The file changed while awaiting permission. Please re-read it before editing.');
207
208
  }
209
+ // 写盘前捕获改动前快照(fail-closed:捕获失败则不写盘)
210
+ (0, CheckpointManager_1.getCheckpointManager)().recordPreEdit(agentContext.sessionId, agentContext.agentId, fullPath);
208
211
  (0, file_1.writeTextFile)(fullPath, JSON.stringify(notebook, null, 1), (0, file_1.inferFileEncoding)(fullPath), (0, file_1.inferLineEndings)(fullPath));
209
212
  const structuredPatch = computePatch(notebook_path, originalSource, command === 'delete' ? '' : source);
210
213
  const data = makeData({ language, structuredPatch });
@@ -1 +1 @@
1
- {"version":3,"file":"EditNotebook.js","sourceRoot":"","sources":["../../src/tools/EditNotebook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditNotebook.js","sourceRoot":"","sources":["../../src/tools/EditNotebook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PatchFile.d.ts","sourceRoot":"","sources":["../../src/tools/PatchFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAgBpD,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;EAKd,CAAA;AAEF,MAAM,MAAM,EAAE,GAAG,OAAO,UAAU,CAAA;AAelC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwNR,MAAM;mBACL,MAAM;mBACN,MAAM;sBACH,MAAM;yBACH,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;qBAhLT,GAAG;;;;;;qBA6GgE,GAAG;;;;;;;;;;;;kBA+D1E,MAAM;mBACL,MAAM;mBACN,MAAM;sBACH,MAAM;yBACH,IAAI,EAAE;;CAE1B,CAAA"}
1
+ {"version":3,"file":"PatchFile.d.ts","sourceRoot":"","sources":["../../src/tools/PatchFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAiBpD,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;EAKd,CAAA;AAEF,MAAM,MAAM,EAAE,GAAG,OAAO,UAAU,CAAA;AAelC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2NR,MAAM;mBACL,MAAM;mBACN,MAAM;sBACH,MAAM;yBACH,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;qBAnLT,GAAG;;;;;;qBA6GgE,GAAG;;;;;;;;;;;;kBAkE1E,MAAM;mBACL,MAAM;mBACN,MAAM;sBACH,MAAM;yBACH,IAAI,EAAE;;CAE1B,CAAA"}
@@ -10,6 +10,7 @@ const cwd_1 = require("../util/cwd");
10
10
  const tool_1 = require("../prompt/tool");
11
11
  const edit_1 = require("../util/edit");
12
12
  const StateManager_1 = require("../manager/StateManager");
13
+ const CheckpointManager_1 = require("../manager/CheckpointManager");
13
14
  const toolParams = zod_1.z.strictObject({
14
15
  file_path: zod_1.z.string().describe('Absolute path of the file to edit'),
15
16
  search_text: zod_1.z.string().describe('The exact text in the file that should be replaced (must differ from replacement)'),
@@ -179,6 +180,8 @@ Always edit existing files rather than creating new ones. Never add emojis unles
179
180
  throw new Error('The file changed while awaiting permission. Please re-read it before editing.');
180
181
  }
181
182
  }
183
+ // 写盘前捕获改动前快照(fail-closed:捕获失败则不写盘)
184
+ (0, CheckpointManager_1.getCheckpointManager)().recordPreEdit(agentContext.sessionId, agentContext.agentId, fullFilePath);
182
185
  (0, file_1.writeTextFile)(fullFilePath, updatedFile, enc, endings);
183
186
  agentState.setReadFileTimestamp(fullFilePath, (0, fs_1.statSync)(fullFilePath).mtimeMs);
184
187
  const data = {
@@ -1 +1 @@
1
- {"version":3,"file":"PatchFile.js","sourceRoot":"","sources":["../../src/tools/PatchFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatchFile.js","sourceRoot":"","sources":["../../src/tools/PatchFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteFile.d.ts","sourceRoot":"","sources":["../../src/tools/WriteFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiCvB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;cAgJZ,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;;;;;;;;;;;;qBAhHwB,GAAG;;;;;;;;;;qBA4BG,GAAG;;;;;;;;;;;;;;;;;;;;cAiFlD,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;CAE1B,CAAA"}
1
+ {"version":3,"file":"WriteFile.d.ts","sourceRoot":"","sources":["../../src/tools/WriteFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkCvB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;cAmJZ,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;;;;;;;;;;;;qBAnHwB,GAAG;;;;;;;;;;qBA4BG,GAAG;;;;;;;;;;;;;;;;;;;;cAoFlD,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;CAE1B,CAAA"}
@@ -9,6 +9,7 @@ const cwd_1 = require("../util/cwd");
9
9
  const platform_1 = require("../util/platform");
10
10
  const tool_1 = require("../prompt/tool");
11
11
  const StateManager_1 = require("../manager/StateManager");
12
+ const CheckpointManager_1 = require("../manager/CheckpointManager");
12
13
  const diff_1 = require("../util/diff");
13
14
  const writeFile_1 = require("../util/writeFile");
14
15
  const toolParams = zod_1.z.strictObject({
@@ -102,6 +103,8 @@ Rules:
102
103
  throw new Error('The file changed while awaiting permission. Please re-read it before writing.');
103
104
  }
104
105
  }
106
+ // 写盘前捕获改动前快照(fail-closed:捕获失败则不写盘)
107
+ (0, CheckpointManager_1.getCheckpointManager)().recordPreEdit(agentContext.sessionId, agentContext.agentId, fullFilePath);
105
108
  (0, file_1.writeTextFile)(fullFilePath, normalizedContent, enc, endings);
106
109
  agentState.setReadFileTimestamp(fullFilePath, (0, fs_1.statSync)(fullFilePath).mtimeMs);
107
110
  if (oldContent) {