@xiaoqiong0v0/opencode-ssh-tool 0.6.0 → 0.6.1

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.
@@ -35,91 +35,19 @@ export function detectInterrupt(buffer, fromPos) {
35
35
  return { interrupted: idx >= 0, pos: idx >= 0 ? idx : 0 };
36
36
  }
37
37
  // ===== Shell 类型探测与标记命令 =====
38
- /** 提取 POSIX heredoc 分隔符(`<<EOF` / `<<-EOF` / `<<'EOF'` / `<<"EOF"`),无则返回 null */
39
- function heredocDelim(line) {
40
- const m = line.match(/<<-?\s*(['"]?)([A-Za-z_][A-Za-z0-9_]*)\1/);
41
- return m ? m[2] : null;
42
- }
43
- /**
44
- * 命令是否包含 heredoc(`<<` 操作符)。
45
- * 拼接完成标记时据此改用换行分隔:标记若以 `;` 拼到分隔符行(`EOF ;printf ...`),
46
- * heredoc 分隔符不再被识别 → 永不结束 → 卡死。
47
- * @param command 命令文本(可多行)
48
- * @returns 是否包含 heredoc
49
- */
50
- export function hasHeredoc(command) {
51
- return command.split("\n").some((l) => heredocDelim(l) !== null);
52
- }
53
38
  /**
54
- * 按续行规则拆分多行命令为独立命令(行尾匹配续行正则时与下一行合并,避免把续行命令拆断)
55
- * @param command 多行命令文本
56
- * @param contRe 行尾续行正则
57
- * @param heredoc POSIX heredoc 感知:`cmd <<EOF` 起至分隔符行的整体并入同一条命令
58
- * (否则首行单独执行会停在 heredoc 等待输入,后续行不再发送 → 卡死)
59
- * @returns 拆分后的独立命令列表
39
+ * 提取 POSIX heredoc 分隔符(`<<EOF` / `<<-EOF` / `<<'EOF'` / `<<"EOF"`),无则返回 null。
40
+ * 逐字符扫描并跟踪 `'`/`"` 引号状态,只对引号外的 `<<` 尝试匹配分隔符;
41
+ * 避免 `echo "a << b"`、`grep '<<EOF' file` 这类引号内的 `<<` 被误判为 heredoc 起始。
42
+ * @param line 当前行文本
43
+ * @returns 引号外首个合法 heredoc 的分隔符;不存在则 null
60
44
  */
61
- function splitByContinuation(command, contRe, heredoc = false) {
62
- const rawLines = command.split("\n");
63
- const cmds = [];
64
- let buf = "";
65
- let pending = null; // 未结束的 heredoc 分隔符
66
- const flush = () => { const c = buf.trim(); if (c)
67
- cmds.push(c); buf = ""; };
68
- for (const line of rawLines) {
69
- if (pending !== null) {
70
- buf = buf ? buf + "\n" + line : line;
71
- if (line.trim() === pending) {
72
- pending = null;
73
- flush();
74
- }
75
- continue;
76
- }
77
- buf = buf ? buf + "\n" + line : line;
78
- if (heredoc) {
79
- const d = heredocDelim(line);
80
- if (d) {
81
- pending = d;
82
- continue;
83
- }
84
- }
85
- if (contRe.test(line.trimEnd()))
86
- continue; // 行尾有续行符:继续合并下一行
87
- flush();
88
- }
89
- flush();
90
- return cmds;
91
- }
92
- /**
93
- * POSIX(bash/zsh/sh)续行检测:未闭合的单/双引号或反引号(命令替换),或行尾未转义反斜杠。
94
- * 单引号内反斜杠为字面量;双引号/反引号内反斜杠转义下一个字符。
95
- * heredoc 正文内容任意(可能含引号,如注释里的 `don't`),不参与引号配对,否则会误判为未闭合而拒绝命令。
96
- * @param s 命令文本
97
- * @returns true 表示 shell 会等待续行
98
- */
99
- function posixOpenContinuation(s) {
100
- // 先剔除 heredoc 正文行(保留起止行),避免正文里的引号干扰配对
101
- const kept = [];
102
- let pending = null;
103
- for (const line of s.split("\n")) {
104
- if (pending !== null) {
105
- if (line.trim() === pending) {
106
- pending = null;
107
- kept.push(line);
108
- }
109
- continue; // 正文行:跳过
110
- }
111
- kept.push(line);
112
- const d = heredocDelim(line);
113
- if (d)
114
- pending = d;
115
- }
116
- const text = kept.join("\n");
45
+ function heredocDelim(line) {
117
46
  let inSingle = false;
118
47
  let inDouble = false;
119
- let inBacktick = false;
120
48
  let escaped = false;
121
- for (let i = 0; i < text.length; i++) {
122
- const c = text[i];
49
+ for (let i = 0; i < line.length; i++) {
50
+ const c = line[i];
123
51
  if (escaped) {
124
52
  escaped = false;
125
53
  continue;
@@ -128,7 +56,7 @@ function posixOpenContinuation(s) {
128
56
  escaped = true;
129
57
  continue;
130
58
  }
131
- if (c === "'" && !inDouble && !inBacktick) {
59
+ if (c === "'" && !inDouble) {
132
60
  inSingle = !inSingle;
133
61
  continue;
134
62
  }
@@ -136,26 +64,132 @@ function posixOpenContinuation(s) {
136
64
  inDouble = !inDouble;
137
65
  continue;
138
66
  }
139
- if (c === "`" && !inSingle) {
140
- inBacktick = !inBacktick;
67
+ if (inSingle || inDouble)
141
68
  continue;
69
+ // 引号外发现 `<<`:从其后匹配 <<-?\s*(['"]?)([A-Za-z_]\w*)\1
70
+ if (c === "<" && line[i + 1] === "<") {
71
+ const m = line.slice(i + 2).match(/^-?\s*(['"]?)([A-Za-z_][A-Za-z0-9_]*)\1/);
72
+ if (m)
73
+ return m[2];
142
74
  }
143
75
  }
144
- // escaped 残留 = 行尾反斜杠(续行)
145
- return inSingle || inDouble || inBacktick || escaped;
76
+ return null;
146
77
  }
147
78
  /**
148
- * PowerShell 续行检测:未闭合单/双引号,或行尾反引号(转义符 = 续行)。
149
- * 反引号转义下一个字符;单引号内不转义、双引号内 `""` 表示一个引号(本检测按配对开关处理即可)。
79
+ * 判断行内位置 i 的 `#` 是否构成 POSIX 注释起始(词首)。
80
+ * 仅当 `#` 处于文本开头、或前一字符为空白 / `;` `&` `|` `(` `)` `<` `>` 之一时为注释;
81
+ * `$#`(前为 `$`)、`a#b`(前为普通字符)与 `${x}#foo`(前为 `}`,属词内)均非注释。
82
+ * @param line 当前行文本
83
+ * @param i `#` 所在下标
84
+ * @returns true 表示该 `#` 起至行尾为注释
85
+ */
86
+ function isPosixCommentStart(line, i) {
87
+ if (i === 0)
88
+ return true;
89
+ const p = line[i - 1];
90
+ return /\s/.test(p) || p === ";" || p === "&" || p === "|" || p === "(" || p === ")" || p === "<" || p === ">";
91
+ }
92
+ /**
93
+ * POSIX(bash/zsh/sh)续行检测:未闭合的单/双引号或反引号(命令替换)、行尾未转义反斜杠、
94
+ * 未闭合的 heredoc、以及未闭合的 `(`/`{` 组。
95
+ * 单引号内反斜杠为字面量;双引号/反引号内反斜杠转义下一个字符。
96
+ * 逐行扫描:heredoc 正文行(分隔符行之间的内容)与注释(词首 `#` 起至行尾)整段跳过,
97
+ * 不参与引号/深度配对,否则正文里的 `don't` 等会被误判为未闭合而拒绝命令。
98
+ * 深度用「> 0」而非「≠ 0」判断,以兼容 `case` 语句 `a)` 臂产生的负括号深度。
150
99
  * @param s 命令文本
151
100
  * @returns true 表示 shell 会等待续行
152
101
  */
153
- function pwshOpenContinuation(s) {
102
+ function posixOpenContinuation(s) {
103
+ let inSingle = false;
104
+ let inDouble = false;
105
+ let inBacktick = false;
106
+ let parenDepth = 0;
107
+ let braceDepth = 0;
108
+ let pendingHeredoc = null;
109
+ let lineContinuation = false;
110
+ for (const line of s.split("\n")) {
111
+ // heredoc 正文行:整行跳过,不参与引号/深度配对;遇分隔符行则闭合
112
+ if (pendingHeredoc !== null) {
113
+ if (line.trim() === pendingHeredoc)
114
+ pendingHeredoc = null;
115
+ continue;
116
+ }
117
+ let escaped = false;
118
+ lineContinuation = false;
119
+ for (let i = 0; i < line.length; i++) {
120
+ const c = line[i];
121
+ if (escaped) {
122
+ escaped = false;
123
+ continue;
124
+ }
125
+ if (c === "\\" && !inSingle) {
126
+ escaped = true;
127
+ continue;
128
+ }
129
+ if (c === "'" && !inDouble && !inBacktick) {
130
+ inSingle = !inSingle;
131
+ continue;
132
+ }
133
+ if (c === '"' && !inSingle) {
134
+ inDouble = !inDouble;
135
+ continue;
136
+ }
137
+ if (c === "`" && !inSingle) {
138
+ inBacktick = !inBacktick;
139
+ continue;
140
+ }
141
+ if (inSingle || inDouble || inBacktick)
142
+ continue;
143
+ // 注释:词首 `#` 起至行尾跳过(注释里的引号不影响配对)
144
+ if (c === "#" && isPosixCommentStart(line, i))
145
+ break;
146
+ if (c === "(")
147
+ parenDepth++;
148
+ else if (c === ")")
149
+ parenDepth--;
150
+ else if (c === "{")
151
+ braceDepth++;
152
+ else if (c === "}")
153
+ braceDepth--;
154
+ }
155
+ // 行尾未转义反斜杠 = 续行(下一行首字符不被转义,故 escaped 不跨行)
156
+ if (escaped)
157
+ lineContinuation = true;
158
+ // 引号外检测本行 heredoc 起始(`<<EOF` 等)
159
+ if (!inSingle && !inDouble && !inBacktick) {
160
+ const d = heredocDelim(line);
161
+ if (d)
162
+ pendingHeredoc = d;
163
+ }
164
+ }
165
+ return inSingle || inDouble || inBacktick || lineContinuation || pendingHeredoc !== null || parenDepth > 0 || braceDepth > 0;
166
+ }
167
+ /**
168
+ * 判断 pwsh 行是否以 here-string 起始标记结尾,返回对应闭合标记(`"@` 或 `'@`)或 null。
169
+ * 引号感知扫描:仅当行尾(去尾空白后)为 `@"` 或 `@'`、且该 `@` 处于引号外、并位于词首
170
+ * (前一字符为文本开头 / 空白 / `=` / `(` / `,` / `|`)时才算起始。
171
+ * 避免 `Write-Output "foo@"` 这类引号内/词内的 `@"` 被误判为 here-string 起始。
172
+ * @param line 当前行文本
173
+ * @returns 该起始标记对应的闭合标记(`"@` 对应 `@"`,`'@` 对应 `@'`);非起始则 null
174
+ */
175
+ function pwshHereStringStart(line) {
176
+ const trimmed = line.trimEnd();
177
+ const n = trimmed.length;
178
+ if (n < 2 || trimmed[n - 2] !== "@")
179
+ return null;
180
+ const quote = trimmed[n - 1];
181
+ if (quote !== '"' && quote !== "'")
182
+ return null;
183
+ // 词首判定:`@` 前一字符须为 文本开头/空白/=/(/,/|
184
+ const prev = n >= 3 ? trimmed[n - 3] : "";
185
+ if (!(prev === "" || /\s/.test(prev) || prev === "=" || prev === "(" || prev === "," || prev === "|"))
186
+ return null;
187
+ // 引号感知扫描 `@` 之前的部分:反引号转义下一字符,判断 `@` 处是否在引号外
154
188
  let inSingle = false;
155
189
  let inDouble = false;
156
190
  let escaped = false;
157
- for (let i = 0; i < s.length; i++) {
158
- const c = s[i];
191
+ for (let i = 0; i < n - 2; i++) {
192
+ const c = trimmed[i];
159
193
  if (escaped) {
160
194
  escaped = false;
161
195
  continue;
@@ -173,16 +207,90 @@ function pwshOpenContinuation(s) {
173
207
  continue;
174
208
  }
175
209
  }
176
- // escaped 残留 = 行尾反引号(续行)
177
- return inSingle || inDouble || escaped;
210
+ if (inSingle || inDouble)
211
+ return null;
212
+ return quote + "@";
178
213
  }
179
214
  /**
180
- * cmd.exe 续行检测:未闭合双引号,或行尾脱字符 `^`(转义/续行)。
215
+ * PowerShell 续行检测:未闭合单/双引号、行尾反引号(转义/续行)、行尾管道 `|`、
216
+ * 未闭合的 here-string(`@"`…`"@` / `@'`…`'@`)、以及未闭合的 `{`/`(` 组。
217
+ * 反引号转义下一个字符;单引号内不转义。here-string 正文内的引号/花括号/圆括号不参与配对。
218
+ * @param s 命令文本
219
+ * @returns true 表示 shell 会等待续行
220
+ */
221
+ function pwshOpenContinuation(s) {
222
+ let inSingle = false;
223
+ let inDouble = false;
224
+ let parenDepth = 0;
225
+ let braceDepth = 0;
226
+ let hereClose = null;
227
+ let lineContinuation = false;
228
+ const lines = s.split("\n");
229
+ for (const line of lines) {
230
+ // here-string 正文行:整行跳过;遇闭合行(以 "@ 或 '@ 结尾)则闭合
231
+ if (hereClose !== null) {
232
+ if (line.trim().endsWith(hereClose))
233
+ hereClose = null;
234
+ continue;
235
+ }
236
+ // here-string 起始:行尾以 @" 或 @' 结束(须引号外且词首,见 pwshHereStringStart);标记不参与引号配对
237
+ let scanLine = line;
238
+ let opener = null;
239
+ if (!inSingle && !inDouble) {
240
+ opener = pwshHereStringStart(line);
241
+ if (opener !== null)
242
+ scanLine = line.slice(0, line.trimEnd().length - 2);
243
+ }
244
+ let escaped = false;
245
+ lineContinuation = false;
246
+ for (let i = 0; i < scanLine.length; i++) {
247
+ const c = scanLine[i];
248
+ if (escaped) {
249
+ escaped = false;
250
+ continue;
251
+ }
252
+ if (c === "`") {
253
+ escaped = true;
254
+ continue;
255
+ }
256
+ if (c === "'" && !inDouble) {
257
+ inSingle = !inSingle;
258
+ continue;
259
+ }
260
+ if (c === '"' && !inSingle) {
261
+ inDouble = !inDouble;
262
+ continue;
263
+ }
264
+ if (inSingle || inDouble)
265
+ continue;
266
+ if (c === "{")
267
+ braceDepth++;
268
+ else if (c === "}")
269
+ braceDepth--;
270
+ else if (c === "(")
271
+ parenDepth++;
272
+ else if (c === ")")
273
+ parenDepth--;
274
+ }
275
+ // 行尾反引号 = 续行
276
+ if (escaped)
277
+ lineContinuation = true;
278
+ if (opener !== null)
279
+ hereClose = opener;
280
+ }
281
+ // 行尾管道 `|`:整段最后一行以 | 结尾 → 续行
282
+ const trailingPipe = /\|\s*$/.test(lines[lines.length - 1] ?? "");
283
+ return inSingle || inDouble || lineContinuation || trailingPipe || hereClose !== null || parenDepth > 0 || braceDepth > 0;
284
+ }
285
+ /**
286
+ * cmd.exe 续行检测:未闭合的 `(`/`)` 组(cmd 显示 `More?` 等待),或行尾脱字符 `^`(转义/续行)。
287
+ * 注意 cmd 无双引号续行语义:未闭合双引号不代表等待输入,故不作为续行依据(避免合法命令被拒)。
181
288
  * @param s 命令文本
182
289
  * @returns true 表示 shell 会等待续行
183
290
  */
184
291
  function cmdOpenContinuation(s) {
185
292
  let inDouble = false;
293
+ let parenDepth = 0;
186
294
  for (let i = 0; i < s.length; i++) {
187
295
  const c = s[i];
188
296
  if (c === "^") {
@@ -193,19 +301,27 @@ function cmdOpenContinuation(s) {
193
301
  inDouble = !inDouble;
194
302
  continue;
195
303
  }
304
+ if (inDouble)
305
+ continue;
306
+ if (c === "(")
307
+ parenDepth++;
308
+ else if (c === ")")
309
+ parenDepth--;
196
310
  }
197
- return inDouble || /\^\s*$/.test(s);
311
+ return parenDepth > 0 || /\^\s*$/.test(s);
198
312
  }
199
313
  class ZshAdapter {
200
314
  name = "zsh";
201
315
  probeCommand = `echo ${SHELL_ID_PREFIX}$0`;
316
+ stmtSep = ";";
202
317
  markerCmd(seq) {
203
318
  // 结尾补换行:否则 zsh 判定"上条输出未以换行结束",会补印 PROMPT_EOL_MARK(root 为 #)污染画面
204
319
  return `printf '\\n${DONE_TAG}${seq}:%s>\\n' $?`;
205
320
  }
206
- splitCommand(command) {
207
- // zsh 沿用 POSIX 反斜杠续行;heredoc 感知(`cmd <<EOF ... EOF` 不可拆)
208
- return splitByContinuation(command, /\\\s*$/, true);
321
+ groupWrap(body) {
322
+ // `{ }` 命令组在当前作用域执行(保留 cd/变量);未闭合的 `{` 会让 zsh 进入 PS2 续行,
323
+ // 整段多行输入被当作一条命令解析
324
+ return `{ ${body}\n}`;
209
325
  }
210
326
  hasOpenContinuation(command) {
211
327
  return posixOpenContinuation(command);
@@ -219,13 +335,14 @@ class ZshAdapter {
219
335
  class BashAdapter {
220
336
  name = "bash";
221
337
  probeCommand = `echo ${SHELL_ID_PREFIX}$0`;
338
+ stmtSep = ";";
222
339
  markerCmd(seq) {
223
340
  // bash 无 PROMPT_EOL_MARK,标记无需补尾换行(补了反而在 raw 里多顶一行)
224
341
  return `printf '\\n${DONE_TAG}${seq}:%s>' $?`;
225
342
  }
226
- splitCommand(command) {
227
- // bash/sh:反斜杠续行;heredoc 感知(`cmd <<EOF ... EOF` 不可拆)
228
- return splitByContinuation(command, /\\\s*$/, true);
343
+ groupWrap(body) {
344
+ // `{ }` 命令组在当前作用域执行(保留 cd/变量);未闭合的 `{` 会让 bash 进入 PS2 续行
345
+ return `{ ${body}\n}`;
229
346
  }
230
347
  hasOpenContinuation(command) {
231
348
  return posixOpenContinuation(command);
@@ -239,14 +356,16 @@ class BashAdapter {
239
356
  class PwshAdapter {
240
357
  name = "pwsh";
241
358
  probeCommand = `Write-Output ${SHELL_ID_PREFIX}pwsh_$PSHOME`;
359
+ stmtSep = ";";
242
360
  markerCmd(seq) {
243
361
  // 用 Write-Output(success 管线)而非 Write-Host:Write-Host 直写 host 流会抢在
244
362
  // cmdlet 输出(经格式化器批量渲染)之前,导致 marker 落在命令输出之前、提取时把输出裁掉
245
363
  return `Write-Output "${DONE_TAG}${seq}:$LASTEXITCODE>"`;
246
364
  }
247
- splitCommand(command) {
248
- // PowerShell:行尾 `|`(管道续行)、反引号(显式换行转义)、未闭合 { / ( 时续行
249
- return splitByContinuation(command, /[|`]\s*$|[{(\s]*[{(]\s*$/);
365
+ groupWrap(body) {
366
+ // 点源 `. { }` 在当前作用域执行(保留变量/状态);不可用 `& { }`(子作用域会丢变量/状态)。
367
+ // 未闭合的 `{` 会让 pwsh 进入续行,整段多行输入被当作一条命令解析
368
+ return `. { ${body}\n}`;
250
369
  }
251
370
  hasOpenContinuation(command) {
252
371
  return pwshOpenContinuation(command);
@@ -260,12 +379,13 @@ class PwshAdapter {
260
379
  class CmdAdapter {
261
380
  name = "cmd";
262
381
  probeCommand = `echo ${SHELL_ID_PREFIX}%COMSPEC%`;
382
+ stmtSep = "&";
263
383
  markerCmd(seq) {
264
384
  return `echo ${DONE_TAG}${seq}:%errorlevel%>`;
265
385
  }
266
- splitCommand(command) {
267
- // cmd:行尾 `^`(转义换行符)表示续行
268
- return splitByContinuation(command, /\^\s*$/);
386
+ groupWrap(_body) {
387
+ // cmd 不包组:组内 `%errorlevel%` 是解析期展开,退出码会失真;保持原样逐行执行
388
+ return null;
269
389
  }
270
390
  hasOpenContinuation(command) {
271
391
  return cmdOpenContinuation(command);
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiaoqiong0v0/opencode-ssh-tool",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "type": "module",
5
5
  "description": "长驻交互式 SSH 会话工具插件,远程命令受 opencode 权限管控",
6
6
  "files": [