@xiaoqiong0v0/opencode-ssh-tool 0.6.2 → 0.6.4
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/dist/ansi.d.ts +17 -0
- package/dist/ansi.d.ts.map +1 -0
- package/dist/ansi.js +23 -0
- package/dist/ansi.js.map +1 -0
- package/dist/base-session.d.ts +18 -1
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +95 -11
- package/dist/base-session.js.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -1
- package/dist/i18n.d.ts +8 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +5 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -11
- package/dist/index.js.map +1 -1
- package/dist/server-manager.d.ts +6 -9
- package/dist/server-manager.d.ts.map +1 -1
- package/dist/server-manager.js +71 -11
- package/dist/server-manager.js.map +1 -1
- package/dist/shell-adapter.d.ts +20 -0
- package/dist/shell-adapter.d.ts.map +1 -1
- package/dist/shell-adapter.js +42 -0
- package/dist/shell-adapter.js.map +1 -1
- package/dist/utils.d.ts +17 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +54 -5
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -237,16 +237,19 @@ export const OpenCodeSshTool = async () => {
|
|
|
237
237
|
return cur;
|
|
238
238
|
};
|
|
239
239
|
log.loaded();
|
|
240
|
-
//
|
|
240
|
+
// 加载配置并"发起"HTTP 终端记录服务启动(默认开启;端口 0=自动分配)。
|
|
241
|
+
// 刻意不 await:服务启动慢/失败均不阻塞插件加载与命令执行;需要 URL 的路径再惰性等待下面的 Promise。
|
|
241
242
|
const cfg = loadConfig();
|
|
242
243
|
// 语言:toolLang 用于工具描述/CLI/session 文案(SSH_TOOL_LANG 覆盖);webLang 仅用于 Web 页面 UI(SSH_WEB_LANG 覆盖)
|
|
243
244
|
const toolLang = getToolLang(cfg.toolLang);
|
|
244
245
|
const webLang = getWebLang(cfg.webLang);
|
|
245
246
|
// 权限判定器:内置正则 + 配置自定义 deny/allow 正则
|
|
246
247
|
const decide = createDecider(cfg.permission.deny, cfg.permission.allow);
|
|
248
|
+
// 服务启动 Promise(null=配置未启用);失败已在 server-manager 内收敛为失败结果,这里再兜底 catch 避免 unhandled rejection
|
|
249
|
+
let serverStart = null;
|
|
247
250
|
if (cfg.server.enabled) {
|
|
248
|
-
|
|
249
|
-
|
|
251
|
+
serverStart = ensureServer(cfg.server.port, listSessionEntries, cacheRoot(), webLang)
|
|
252
|
+
.then((sr) => {
|
|
250
253
|
if (sr.url) {
|
|
251
254
|
httpUrl = sr.url;
|
|
252
255
|
log.info(`HTTP 服务${sr.reused ? "复用" : "已启动"} ${sr.url}`);
|
|
@@ -254,16 +257,40 @@ export const OpenCodeSshTool = async () => {
|
|
|
254
257
|
agent = startAgent(wsUrl, resolveAgentSession, listAgentSessions);
|
|
255
258
|
}
|
|
256
259
|
else {
|
|
257
|
-
log.info("HTTP
|
|
260
|
+
log.info("HTTP 服务未启动(固定端口绑定被拒或端口/锁竞争),Web 记录不可用;命令执行不受影响");
|
|
258
261
|
}
|
|
259
|
-
|
|
260
|
-
|
|
262
|
+
return sr;
|
|
263
|
+
})
|
|
264
|
+
.catch((e) => {
|
|
261
265
|
log.error("HTTP 服务启动失败", e instanceof Error ? e : String(e));
|
|
262
|
-
|
|
266
|
+
return { server: null, url: "", port: 0, reused: false };
|
|
267
|
+
});
|
|
263
268
|
}
|
|
264
269
|
else {
|
|
265
270
|
log.info("HTTP 服务未启用(配置 server.enabled=false)");
|
|
266
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* 惰性获取 Web 记录服务地址:等待启动 Promise 但失败不抛错(命令执行不受影响)
|
|
274
|
+
* @returns 服务 URL;未启用或不可用时为空串
|
|
275
|
+
*/
|
|
276
|
+
async function resolveHttpUrl() {
|
|
277
|
+
if (!serverStart)
|
|
278
|
+
return "";
|
|
279
|
+
try {
|
|
280
|
+
await serverStart;
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
/* 启动异常已在工厂内记录 */
|
|
284
|
+
}
|
|
285
|
+
return httpUrl;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Web 服务不可用时的提示文案键:配置关闭 → 未启用;已发起但未起来 → 未启动(命令执行不受影响)
|
|
289
|
+
* @returns i18n 文案键
|
|
290
|
+
*/
|
|
291
|
+
function httpUnavailableKey() {
|
|
292
|
+
return serverStart ? "server_unavailable" : "server_not_enabled";
|
|
293
|
+
}
|
|
267
294
|
// ===== CLI 风格单工具(term_cli)子命令实现 =====
|
|
268
295
|
/** 完整用法(模型自学手册) */
|
|
269
296
|
const HELP_TEXT = tr("term_cli_help", toolLang);
|
|
@@ -395,7 +422,8 @@ export const OpenCodeSshTool = async () => {
|
|
|
395
422
|
for (const p of selected)
|
|
396
423
|
parts.push((includeCommand ? `$ ${p.command}\n` : "") + await toModelText(history.readOutput(p)));
|
|
397
424
|
const text = parts.join("\n");
|
|
398
|
-
const
|
|
425
|
+
const url = await resolveHttpUrl();
|
|
426
|
+
const browserLine = url ? tr("browser_full_record", toolLang).replace("{url}", url) : tr(httpUnavailableKey(), toolLang);
|
|
399
427
|
return `${tr(direction === "tail" ? "history_title" : "history_title_head", toolLang).replace("{n}", String(selected.length)).replace("{total}", String(all.length))}\n${text}${browserLine}`;
|
|
400
428
|
}
|
|
401
429
|
/** send:发送文本/按键到终端 */
|
|
@@ -453,9 +481,10 @@ export const OpenCodeSshTool = async () => {
|
|
|
453
481
|
].filter(Boolean).join("\n"));
|
|
454
482
|
parts.push(st.busy ? tr("status_busy_hint", toolLang) : tr("status_idle_hint", toolLang));
|
|
455
483
|
}
|
|
456
|
-
const
|
|
457
|
-
|
|
458
|
-
|
|
484
|
+
const serverUrl = await resolveHttpUrl();
|
|
485
|
+
const serverLines = serverUrl
|
|
486
|
+
? ["", `${tr("st_http_server", toolLang)}: ${serverUrl}`, `${tr("st_active_sessions", toolLang)}: ${listSessionEntries().length}`]
|
|
487
|
+
: ["", `${tr("st_http_server", toolLang)}: ${tr(serverStart ? "st_server_unavailable" : "st_disabled", toolLang)}`];
|
|
459
488
|
return parts.join("\n\n") + serverLines.join("\n");
|
|
460
489
|
}
|
|
461
490
|
/** disconnect:断开终端 */
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server-manager.d.ts
CHANGED
|
@@ -10,16 +10,13 @@ export interface ServerResult {
|
|
|
10
10
|
reused: boolean;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* 确保 HTTP
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* 3. 锁竞争失败 → 等待后重新探测复用(同样校验版本,新旧并存时杀旧)
|
|
18
|
-
* @param port 期望端口(0=随机,但随机端口无法跨进程复用,故随机时总是新启)
|
|
19
|
-
* @param _getSessions 会话列表函数(独立进程内由服务自身从状态文件读取,此处无需)
|
|
13
|
+
* 确保 HTTP 服务可用(进程内按端口缓存一次尝试,成功复用、失败收敛,绝不抛错):
|
|
14
|
+
* 同端口重复调用直接复用同一 Promise —— 成功不再 spawn,失败不再重试(不刷屏、不反复起进程)。
|
|
15
|
+
* @param port 期望端口(0=自动分配;>0=固定端口,绑定被拒时直接放弃、不回退不重试)
|
|
16
|
+
* @param getSessions 会话列表函数(独立进程内由服务自身从状态文件读取,此处无需)
|
|
20
17
|
* @param dir 缓存目录(锁与信息文件存放处)
|
|
21
18
|
* @param lang Web 界面语言(默认 en)
|
|
22
|
-
* @returns
|
|
19
|
+
* @returns 服务结果(url 为空串即不可用)
|
|
23
20
|
*/
|
|
24
|
-
export declare function ensureServer(port: number,
|
|
21
|
+
export declare function ensureServer(port: number, getSessions: () => unknown[], dir: string, lang?: Lang): Promise<ServerResult>;
|
|
25
22
|
//# sourceMappingURL=server-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIrC,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,CAAA;IACZ,WAAW;IACX,GAAG,EAAE,MAAM,CAAA;IACX,WAAW;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAA;CAChB;AAgMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,OAAO,EAAE,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAW,GAChB,OAAO,CAAC,YAAY,CAAC,CAQvB"}
|
package/dist/server-manager.js
CHANGED
|
@@ -5,6 +5,7 @@ import { mkdirSync, readFileSync, rmSync, statSync, writeFileSync } from "node:f
|
|
|
5
5
|
import { basename, dirname, join } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { spawn } from "node:child_process";
|
|
8
|
+
import { createServer } from "node:net";
|
|
8
9
|
import { SERVER_PROTO_VERSION } from "./constants.js";
|
|
9
10
|
import log from "./log.js";
|
|
10
11
|
const LOCK_DIR = "server.lock";
|
|
@@ -21,6 +22,13 @@ const LOCK_WAIT_MAX = 5000;
|
|
|
21
22
|
const SPAWN_WAIT_MAX = 15000;
|
|
22
23
|
/** 杀旧进程后等待端口释放的上限 */
|
|
23
24
|
const KILL_WAIT_MAX = 4000;
|
|
25
|
+
/**
|
|
26
|
+
* 本进程内"某个期望端口"的一次确保结果(Promise 复用):
|
|
27
|
+
* - 成功:后续同端口调用直接复用已起服务,不再 spawn
|
|
28
|
+
* - 失败(固定端口绑定被拒 / 锁竞争 / 启动超时):收敛为同一失败结果,同端口不再重试(不刷屏、不反复起进程)
|
|
29
|
+
* 端口变化视为一次显式新请求,替换缓存。
|
|
30
|
+
*/
|
|
31
|
+
let cachedEnsure = null;
|
|
24
32
|
/** 探测某端口 /health 是否可达(判断服务是否已运行) */
|
|
25
33
|
async function probe(port) {
|
|
26
34
|
try {
|
|
@@ -34,6 +42,21 @@ async function probe(port) {
|
|
|
34
42
|
return false;
|
|
35
43
|
}
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* 预检端口在本机 127.0.0.1 能否绑定(快速失败):
|
|
47
|
+
* 固定端口落在系统保留区间时立即得到 EACCES,无需 spawn 子进程后干等启动超时。
|
|
48
|
+
* @param port 待检查端口(仅用于固定端口,>0)
|
|
49
|
+
* @returns 可绑定返回 null;否则返回错误码(如 EACCES / EADDRINUSE)
|
|
50
|
+
*/
|
|
51
|
+
function probeBindable(port) {
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
const srv = createServer();
|
|
54
|
+
srv.once("error", (e) => resolve(e.code ?? "UNKNOWN"));
|
|
55
|
+
srv.listen(port, "127.0.0.1", () => {
|
|
56
|
+
srv.close(() => resolve(null));
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
37
60
|
/** 读取服务信息文件(可能不存在) */
|
|
38
61
|
function readInfo(dir) {
|
|
39
62
|
try {
|
|
@@ -158,19 +181,43 @@ async function killStale(info) {
|
|
|
158
181
|
}
|
|
159
182
|
return false;
|
|
160
183
|
}
|
|
184
|
+
/** 失败结果:url 为空串,调用方据此判定服务不可用(命令执行不受影响) */
|
|
185
|
+
function failedResult() {
|
|
186
|
+
return { server: null, url: "", port: 0, reused: false };
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* 确保 HTTP 服务可用(进程内按端口缓存一次尝试,成功复用、失败收敛,绝不抛错):
|
|
190
|
+
* 同端口重复调用直接复用同一 Promise —— 成功不再 spawn,失败不再重试(不刷屏、不反复起进程)。
|
|
191
|
+
* @param port 期望端口(0=自动分配;>0=固定端口,绑定被拒时直接放弃、不回退不重试)
|
|
192
|
+
* @param getSessions 会话列表函数(独立进程内由服务自身从状态文件读取,此处无需)
|
|
193
|
+
* @param dir 缓存目录(锁与信息文件存放处)
|
|
194
|
+
* @param lang Web 界面语言(默认 en)
|
|
195
|
+
* @returns 服务结果(url 为空串即不可用)
|
|
196
|
+
*/
|
|
197
|
+
export function ensureServer(port, getSessions, dir, lang = "en") {
|
|
198
|
+
if (cachedEnsure && cachedEnsure.port === port)
|
|
199
|
+
return cachedEnsure.promise;
|
|
200
|
+
const promise = ensureServerOnce(port, getSessions, dir, lang).catch((e) => {
|
|
201
|
+
log.error("确保 HTTP 服务失败", e instanceof Error ? e : String(e));
|
|
202
|
+
return failedResult();
|
|
203
|
+
});
|
|
204
|
+
cachedEnsure = { port, promise };
|
|
205
|
+
return promise;
|
|
206
|
+
}
|
|
161
207
|
/**
|
|
162
|
-
*
|
|
208
|
+
* 单次确保 HTTP 服务单例运行(独立子进程,不随插件进程退出):
|
|
163
209
|
* 1. 有 server.json 且端口可探测、proto 为当前版本 → 复用(reused=true)
|
|
164
210
|
* proto 不符或探测失败 → 杀旧进程后走 spawn 新服务
|
|
165
211
|
* 2. 否则拿文件锁(mkdir 原子)→ spawn 子进程 → 等端口就绪 → 释放锁
|
|
166
212
|
* 3. 锁竞争失败 → 等待后重新探测复用(同样校验版本,新旧并存时杀旧)
|
|
213
|
+
* 4. 固定端口(>0):spawn 前预检可绑定;绑定被拒或子进程启动即退出 → 立即失败,不换端口、不重试
|
|
167
214
|
* @param port 期望端口(0=随机,但随机端口无法跨进程复用,故随机时总是新启)
|
|
168
215
|
* @param _getSessions 会话列表函数(独立进程内由服务自身从状态文件读取,此处无需)
|
|
169
216
|
* @param dir 缓存目录(锁与信息文件存放处)
|
|
170
217
|
* @param lang Web 界面语言(默认 en)
|
|
171
|
-
* @returns
|
|
218
|
+
* @returns 服务结果(url 为空串即不可用)
|
|
172
219
|
*/
|
|
173
|
-
|
|
220
|
+
async function ensureServerOnce(port, _getSessions, dir, lang = "en") {
|
|
174
221
|
mkdirSync(dir, { recursive: true });
|
|
175
222
|
// 1. 探测既有服务(固定端口场景可复用;旧版本实例不复用,杀旧后新启)
|
|
176
223
|
if (port > 0) {
|
|
@@ -201,23 +248,37 @@ export async function ensureServer(port, _getSessions, dir, lang = "en") {
|
|
|
201
248
|
acquired = acquireLock(dir);
|
|
202
249
|
}
|
|
203
250
|
if (!acquired)
|
|
204
|
-
return
|
|
251
|
+
return failedResult();
|
|
205
252
|
}
|
|
206
253
|
try {
|
|
207
254
|
// 3. 拿锁成功:先清残留旧进程(可能 pid 已退出或锁内刚杀掉),再启动新版
|
|
208
255
|
const leftover = readInfo(dir);
|
|
209
256
|
if (leftover && !isCurrentVersion(leftover))
|
|
210
257
|
await killStale(leftover);
|
|
211
|
-
|
|
258
|
+
// 固定端口:spawn 前预检可绑定,绑定被拒(如 Windows 保留区间 EACCES)立即失败,不回退不重试
|
|
259
|
+
if (port > 0) {
|
|
260
|
+
const code = await probeBindable(port);
|
|
261
|
+
if (code) {
|
|
262
|
+
log.error(`固定端口 ${port} 绑定失败(${code}),固定端口不回退不重试;Web 记录服务不可用,命令执行不受影响`);
|
|
263
|
+
return failedResult();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
const child = spawnServerProc(port, dir, lang);
|
|
212
267
|
const deadline = Date.now() + SPAWN_WAIT_MAX;
|
|
213
268
|
while (Date.now() < deadline) {
|
|
269
|
+
// 子进程启动即退出(绑定被拒/端口被抢占等)→ 立即判定失败,不干等满 15s
|
|
270
|
+
if (child.exitCode !== null || child.signalCode !== null) {
|
|
271
|
+
log.error(`独立服务子进程启动即退出(端口 ${port}),Web 记录服务不可用,命令执行不受影响`);
|
|
272
|
+
return failedResult();
|
|
273
|
+
}
|
|
214
274
|
const info = readInfo(dir);
|
|
215
275
|
if (info && isCurrentVersion(info) && (await probe(info.port))) {
|
|
216
276
|
return { server: null, url: `http://127.0.0.1:${info.port}`, port: info.port, reused: false };
|
|
217
277
|
}
|
|
218
278
|
await new Promise((r) => setTimeout(r, 200));
|
|
219
279
|
}
|
|
220
|
-
|
|
280
|
+
log.error(`独立服务启动超时(端口 ${port}),Web 记录服务不可用,命令执行不受影响`);
|
|
281
|
+
return failedResult();
|
|
221
282
|
}
|
|
222
283
|
finally {
|
|
223
284
|
try {
|
|
@@ -243,24 +304,23 @@ function resolveInterpreter() {
|
|
|
243
304
|
return process.execPath;
|
|
244
305
|
return "node";
|
|
245
306
|
}
|
|
246
|
-
/** 子进程句柄缓存(进程退出后置空,供 ensureServer 复用判断) */
|
|
247
|
-
let serverProc = null;
|
|
248
307
|
/**
|
|
249
308
|
* 启动独立服务子进程(detached:父进程退出不带走)
|
|
250
309
|
* @param port 期望端口(0=随机;随机时端口由子进程决定并写入 server.json)
|
|
251
310
|
* @param dir 缓存目录
|
|
252
311
|
* @param lang Web 界面语言
|
|
312
|
+
* @returns 子进程句柄(调用方据此监测是否启动即退出)
|
|
253
313
|
*/
|
|
254
314
|
function spawnServerProc(port, dir, lang) {
|
|
255
315
|
// 子进程入口:本模块编译产物 dist/server-manager.js 同目录的 dist/server-entry.js
|
|
256
316
|
const selfPath = fileURLToPath(import.meta.url);
|
|
257
317
|
const entry = join(dirname(selfPath), "server-entry.js").replace(/\\/g, "/");
|
|
258
318
|
const bin = resolveInterpreter();
|
|
259
|
-
|
|
319
|
+
const child = spawn(bin, [entry, "--port", String(port), "--dir", dir, "--lang", lang], {
|
|
260
320
|
detached: true,
|
|
261
321
|
stdio: "ignore",
|
|
262
322
|
});
|
|
263
|
-
|
|
264
|
-
|
|
323
|
+
child.unref();
|
|
324
|
+
return child;
|
|
265
325
|
}
|
|
266
326
|
//# sourceMappingURL=server-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,uCAAuC;AACvC,0DAA0D;AAE1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/shell-adapter.d.ts
CHANGED
|
@@ -33,6 +33,13 @@ export interface ShellAdapter {
|
|
|
33
33
|
* @returns true 表示 shell 会等待续行
|
|
34
34
|
*/
|
|
35
35
|
hasOpenContinuation(command: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* shell 自身报出的语法/解析错误的行首模式(null = 该 shell 不支持识别)。
|
|
38
|
+
* 解析错误会使**整行**命令作废,同行拼装的完成标记也不会执行 → 须以该模式本身作为完成信号。
|
|
39
|
+
* 模式必须**行首锚定**(检测前已由 detectSyntaxError 剥净 ANSI,故模式内无需再容忍转义序列),
|
|
40
|
+
* 避免命令输出中偶然出现同名词被误判为完成;不可带 `g` 标志(检测方按无状态 `test` 使用)。
|
|
41
|
+
*/
|
|
42
|
+
readonly syntaxErrorRe: RegExp | null;
|
|
36
43
|
}
|
|
37
44
|
/**
|
|
38
45
|
* 判断命令是否完成:检测指定序号 <SSH_DONE:seq:<码>> 的完成标记(只认当前命令,防残留误判)
|
|
@@ -51,6 +58,19 @@ export declare function detectInterrupt(buffer: string, fromPos: number): {
|
|
|
51
58
|
interrupted: boolean;
|
|
52
59
|
pos: number;
|
|
53
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* 检测捕获窗口内是否出现 shell 自身的语法/解析错误。
|
|
63
|
+
* 解析错误会让整行命令(含同行拼装的完成标记)作废,标记永不出现 → 须由错误本身充当完成信号。
|
|
64
|
+
* 匹配前先剥净窗口内的全部 ANSI 序列再按行首判定:真实 ConPTY 的错误行前有
|
|
65
|
+
* `\x1b[?25l`(隐藏光标)、`\x1b[39;1H`(光标定位)等**非 SGR** 序列,
|
|
66
|
+
* 只容忍 SGR 的旧模式会漏判 → 信号永不触发 → busy 卡死。
|
|
67
|
+
* 剥 ANSI 会让位置偏移,但该信号只判"是否已结束",不需要精确位置。
|
|
68
|
+
* @param adapter 当前 shell 适配器(syntaxErrorRe 为 null 表示该 shell 不支持识别)
|
|
69
|
+
* @param buffer 原始字节流
|
|
70
|
+
* @param fromPos 搜索起点(命令起点)
|
|
71
|
+
* @returns true 表示捕获窗口内出现语法/解析错误
|
|
72
|
+
*/
|
|
73
|
+
export declare function detectSyntaxError(adapter: ShellAdapter | null, buffer: string, fromPos: number): boolean;
|
|
54
74
|
/** 注册表(探测顺序:先 POSIX 系,后 pwsh/cmd;resolveByProbe 由 _probeShell 改用各适配器 probeCommand 逐个探测) */
|
|
55
75
|
export declare const adapters: ShellAdapter[];
|
|
56
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-adapter.d.ts","sourceRoot":"","sources":["../src/shell-adapter.ts"],"names":[],"mappings":"
|
|
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,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B;;;;;;;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;AAeD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAInI;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
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// 展示给用户/模型的输出会在上层剥离标记(用户实际看不到,与不可见标记等效)。
|
|
4
4
|
// 完成判定不再依赖 prompt 钩子(PROMPT_COMMAND/PS1/prompt 函数——会被 oh-my-posh/p10k 覆盖),
|
|
5
5
|
// 改为在每条命令后追加独立一行的标记输出命令,免疫任何提示符框架。
|
|
6
|
+
import { stripAnsi } from "./ansi.js";
|
|
6
7
|
import { DONE_TAG, SHELL_ID_PREFIX } from "./constants.js";
|
|
7
8
|
import { findLastMatch } from "./last-match.js";
|
|
8
9
|
// ===== 完成标记检测(在原始字节流中定位/剥离 <SSH_DONE:seq:退出码>) =====
|
|
@@ -34,6 +35,25 @@ export function detectInterrupt(buffer, fromPos) {
|
|
|
34
35
|
const idx = buffer.indexOf(INTERRUPT_ECHO, fromPos);
|
|
35
36
|
return { interrupted: idx >= 0, pos: idx >= 0 ? idx : 0 };
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* 检测捕获窗口内是否出现 shell 自身的语法/解析错误。
|
|
40
|
+
* 解析错误会让整行命令(含同行拼装的完成标记)作废,标记永不出现 → 须由错误本身充当完成信号。
|
|
41
|
+
* 匹配前先剥净窗口内的全部 ANSI 序列再按行首判定:真实 ConPTY 的错误行前有
|
|
42
|
+
* `\x1b[?25l`(隐藏光标)、`\x1b[39;1H`(光标定位)等**非 SGR** 序列,
|
|
43
|
+
* 只容忍 SGR 的旧模式会漏判 → 信号永不触发 → busy 卡死。
|
|
44
|
+
* 剥 ANSI 会让位置偏移,但该信号只判"是否已结束",不需要精确位置。
|
|
45
|
+
* @param adapter 当前 shell 适配器(syntaxErrorRe 为 null 表示该 shell 不支持识别)
|
|
46
|
+
* @param buffer 原始字节流
|
|
47
|
+
* @param fromPos 搜索起点(命令起点)
|
|
48
|
+
* @returns true 表示捕获窗口内出现语法/解析错误
|
|
49
|
+
*/
|
|
50
|
+
export function detectSyntaxError(adapter, buffer, fromPos) {
|
|
51
|
+
const re = adapter?.syntaxErrorRe;
|
|
52
|
+
if (!re)
|
|
53
|
+
return false;
|
|
54
|
+
// 模式不带 g,test 无状态;不改变 lastIndex 也不受其影响
|
|
55
|
+
return re.test(stripAnsi(buffer.slice(fromPos)));
|
|
56
|
+
}
|
|
37
57
|
// ===== Shell 类型探测与标记命令 =====
|
|
38
58
|
/**
|
|
39
59
|
* 提取 POSIX heredoc 分隔符(`<<EOF` / `<<-EOF` / `<<'EOF'` / `<<"EOF"`),无则返回 null。
|
|
@@ -310,11 +330,27 @@ function cmdOpenContinuation(s) {
|
|
|
310
330
|
}
|
|
311
331
|
return parenDepth > 0 || /\^\s*$/.test(s);
|
|
312
332
|
}
|
|
333
|
+
// ===== 语法/解析错误模式(行首锚定;解析错误使整行命令作废,含同行完成标记也不执行)=====
|
|
334
|
+
// 注意:模式在 detectSyntaxError 中于**剥净 ANSI 后**的文本上执行,故模式内不再需要容忍转义序列。
|
|
335
|
+
/**
|
|
336
|
+
* POSIX 系(bash/zsh/sh/dash)语法/解析错误模式,命中形式:
|
|
337
|
+
* `bash: syntax error near unexpected token ...`、`zsh: parse error near ...`、
|
|
338
|
+
* `/bin/sh: 1: Syntax error: ...`(dash 首字母大写,故大小写不敏感)。
|
|
339
|
+
* 行首锚定:容忍可选的「路径 + shell 名 + 位置链」前缀;
|
|
340
|
+
* 因此仅在行首(或行首 shell 前缀之后)出现该词时命中,命令行中途的普通文本不会误判。
|
|
341
|
+
*/
|
|
342
|
+
const POSIX_SYNTAX_ERROR_RE = /(?:^|[\r\n])(?:(?:[^\s:]*\/)?-?(?:bash|zsh|sh|dash|ksh|ash):(?:\s*[^\s:]+(?:\s+\d+)?:)*\s*)?(?:syntax|parse)\s+error/i;
|
|
343
|
+
/**
|
|
344
|
+
* PowerShell 语法/解析错误模式:pwsh 报错首行为 `ParserError:`。
|
|
345
|
+
* 行首锚定:命令输出里行中出现 `ParserError` 不命中。
|
|
346
|
+
*/
|
|
347
|
+
const PWSH_SYNTAX_ERROR_RE = /(?:^|[\r\n])ParserError:/;
|
|
313
348
|
class ZshAdapter {
|
|
314
349
|
name = "zsh";
|
|
315
350
|
probeCommand = `echo ${SHELL_ID_PREFIX}$0`;
|
|
316
351
|
stmtSep = ";";
|
|
317
352
|
windowsShell = false; // POSIX shell 走 Unix PTY,\n 可正常提交行,无需改写为 \r
|
|
353
|
+
syntaxErrorRe = POSIX_SYNTAX_ERROR_RE;
|
|
318
354
|
markerCmd(seq) {
|
|
319
355
|
// 结尾补换行:否则 zsh 判定"上条输出未以换行结束",会补印 PROMPT_EOL_MARK(root 为 #)污染画面
|
|
320
356
|
return `printf '\\n${DONE_TAG}${seq}:%s>\\n' $?`;
|
|
@@ -338,6 +374,7 @@ class BashAdapter {
|
|
|
338
374
|
probeCommand = `echo ${SHELL_ID_PREFIX}$0`;
|
|
339
375
|
stmtSep = ";";
|
|
340
376
|
windowsShell = false; // POSIX shell 走 Unix PTY,\n 可正常提交行,无需改写为 \r
|
|
377
|
+
syntaxErrorRe = POSIX_SYNTAX_ERROR_RE;
|
|
341
378
|
markerCmd(seq) {
|
|
342
379
|
// bash 无 PROMPT_EOL_MARK,标记无需补尾换行(补了反而在 raw 里多顶一行)
|
|
343
380
|
return `printf '\\n${DONE_TAG}${seq}:%s>' $?`;
|
|
@@ -360,6 +397,7 @@ class PwshAdapter {
|
|
|
360
397
|
probeCommand = `Write-Output ${SHELL_ID_PREFIX}pwsh_$PSHOME`;
|
|
361
398
|
stmtSep = ";";
|
|
362
399
|
windowsShell = true; // pwsh 运行在 Windows 控制台(ConPTY),裸 \n 不提交行,多行命令写入须用 \r
|
|
400
|
+
syntaxErrorRe = PWSH_SYNTAX_ERROR_RE;
|
|
363
401
|
markerCmd(seq) {
|
|
364
402
|
// 用 Write-Output(success 管线)而非 Write-Host:Write-Host 直写 host 流会抢在
|
|
365
403
|
// cmdlet 输出(经格式化器批量渲染)之前,导致 marker 落在命令输出之前、提取时把输出裁掉
|
|
@@ -384,6 +422,10 @@ class CmdAdapter {
|
|
|
384
422
|
probeCommand = `echo ${SHELL_ID_PREFIX}%COMSPEC%`;
|
|
385
423
|
stmtSep = "&";
|
|
386
424
|
windowsShell = true; // cmd 运行在 Windows 控制台(ConPTY),裸 \n 不提交行,多行命令写入须用 \r
|
|
425
|
+
// cmd 不识别:其语法错误文案 `The syntax of the command is incorrect.` 随系统语言本地化(中文版为
|
|
426
|
+
// `命令语法不正确。`),按字节无法稳定识别;且 cmd 错误以 `&` 分隔的后续命令仍会执行,
|
|
427
|
+
// 完成标记照常输出,标记法已完成判定,无需该信号
|
|
428
|
+
syntaxErrorRe = null;
|
|
387
429
|
markerCmd(seq) {
|
|
388
430
|
return `echo ${DONE_TAG}${seq}:%errorlevel%>`;
|
|
389
431
|
}
|