@xiaoqiong0v0/opencode-ssh-tool 0.6.12 → 0.6.15
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 +4 -1
- package/dist/agent.d.ts +2 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +80 -21
- package/dist/agent.js.map +1 -1
- package/dist/base-session.d.ts +138 -25
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +485 -181
- package/dist/base-session.js.map +1 -1
- package/dist/constants.d.ts +41 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +42 -1
- package/dist/constants.js.map +1 -1
- package/dist/i18n.d.ts +16 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +13 -0
- package/dist/i18n.js.map +1 -1
- package/dist/local-session.d.ts.map +1 -1
- package/dist/local-session.js +2 -0
- package/dist/local-session.js.map +1 -1
- package/dist/server-entry.js +25 -15
- package/dist/server-entry.js.map +1 -1
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +235 -21
- package/dist/server.js.map +1 -1
- package/dist/session-store.d.ts +35 -0
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +98 -3
- package/dist/session-store.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -0
- package/dist/session.js.map +1 -1
- package/dist/shell-adapter.d.ts +13 -4
- package/dist/shell-adapter.d.ts.map +1 -1
- package/dist/shell-adapter.js +23 -17
- package/dist/shell-adapter.js.map +1 -1
- package/dist/utils.d.ts +55 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +248 -27
- package/dist/utils.js.map +1 -1
- package/dist/web/app.css +4 -0
- package/dist/web/app.js +10 -10
- package/dist/web/index.html +1 -0
- package/package.json +1 -1
package/dist/session-store.d.ts
CHANGED
|
@@ -18,6 +18,22 @@ export interface SessionState {
|
|
|
18
18
|
directory?: string;
|
|
19
19
|
updatedAt: number;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* 原子写 JSON 文件:先在**同目录**写唯一命名的临时文件,fsync 落盘后再 `rename` 覆盖目标。
|
|
23
|
+
* 这样读方(server 聚合读状态文件、各实例读 server.json)**永远读不到半截内容**——
|
|
24
|
+
* 要么读到旧的完整内容,要么读到新的完整内容,消除"先 truncate 再写"造成的瞬时损坏
|
|
25
|
+
* (读方 try/catch 只能跳过损坏文件,表现为瞬时漏一条)。
|
|
26
|
+
* 失败时**不抛异常**(调用方不崩):清理临时文件、**保留旧文件**、记一行 warn 日志并返回 false。
|
|
27
|
+
* Windows 下若目标正被其他进程以句柄持有(或多进程读聚合场景下的瞬时占用),`rename` 覆盖目标
|
|
28
|
+
* 可能抛 **EPERM/EBUSY**——对此类错误**有限重试**(见 RENAME_MAX_ATTEMPTS / RENAME_RETRY_DELAY_MS),
|
|
29
|
+
* 瞬时占用多数在重试窗口内释放;其它错误码(ENOENT/EXDEV 等重试无意义)不重试直接走失败路径。
|
|
30
|
+
* 重试耗尽仍失败时保留旧文件即安全(下次写会再试),故**不做**"先删除目标再 rename"的退化写法
|
|
31
|
+
* (那会引入文件短暂不存在的窗口,反而更差);目录 fsync 在 Windows 不可用,忽略即可。
|
|
32
|
+
* @param file 目标文件路径(其父目录须已存在,由调用方保证)
|
|
33
|
+
* @param data 待写入对象(JSON.stringify 默认形态,与原直写行为一致)
|
|
34
|
+
* @returns 是否写入成功(true=新内容已原子生效;false=失败并保留旧文件)
|
|
35
|
+
*/
|
|
36
|
+
export declare function atomicWriteJson(file: string, data: unknown): boolean;
|
|
21
37
|
/**
|
|
22
38
|
* 写/更新某会话状态文件(进程内会话变化时调用)。
|
|
23
39
|
* 状态文件是 server 拿不到 agent 实时流时 busy 的回退来源,故写入时记一行
|
|
@@ -34,4 +50,23 @@ export declare function removeSessionState(cacheRoot: string, sessionID: string,
|
|
|
34
50
|
export declare function removeAllSessionStates(cacheRoot: string, sessionID: string): void;
|
|
35
51
|
/** 聚合所有进程的会话状态(web 服务展示用),含标题/目录 */
|
|
36
52
|
export declare function listAllSessions(cacheRoot: string): SessionState[];
|
|
53
|
+
/** 孤儿状态文件清理结果:本轮删除的项与仍未被认领但未陈旧的剩余项 */
|
|
54
|
+
export interface OrphanSweepResult {
|
|
55
|
+
/** 本轮删除的状态文件(离线 + 无认领 + 陈旧) */
|
|
56
|
+
removed: SessionState[];
|
|
57
|
+
/** 未被认领但尚未陈旧、本轮保留的项(供日志显示"还剩几只"并等待下一轮收敛) */
|
|
58
|
+
remaining: SessionState[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 清理"无任何已连 agent 认领且已陈旧"的状态文件——**一次清完全部匹配项**,
|
|
62
|
+
* 避免每轮只清一只、老文件迟迟清不掉留下尾巴(收敛性由调用方按固定周期重复调用保证)。
|
|
63
|
+
* 判据:会话键不在 claimed 内(离线且无认领)且 updatedAt 早于 minAgeMs(陈旧)。
|
|
64
|
+
* 只删状态文件,不动 history 目录(离线历史仍可查看)。
|
|
65
|
+
* @param cacheRoot 插件缓存根目录
|
|
66
|
+
* @param claimed 所有已连 agent 认领的会话键集合(`sid:name`)
|
|
67
|
+
* @param nowMs 当前时刻(毫秒;注入便于测试)
|
|
68
|
+
* @param minAgeMs 陈旧阈值(毫秒)
|
|
69
|
+
* @returns 本轮删除的项与未陈旧仍保留的孤儿项
|
|
70
|
+
*/
|
|
71
|
+
export declare function sweepStaleOrphanStateFiles(cacheRoot: string, claimed: ReadonlySet<string>, nowMs: number, minAgeMs: number): OrphanSweepResult;
|
|
37
72
|
//# sourceMappingURL=session-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAMA,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAMA,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAmCpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAc/F;AAED,4BAA4B;AAC5B,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ3F;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAcjF;AAED,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAoBjE;AAOD,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,4CAA4C;IAC5C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAMnB"}
|
package/dist/session-store.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// 跨进程会话状态存储:各进程写状态文件到共享目录,web 服务聚合展示所有进程的会话
|
|
2
|
-
import { mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
2
|
+
import { closeSync, fsyncSync, mkdirSync, openSync, readdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
4
|
import log from "./log.js";
|
|
5
5
|
/** sessions 状态文件目录名 */
|
|
6
6
|
const SESSIONS_DIR = "sessions";
|
|
@@ -14,6 +14,76 @@ function stateFile(sessionsDir, sessionID, name) {
|
|
|
14
14
|
* 状态真正变化(busy/connected 翻转或写入原因不同)时照常记一行。
|
|
15
15
|
*/
|
|
16
16
|
const lastStateLog = new Map();
|
|
17
|
+
/** 原子写临时文件序号:同进程同一毫秒内多次写也能得到唯一临时名 */
|
|
18
|
+
let tmpSeq = 0;
|
|
19
|
+
/** rename 总尝试次数(含首次):仅对 EPERM/EBUSY 重试,耗尽后按失败路径处理 */
|
|
20
|
+
const RENAME_MAX_ATTEMPTS = 3;
|
|
21
|
+
/** rename 每次重试前的等待毫秒数:给 Windows 上目标的瞬时句柄占用留出释放时间 */
|
|
22
|
+
const RENAME_RETRY_DELAY_MS = 40;
|
|
23
|
+
/**
|
|
24
|
+
* 原子写 JSON 文件:先在**同目录**写唯一命名的临时文件,fsync 落盘后再 `rename` 覆盖目标。
|
|
25
|
+
* 这样读方(server 聚合读状态文件、各实例读 server.json)**永远读不到半截内容**——
|
|
26
|
+
* 要么读到旧的完整内容,要么读到新的完整内容,消除"先 truncate 再写"造成的瞬时损坏
|
|
27
|
+
* (读方 try/catch 只能跳过损坏文件,表现为瞬时漏一条)。
|
|
28
|
+
* 失败时**不抛异常**(调用方不崩):清理临时文件、**保留旧文件**、记一行 warn 日志并返回 false。
|
|
29
|
+
* Windows 下若目标正被其他进程以句柄持有(或多进程读聚合场景下的瞬时占用),`rename` 覆盖目标
|
|
30
|
+
* 可能抛 **EPERM/EBUSY**——对此类错误**有限重试**(见 RENAME_MAX_ATTEMPTS / RENAME_RETRY_DELAY_MS),
|
|
31
|
+
* 瞬时占用多数在重试窗口内释放;其它错误码(ENOENT/EXDEV 等重试无意义)不重试直接走失败路径。
|
|
32
|
+
* 重试耗尽仍失败时保留旧文件即安全(下次写会再试),故**不做**"先删除目标再 rename"的退化写法
|
|
33
|
+
* (那会引入文件短暂不存在的窗口,反而更差);目录 fsync 在 Windows 不可用,忽略即可。
|
|
34
|
+
* @param file 目标文件路径(其父目录须已存在,由调用方保证)
|
|
35
|
+
* @param data 待写入对象(JSON.stringify 默认形态,与原直写行为一致)
|
|
36
|
+
* @returns 是否写入成功(true=新内容已原子生效;false=失败并保留旧文件)
|
|
37
|
+
*/
|
|
38
|
+
export function atomicWriteJson(file, data) {
|
|
39
|
+
const tmp = `${file}.${process.pid}.${Date.now()}.${tmpSeq++}.tmp`;
|
|
40
|
+
try {
|
|
41
|
+
const fd = openSync(tmp, "w");
|
|
42
|
+
try {
|
|
43
|
+
writeFileSync(fd, JSON.stringify(data), "utf8");
|
|
44
|
+
fsyncSync(fd);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
closeSync(fd);
|
|
48
|
+
}
|
|
49
|
+
// 目录项 fsync:Unix 上保证 rename 结果持久化;Windows 打开目录/fsync 会 EPERM,catch 忽略
|
|
50
|
+
try {
|
|
51
|
+
const dfd = openSync(dirname(file), "r");
|
|
52
|
+
try {
|
|
53
|
+
fsyncSync(dfd);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
closeSync(dfd);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
/* 目录 fsync 在部分平台不可用(如 Windows),忽略 */
|
|
61
|
+
}
|
|
62
|
+
// rename 有限重试:EPERM/EBUSY(Windows 目标被句柄瞬时占用)等待后重试,其它错误码直接抛出
|
|
63
|
+
for (let attempt = 1;; attempt++) {
|
|
64
|
+
try {
|
|
65
|
+
renameSync(tmp, file);
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
const code = e.code;
|
|
70
|
+
if (attempt >= RENAME_MAX_ATTEMPTS || (code !== "EPERM" && code !== "EBUSY"))
|
|
71
|
+
throw e;
|
|
72
|
+
// 本函数为同步调用,用 Atomics.wait 同步挂起当前线程等待(不空转 CPU)
|
|
73
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, RENAME_RETRY_DELAY_MS);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
try {
|
|
80
|
+
rmSync(tmp, { force: true });
|
|
81
|
+
}
|
|
82
|
+
catch { /* 临时文件清理失败忽略 */ }
|
|
83
|
+
log.warn(`[state] 原子写失败,保留旧文件 ${file}`, e instanceof Error ? e : String(e));
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
17
87
|
/**
|
|
18
88
|
* 写/更新某会话状态文件(进程内会话变化时调用)。
|
|
19
89
|
* 状态文件是 server 拿不到 agent 实时流时 busy 的回退来源,故写入时记一行
|
|
@@ -28,7 +98,9 @@ export function writeSessionState(cacheRoot, state, reason = "sync") {
|
|
|
28
98
|
const dir = join(cacheRoot, SESSIONS_DIR);
|
|
29
99
|
mkdirSync(dir, { recursive: true });
|
|
30
100
|
const file = stateFile(dir, state.sessionID, state.name);
|
|
31
|
-
|
|
101
|
+
// 原子写:失败时保留旧文件且不记"已写"日志(与原 catch 静默口径一致,避免日志与实况不符)
|
|
102
|
+
if (!atomicWriteJson(file, state))
|
|
103
|
+
return;
|
|
32
104
|
const sig = `${state.busy}|${state.connected}|${reason}`;
|
|
33
105
|
if (lastStateLog.get(file) === sig)
|
|
34
106
|
return;
|
|
@@ -92,4 +164,27 @@ export function listAllSessions(cacheRoot) {
|
|
|
92
164
|
out.sort((a, b) => (b.connectedAt ?? 0) - (a.connectedAt ?? 0));
|
|
93
165
|
return out;
|
|
94
166
|
}
|
|
167
|
+
/** 会话键(`sid:name`),与 server 归属判定口径一致 */
|
|
168
|
+
function orphanKey(s) {
|
|
169
|
+
return `${s.sessionID}:${s.name}`;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* 清理"无任何已连 agent 认领且已陈旧"的状态文件——**一次清完全部匹配项**,
|
|
173
|
+
* 避免每轮只清一只、老文件迟迟清不掉留下尾巴(收敛性由调用方按固定周期重复调用保证)。
|
|
174
|
+
* 判据:会话键不在 claimed 内(离线且无认领)且 updatedAt 早于 minAgeMs(陈旧)。
|
|
175
|
+
* 只删状态文件,不动 history 目录(离线历史仍可查看)。
|
|
176
|
+
* @param cacheRoot 插件缓存根目录
|
|
177
|
+
* @param claimed 所有已连 agent 认领的会话键集合(`sid:name`)
|
|
178
|
+
* @param nowMs 当前时刻(毫秒;注入便于测试)
|
|
179
|
+
* @param minAgeMs 陈旧阈值(毫秒)
|
|
180
|
+
* @returns 本轮删除的项与未陈旧仍保留的孤儿项
|
|
181
|
+
*/
|
|
182
|
+
export function sweepStaleOrphanStateFiles(cacheRoot, claimed, nowMs, minAgeMs) {
|
|
183
|
+
const orphans = listAllSessions(cacheRoot).filter((s) => !claimed.has(orphanKey(s)));
|
|
184
|
+
const stale = orphans.filter((s) => nowMs - (s.updatedAt ?? 0) > minAgeMs);
|
|
185
|
+
for (const s of stale)
|
|
186
|
+
removeSessionState(cacheRoot, s.sessionID, s.name);
|
|
187
|
+
const removedKeys = new Set(stale.map(orphanKey));
|
|
188
|
+
return { removed: stale, remaining: orphans.filter((s) => !removedKeys.has(orphanKey(s))) };
|
|
189
|
+
}
|
|
95
190
|
//# sourceMappingURL=session-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAElB,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAAgC;IAEjF,SAAS,CAAC,MAAM,IAAI,OAAO,CAE1B;IAED,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnC;IAED,SAAS,CAAC,eAAe,IAAI,IAAI,CAIhC;IAEK,OAAO,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAElB,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAAgC;IAEjF,SAAS,CAAC,MAAM,IAAI,OAAO,CAE1B;IAED,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnC;IAED,SAAS,CAAC,eAAe,IAAI,IAAI,CAIhC;IAEK,OAAO,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAiH5G;IAED,SAAS,IAAI,aAAa,CAYzB;CACF"}
|
package/dist/session.js
CHANGED
|
@@ -130,6 +130,8 @@ export class SshSession extends BaseSession {
|
|
|
130
130
|
log.info(`Shell 探测结果: ${this._adapter.name} (session ${this.sessionID}, term ${this.name})`);
|
|
131
131
|
this._buffer = "";
|
|
132
132
|
this._cursor = 0;
|
|
133
|
+
// 初始化完成:发基线标记(seq=0),让首条命令也有"前驱"可裁剪,免疫控制台屏幕重放
|
|
134
|
+
this._sendBaselineMarker();
|
|
133
135
|
resolve({ ok: true, host: opts.user, user: opts.user, port });
|
|
134
136
|
})();
|
|
135
137
|
});
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,oDAAoD;AAEpD,OAAO,EAAE,MAAM,EAAsB,MAAM,MAAM,CAAA;AACjD,OAAO,GAAG,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAA;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAsB/C,MAAM,OAAO,UAAW,SAAQ,WAAW;IACjC,OAAO,GAAkB,IAAI,CAAA;IAC7B,OAAO,GAAwC,IAAI,CAAA;IACnD,KAAK,GAAG,EAAE,CAAA;IACV,KAAK,GAAG,EAAE,CAAA;IACV,KAAK,GAAG,EAAE,CAAA;IAElB,IAAc,YAAY,KAA0B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC;IAEvE,MAAM;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;IAC3E,CAAC;IAES,MAAM,CAAC,IAAY;QAC3B,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAES,eAAe;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QACvE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACjG,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAsE;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC5B,IAAI,IAAc,CAAA;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,gBAAgB;YAC9B,6DAA6D;YAC7D,wDAAwD;YACxD,+EAA+E;YAC/E,iBAAiB,EAAE,yBAAyB;YAC5C,iBAAiB,EAAE,uBAAuB;YAC1C,gEAAgE;YAChE,uDAAuD;YACvD,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,IAAI;SACR,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;gBAC3B,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;gBAClF,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC5E,CAAC,CAAA;YAED,4DAA4D;YAC5D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBACjB,OAAM;gBACR,CAAC;gBACD,mEAAmE;gBACnE,MAAM,KAAK,GAAI,GAAkC,CAAC,KAAK,CAAA;gBACvD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;oBAC/B,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;gBAC/F,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;gBACxF,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;gBACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;gBAChC,IAAI,CAAC,oBAAoB,EAAE,CAAA;gBAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACzB,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAC1D,CAAC,GAAsB,EAAE,MAAM,EAAE,EAAE;oBACjC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,CAAC,GAAG,EAAE,CAAA;wBACZ,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,mBAAmB,CAAC,CAAA;wBACzC,OAAM;oBACR,CAAC;oBACD,OAAO,GAAG,IAAI,CAAA;oBACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;oBACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;oBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;oBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;oBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;oBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;oBACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAE7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;oBAC9E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;oBAC5F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA,CAAC,CAAC,CAAC,CAE1I;oBAAA,CAAC,KAAK,IAAI,EAAE;wBACX,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;wBAC5C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;wBACjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;wBAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;wBAC5B,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;wBAEjG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;4BAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;wBAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAA;wBAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;wBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;4BACrG,IAAI,CAAC,KAAK,EAAE,CAAA;4BACZ,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;4BAC5G,OAAM;wBACR,CAAC;wBACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;wBACvB,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;wBAE5F,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;wBACjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;wBAChB,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC/D,CAAC,CAAC,EAAE,CAAA;gBACN,CAAC,CACF,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS;QACP,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAA;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/shell-adapter.d.ts
CHANGED
|
@@ -14,8 +14,14 @@ export interface ShellAdapter {
|
|
|
14
14
|
*/
|
|
15
15
|
readonly windowsShell: boolean;
|
|
16
16
|
parseProbe(output: string): boolean;
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* 每条命令后追加的完成标记命令(独立一行执行)。
|
|
19
|
+
* 标记格式 `<SSH_DONE:<nonce>:<seq>:<退出码>>`:`nonce` 为**会话级随机短串**,
|
|
20
|
+
* 用于区分"本会话的标记"与"别的会话经控制台重放混入的标记"——只认自己 nonce,防跨会话冒充。
|
|
21
|
+
* @param nonce 本会话随机串(每会话固定,构造时生成)
|
|
22
|
+
* @param seq 命令序号
|
|
23
|
+
*/
|
|
24
|
+
markerCmd(nonce: string, seq: number): string;
|
|
19
25
|
/**
|
|
20
26
|
* 多行命令的组包裹:把多行命令包成**一条**命令(一次输入 = 一条命令 = 一段输出),
|
|
21
27
|
* 避免 shell 逐行执行导致回显与输出交错、中间输出在提取时丢失;heredoc 分隔符行必须独占一行,
|
|
@@ -42,12 +48,15 @@ export interface ShellAdapter {
|
|
|
42
48
|
readonly syntaxErrorRe: RegExp | null;
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
|
-
*
|
|
51
|
+
* 判断命令是否完成:检测本会话 nonce + 指定序号 `<SSH_DONE:nonce:seq:<码>>` 的完成标记。
|
|
52
|
+
* 同时要求 nonce 与 seq 精确匹配:既防同会话残留标记误判,也防**别的会话经控制台重放**
|
|
53
|
+
* 混入的标记被当成本命令完成(旧格式只有 seq,新会话首条命令的 seq 必然与重放会话撞号)。
|
|
46
54
|
* @param buffer 原始字节流
|
|
47
55
|
* @param fromPos 搜索起点
|
|
56
|
+
* @param nonce 本会话随机串
|
|
48
57
|
* @param seq 当前命令序号
|
|
49
58
|
*/
|
|
50
|
-
export declare function detectLastDoneMarker(buffer: string, fromPos: number, seq: number): {
|
|
59
|
+
export declare function detectLastDoneMarker(buffer: string, fromPos: number, nonce: string, seq: number): {
|
|
51
60
|
done: boolean;
|
|
52
61
|
exitCode: number;
|
|
53
62
|
pos: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-adapter.d.ts","sourceRoot":"","sources":["../src/shell-adapter.ts"],"names":[],"mappings":"AAUA,kBAAkB;AAClB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACnC
|
|
1
|
+
{"version":3,"file":"shell-adapter.d.ts","sourceRoot":"","sources":["../src/shell-adapter.ts"],"names":[],"mappings":"AAUA,kBAAkB;AAClB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACnC;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7C;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACtC;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CACtC;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAIlJ;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAGtG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKxG;AA+TD,2FAA2F;AAC3F,eAAO,MAAM,QAAQ,EAAE,YAAY,EAKlC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAMhE"}
|
package/dist/shell-adapter.js
CHANGED
|
@@ -6,23 +6,29 @@
|
|
|
6
6
|
import { stripAnsi } from "./ansi.js";
|
|
7
7
|
import { DONE_TAG, SHELL_ID_PREFIX } from "./constants.js";
|
|
8
8
|
import { findLastMatch } from "./last-match.js";
|
|
9
|
-
// ===== 完成标记检测(在原始字节流中定位/剥离 <SSH_DONE:seq:退出码>) =====
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
// ===== 完成标记检测(在原始字节流中定位/剥离 <SSH_DONE:[nonce:]seq:退出码>) =====
|
|
10
|
+
// 标记格式演进:旧 `<SSH_DONE:seq:code>` / `<SSH_DONE:code>`;新 `<SSH_DONE:nonce:seq:code>`(nonce 为会话级随机串)。
|
|
11
|
+
// 剥离与检测须同时兼容两者(重放的历史字节可能是旧格式),但**只认自己 nonce** 的标记作为完成依据。
|
|
12
|
+
/** 匹配任意求值后的完成标记(含 nonce 式 / 序号式 / 无序号,退出码在末尾);前缀取自 DONE_TAG,< 与 : 在正则中均为字面量 */
|
|
13
|
+
const DONE_RE = new RegExp(DONE_TAG + "(?:[0-9A-Za-z]+:)?(?:\\d+:)?(-?\\d+)>", "g");
|
|
14
|
+
/** 检测指定会话、指定序号命令的完成标记(nonce 精确匹配,别会话重放的标记不会被误认) */
|
|
15
|
+
function doneSeqRe(nonce, seq) {
|
|
16
|
+
const esc = nonce.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
17
|
+
return new RegExp(`${DONE_TAG}${esc}:${seq}:(-?\\d+)>`, "g");
|
|
15
18
|
}
|
|
16
19
|
/** 终端中断回显:Ctrl-C 由 TTY 层回显为 ^C(ECHOCTL 开启),与 shell 框架无关 */
|
|
17
20
|
const INTERRUPT_ECHO = "^C";
|
|
18
21
|
/**
|
|
19
|
-
*
|
|
22
|
+
* 判断命令是否完成:检测本会话 nonce + 指定序号 `<SSH_DONE:nonce:seq:<码>>` 的完成标记。
|
|
23
|
+
* 同时要求 nonce 与 seq 精确匹配:既防同会话残留标记误判,也防**别的会话经控制台重放**
|
|
24
|
+
* 混入的标记被当成本命令完成(旧格式只有 seq,新会话首条命令的 seq 必然与重放会话撞号)。
|
|
20
25
|
* @param buffer 原始字节流
|
|
21
26
|
* @param fromPos 搜索起点
|
|
27
|
+
* @param nonce 本会话随机串
|
|
22
28
|
* @param seq 当前命令序号
|
|
23
29
|
*/
|
|
24
|
-
export function detectLastDoneMarker(buffer, fromPos, seq) {
|
|
25
|
-
const m = findLastMatch(doneSeqRe(seq), buffer, fromPos);
|
|
30
|
+
export function detectLastDoneMarker(buffer, fromPos, nonce, seq) {
|
|
31
|
+
const m = findLastMatch(doneSeqRe(nonce, seq), buffer, fromPos);
|
|
26
32
|
if (!m)
|
|
27
33
|
return { done: false, exitCode: 0, pos: 0 };
|
|
28
34
|
return { done: true, exitCode: parseInt(m[1], 10) || 0, pos: m.index + m[0].length };
|
|
@@ -351,9 +357,9 @@ class ZshAdapter {
|
|
|
351
357
|
stmtSep = ";";
|
|
352
358
|
windowsShell = false; // POSIX shell 走 Unix PTY,\n 可正常提交行,无需改写为 \r
|
|
353
359
|
syntaxErrorRe = POSIX_SYNTAX_ERROR_RE;
|
|
354
|
-
markerCmd(seq) {
|
|
360
|
+
markerCmd(nonce, seq) {
|
|
355
361
|
// 结尾补换行:否则 zsh 判定"上条输出未以换行结束",会补印 PROMPT_EOL_MARK(root 为 #)污染画面
|
|
356
|
-
return `printf '\\n${DONE_TAG}${seq}:%s>\\n' $?`;
|
|
362
|
+
return `printf '\\n${DONE_TAG}${nonce}:${seq}:%s>\\n' $?`;
|
|
357
363
|
}
|
|
358
364
|
groupWrap(body) {
|
|
359
365
|
// `{ }` 命令组在当前作用域执行(保留 cd/变量);未闭合的 `{` 会让 zsh 进入 PS2 续行,
|
|
@@ -375,9 +381,9 @@ class BashAdapter {
|
|
|
375
381
|
stmtSep = ";";
|
|
376
382
|
windowsShell = false; // POSIX shell 走 Unix PTY,\n 可正常提交行,无需改写为 \r
|
|
377
383
|
syntaxErrorRe = POSIX_SYNTAX_ERROR_RE;
|
|
378
|
-
markerCmd(seq) {
|
|
384
|
+
markerCmd(nonce, seq) {
|
|
379
385
|
// bash 无 PROMPT_EOL_MARK,标记无需补尾换行(补了反而在 raw 里多顶一行)
|
|
380
|
-
return `printf '\\n${DONE_TAG}${seq}:%s>' $?`;
|
|
386
|
+
return `printf '\\n${DONE_TAG}${nonce}:${seq}:%s>' $?`;
|
|
381
387
|
}
|
|
382
388
|
groupWrap(body) {
|
|
383
389
|
// `{ }` 命令组在当前作用域执行(保留 cd/变量);未闭合的 `{` 会让 bash 进入 PS2 续行
|
|
@@ -398,10 +404,10 @@ class PwshAdapter {
|
|
|
398
404
|
stmtSep = ";";
|
|
399
405
|
windowsShell = true; // pwsh 运行在 Windows 控制台(ConPTY),裸 \n 不提交行,多行命令写入须用 \r
|
|
400
406
|
syntaxErrorRe = PWSH_SYNTAX_ERROR_RE;
|
|
401
|
-
markerCmd(seq) {
|
|
407
|
+
markerCmd(nonce, seq) {
|
|
402
408
|
// 用 Write-Output(success 管线)而非 Write-Host:Write-Host 直写 host 流会抢在
|
|
403
409
|
// cmdlet 输出(经格式化器批量渲染)之前,导致 marker 落在命令输出之前、提取时把输出裁掉
|
|
404
|
-
return `Write-Output "${DONE_TAG}${seq}:$LASTEXITCODE>"`;
|
|
410
|
+
return `Write-Output "${DONE_TAG}${nonce}:${seq}:$LASTEXITCODE>"`;
|
|
405
411
|
}
|
|
406
412
|
groupWrap(body) {
|
|
407
413
|
// 点源 `. { }` 在当前作用域执行(保留变量/状态);不可用 `& { }`(子作用域会丢变量/状态)。
|
|
@@ -426,8 +432,8 @@ class CmdAdapter {
|
|
|
426
432
|
// `命令语法不正确。`),按字节无法稳定识别;且 cmd 错误以 `&` 分隔的后续命令仍会执行,
|
|
427
433
|
// 完成标记照常输出,标记法已完成判定,无需该信号
|
|
428
434
|
syntaxErrorRe = null;
|
|
429
|
-
markerCmd(seq) {
|
|
430
|
-
return `echo ${DONE_TAG}${seq}:%errorlevel%>`;
|
|
435
|
+
markerCmd(nonce, seq) {
|
|
436
|
+
return `echo ${DONE_TAG}${nonce}:${seq}:%errorlevel%>`;
|
|
431
437
|
}
|
|
432
438
|
groupWrap(_body) {
|
|
433
439
|
// cmd 不包组:组内 `%errorlevel%` 是解析期展开,退出码会失真;保持原样逐行执行
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-adapter.js","sourceRoot":"","sources":["../src/shell-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-adapter.js","sourceRoot":"","sources":["../src/shell-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,15 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 回显正则的命令长度阈值(字符):逐字符插 gap 会让模式源长约 265×命令长度——
|
|
3
|
+
* 4434 字符命令会生成约 1.1MB 模式,在 JavaScriptCore(opencode 运行时)下 `new RegExp` 直接抛
|
|
4
|
+
* "Invalid regular expression: regular expression too large"(V8 尚可容忍)。超过此阈值即降级。
|
|
5
|
+
* 取 512:全量模式源约 136KB,远低于已知 JSC 可接受的量级(814 字符命令→215KB 实测可用)。
|
|
6
|
+
*/
|
|
7
|
+
export declare const ECHO_REGEX_MAX_CMD_CHARS = 512;
|
|
8
|
+
/**
|
|
9
|
+
* 计算"未降级时的逐字符回显正则"模式源长度,供诊断日志展示(超长命令可直观看到 265×长度 的膨胀)。
|
|
10
|
+
* @param command 命令回显文本(extractOutputStart 的第二入参)
|
|
11
|
+
* @returns 正则模式源长度(字符);空命令返回 0
|
|
12
|
+
*/
|
|
13
|
+
export declare function echoRegexSourceLength(command: string): number;
|
|
1
14
|
/**
|
|
2
15
|
* 定位命令回显行在原始流中的结束位置(供流式增量定位使用):
|
|
3
16
|
* 丢弃窗口开头到"命令回显行结束"之前的一切内容(提示符、PS1 填充、光标定位噪音均在内)。
|
|
4
17
|
* 命令回显行 = 命令文本首次出现所在行(命令本身可能含 \033 等转义)。
|
|
5
18
|
* 命令文本后允许任意行内字符直到行尾:命令可能被追加完成标记(如 `cmd ;printf '<SSH_DONE…>'`),
|
|
6
19
|
* 此时回显是整行拼接,不能要求命令后紧跟换行。
|
|
20
|
+
* 超长命令自动降级为模式源有界的锚点匹配(见 buildEchoPattern / ECHO_REGEX_MAX_CMD_CHARS);
|
|
21
|
+
* `new RegExp` 若仍失败(运行时正则上限)返回 -1,由调用方按"未定位"退回整窗,绝不向上抛。
|
|
7
22
|
* @param raw 原始终端流(含 ANSI)
|
|
8
23
|
* @param command 本次执行的命令文本
|
|
9
24
|
* @param endBound 搜索上界(不含),默认窗口末尾;末次匹配模式下用于避免后续裸命令回显把定位带偏
|
|
10
25
|
* @param first true 取窗口内**首次**匹配(语法错误路径:错误块会重印含标记的整行命令,
|
|
11
26
|
* 末次匹配会落到错误块内的命令拷贝上,导致错误块前半被裁掉)
|
|
12
|
-
* @returns 命令回显结束后的字节偏移(命中必 > 0
|
|
27
|
+
* @returns 命令回显结束后的字节偏移(命中必 > 0);未命中/正则失败返回 -1(调用方按 `<= 0` 判定"未定位")
|
|
13
28
|
*/
|
|
14
29
|
export declare function extractOutputStart(raw: string, command: string, endBound?: number, first?: boolean): number;
|
|
15
30
|
/**
|
|
@@ -35,6 +50,45 @@ export declare function extractOutput(raw: string, command: string): string;
|
|
|
35
50
|
* @returns 末行与任一候选相同(剥 ANSI/尾空白后比较)时剥掉末行;否则原样返回
|
|
36
51
|
*/
|
|
37
52
|
export declare function stripTrailingPromptLine(out: string, window: string, promptRef: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* 探针回显"单个匹配区间的跨度上限"(字符,含字符间插入的 ANSI 与空白)。
|
|
55
|
+
* 探针命令本身约 50 可见字符、pwsh 语法高亮插入的 SGR 约 20 → 正常跨度约 70;取 200 留足余量。
|
|
56
|
+
* 超限视作宽松匹配的误命中(如稀疏空白把命令字符拉开),不删——宁可留脏,不可误删。
|
|
57
|
+
*/
|
|
58
|
+
export declare const PROBE_ECHO_MAX_SPAN = 200;
|
|
59
|
+
/**
|
|
60
|
+
* ANSI 容忍定位 needle 在 text 中的**首次**出现:允许 needle 字符之间插入 ANSI 转义序列与任意空白
|
|
61
|
+
* (复用"去 ANSI + 压空白"的线性匹配,免疫 shell 语法高亮在 token 间插入的 SGR)。
|
|
62
|
+
* 绝不用提示符做锚点(提示符随 cwd/profile/主题变化,不可锚定)。
|
|
63
|
+
* @param text 待搜索文本(调用方按行传入)
|
|
64
|
+
* @param needle 待定位文本(探针命令,含会话 nonce,天然唯一)
|
|
65
|
+
* @returns 命中:{start,end}(相对 text 原文偏移,end 为末个可见字符后一位);未命中:null
|
|
66
|
+
*/
|
|
67
|
+
export declare function findAnsiTolerantFirstRange(text: string, needle: string): {
|
|
68
|
+
start: number;
|
|
69
|
+
end: number;
|
|
70
|
+
} | null;
|
|
71
|
+
/**
|
|
72
|
+
* 判定一行是否"仅剩提示符"(D1 判据):剥净 ANSI、去行尾 \r 与尾空白后,与提示符基准逐字相等。
|
|
73
|
+
* 只认"整行恰为提示符",不放宽;基准为空串时恒 false(宁可留脏,不可误删)。
|
|
74
|
+
* @param line 待判定行(原始,可含 ANSI)
|
|
75
|
+
* @param promptRef 提示符基准(命令发起前缓冲末行,与 stripTrailingPromptLine 同源判据)
|
|
76
|
+
* @returns true 表示该行可见内容恰为提示符
|
|
77
|
+
*/
|
|
78
|
+
export declare function isPromptOnlyLine(line: string, promptRef: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* 剔除探针命令回显行(含 shell 语法高亮插入的 ANSI 与提示符前缀):
|
|
81
|
+
* 逐行处理,对每行 ANSI 容忍地定位任一 needle 的首次出现;命中且跨度不超 PROBE_ECHO_MAX_SPAN 时,
|
|
82
|
+
* 删除「探针回显起点(含其前紧邻 ANSI 色码)→ 该行行尾」——**只向后删、绝不向前越过可见字符**:
|
|
83
|
+
* 保留行中探针之前的真输出(行中打断场景),提示符前缀留在行首,
|
|
84
|
+
* 再由 D1 判据(该行可见内容 == 提示符)决定是否整行删除。
|
|
85
|
+
* 无命中行逐字节不变;Raw 视图不经此函数,保留原始字节。
|
|
86
|
+
* @param text 可见输出文本
|
|
87
|
+
* @param needles 探针命令文本(各 seq;含会话 nonce,故不会命中别的会话/nonce 的探针)
|
|
88
|
+
* @param promptRef 提示符基准(D1 用)
|
|
89
|
+
* @returns 剔除后文本
|
|
90
|
+
*/
|
|
91
|
+
export declare function removeProbeEchoLines(text: string, needles: string[], promptRef: string): string;
|
|
38
92
|
/**
|
|
39
93
|
* 把原始终端流转为给模型看的干净文本:用 xterm headless 引擎忠实模拟终端屏幕
|
|
40
94
|
* (处理光标移动/清行/清屏/覆盖/退格/SGR/OSC,含 scrollback),再逐行去尾空白并剔除空行。
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AA8CA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA;AA8F3C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAa,EAAE,KAAK,UAAQ,GAAG,MAAM,CA4B7G;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlE;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW9F;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO9G;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGzE;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB/F;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe9D;AAqCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAI1C"}
|