@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/index.js CHANGED
@@ -237,16 +237,19 @@ export const OpenCodeSshTool = async () => {
237
237
  return cur;
238
238
  };
239
239
  log.loaded();
240
- // 加载配置并启动 HTTP 终端记录服务(默认开启;端口 0=自动分配)
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
- try {
249
- const sr = await ensureServer(cfg.server.port, listSessionEntries, cacheRoot(), webLang);
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
- catch (e) {
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 browserLine = httpUrl ? tr("browser_full_record", toolLang).replace("{url}", httpUrl) : tr("server_not_enabled", toolLang);
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 serverLines = httpUrl
457
- ? ["", `${tr("st_http_server", toolLang)}: ${httpUrl}`, `${tr("st_active_sessions", toolLang)}: ${listSessionEntries().length}`]
458
- : ["", `${tr("st_http_server", toolLang)}: ${tr("st_disabled", toolLang)}`];
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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"}
@@ -10,16 +10,13 @@ export interface ServerResult {
10
10
  reused: boolean;
11
11
  }
12
12
  /**
13
- * 确保 HTTP 服务单例运行(独立子进程,不随插件进程退出):
14
- * 1. 有 server.json 且端口可探测、proto 为当前版本 → 复用(reused=true)
15
- * proto 不符或探测失败 → 杀旧进程后走 spawn 新服务
16
- * 2. 否则拿文件锁(mkdir 原子)→ spawn 子进程 → 等端口就绪 → 释放锁
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, _getSessions: () => unknown[], dir: string, lang?: Lang): Promise<ServerResult>;
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":"AAQA,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;AAmKD;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,OAAO,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAW,GAChB,OAAO,CAAC,YAAY,CAAC,CAwDvB"}
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"}
@@ -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
- * 确保 HTTP 服务单例运行(独立子进程,不随插件进程退出):
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
- export async function ensureServer(port, _getSessions, dir, lang = "en") {
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 { server: null, url: "", port: 0, reused: false };
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
- spawnServerProc(port, dir, lang);
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
- return { server: null, url: "", port: 0, reused: false };
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
- serverProc = spawn(bin, [entry, "--port", String(port), "--dir", dir, "--lang", lang], {
319
+ const child = spawn(bin, [entry, "--port", String(port), "--dir", dir, "--lang", lang], {
260
320
  detached: true,
261
321
  stdio: "ignore",
262
322
  });
263
- serverProc.unref();
264
- serverProc.on("exit", () => { serverProc = null; });
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":"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"}
1
+ {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
@@ -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":"AASA,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;CAC9C;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;AAqSD,2FAA2F;AAC3F,eAAO,MAAM,QAAQ,EAAE,YAAY,EAKlC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAMhE"}
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"}
@@ -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
  }