@xiaoqiong0v0/opencode-ssh-tool 0.6.4 → 0.6.7
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 +145 -142
- package/dist/agent.d.ts +2 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +12 -4
- package/dist/agent.js.map +1 -1
- package/dist/base-session.d.ts +95 -2
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +211 -55
- package/dist/base-session.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +8 -5
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -5
- package/dist/constants.js.map +1 -1
- package/dist/history.d.ts +5 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +8 -4
- package/dist/history.js.map +1 -1
- package/dist/i18n.d.ts +4 -4
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/local-session.d.ts.map +1 -1
- package/dist/local-session.js +17 -11
- package/dist/local-session.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +24 -11
- package/dist/server.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/dist/web/app.js +10 -10
- package/package.json +56 -56
package/dist/base-session.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// BaseSession:SSH(SshSession) 与本地(LocalSession) 终端的公共基类
|
|
2
2
|
// 统一完成标记法:注入 PROMPT_COMMAND 脚本,命令完成时输出 <SSH_DONE:退出码>
|
|
3
3
|
// 子类仅需实现:连接建立(connect)、数据写入(_write)、传输层清理(_closeTransport)、状态字段(getStatus)
|
|
4
|
-
import {
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
5
|
+
import { ANIMATION_WINDOW_MS, MAX_OUTPUT_LEN, RAW_LOG_MAX, DONE_TAG, SYNTAX_QUIET_MS, SYNTAX_MAX_WAIT_MS, INTERRUPT_PROBE_INTERVAL_DEFAULT_SEC, } from "./constants.js";
|
|
5
6
|
import log from "./log.js";
|
|
6
7
|
import { SessionHistory } from "./history.js";
|
|
7
8
|
import { toModelText, extractOutputStart, stripTrailingPromptLine } from "./utils.js";
|
|
@@ -11,8 +12,6 @@ import { tr } from "./i18n.js";
|
|
|
11
12
|
const INTERACTIVE_RE = /(\[sudo\] password for|password for \S+:|\*\*\*\s*$|Password:|密码:|--More--|\(END\)|\[y\/N\]|\[Y\/n\]|yes\/no|是\/否)/i;
|
|
12
13
|
/** buffer 最大长度(未消费输出超限时截断头部,防内存膨胀) */
|
|
13
14
|
const MAX_BUFFER_LEN = 2 * 1024 * 1024;
|
|
14
|
-
/** 后台监听最长存活时间(防泄漏) */
|
|
15
|
-
const MAX_WATCH_LEN = 10 * 60_000;
|
|
16
15
|
/** Shell 探测等待超时 */
|
|
17
16
|
const PROBE_TIMEOUT_MS = 5_000;
|
|
18
17
|
/**
|
|
@@ -70,6 +69,7 @@ export class BaseSession {
|
|
|
70
69
|
sessionID;
|
|
71
70
|
name;
|
|
72
71
|
_lang;
|
|
72
|
+
_interruptProbeIntervalMs;
|
|
73
73
|
_connected = false;
|
|
74
74
|
_remoteBusy = false;
|
|
75
75
|
/**
|
|
@@ -110,6 +110,11 @@ export class BaseSession {
|
|
|
110
110
|
/** 累积原始字节总数(单调递增,前端增量游标) */
|
|
111
111
|
_rawTotal = 0;
|
|
112
112
|
_history;
|
|
113
|
+
/**
|
|
114
|
+
* 会话实例代次:每次构造生成唯一值。同名终端重建/进程重启后新实例代次不同,
|
|
115
|
+
* 供 agent 识别"已是新会话"并重置 raw 增量游标;随 raw 上报透传给 server,作为清屏(reset)依据。
|
|
116
|
+
*/
|
|
117
|
+
generation = randomUUID();
|
|
113
118
|
/** 生命周期监听器(命令开始/完成事件,agent 转报 server) */
|
|
114
119
|
_lifecycle = null;
|
|
115
120
|
/**
|
|
@@ -119,16 +124,31 @@ export class BaseSession {
|
|
|
119
124
|
* 仅当确实发过 ^C 才去缓冲区找 ^C 回显,天然排除历史残留 ^C 的误判。
|
|
120
125
|
*/
|
|
121
126
|
_interruptSent = false;
|
|
122
|
-
|
|
127
|
+
/**
|
|
128
|
+
* 已补发中断探针的命令序号集合(set 即"探针已发"记录)。
|
|
129
|
+
* 探针在用户显式 Ctrl+C 时补发,其回显可能迟到落到后续命令的输出窗口里,
|
|
130
|
+
* 保留序号以便无论何时到达都从可见输出中剔除其回显(见 _stripProbeEchoes)。
|
|
131
|
+
* 不清空:迟到可能跨多条命令(Raw 视图保留原始字节,不经此剔除)。
|
|
132
|
+
*/
|
|
133
|
+
_probeSeqs = new Set();
|
|
134
|
+
/**
|
|
135
|
+
* 中断探针周期定时器:Ctrl+C 后立即补发首条探针,随后每 _interruptProbeIntervalMs 补发一次。
|
|
136
|
+
* null = 不在中断周期内。仅"周期性重发探针"用,不参与完成判定(完成只认当前 seq 标记)。
|
|
137
|
+
*/
|
|
138
|
+
_interruptTimer = null;
|
|
139
|
+
constructor(sessionID, history, name = "default", _lang = "en",
|
|
140
|
+
/** 中断探针补发间隔(毫秒);来自配置 interruptProbeInterval(秒),非法/缺失时为常量默认值 */
|
|
141
|
+
_interruptProbeIntervalMs = INTERRUPT_PROBE_INTERVAL_DEFAULT_SEC * 1000) {
|
|
123
142
|
this.sessionID = sessionID;
|
|
124
143
|
this.name = name;
|
|
125
144
|
this._lang = _lang;
|
|
145
|
+
this._interruptProbeIntervalMs = _interruptProbeIntervalMs;
|
|
126
146
|
this._history = history;
|
|
127
147
|
}
|
|
128
148
|
/** 结果中的类型专属字段(SSH 附加 host,本地为空) */
|
|
129
149
|
get _extraResult() { return {}; }
|
|
130
150
|
/**
|
|
131
|
-
*
|
|
151
|
+
* 提交命令:立即返回、不等待结果;命令在该终端前台执行,完成后由后台 watch 收集输出进 history
|
|
132
152
|
* @param command 命令
|
|
133
153
|
* @returns 提交结果(立即返回,不等待命令完成)
|
|
134
154
|
*/
|
|
@@ -172,8 +192,9 @@ export class BaseSession {
|
|
|
172
192
|
const raw = this._buffer.slice(captureStart, outcome.markerPos ?? this._buffer.length);
|
|
173
193
|
this._cursor = Math.max(0, outcome.markerPos ?? this._buffer.length);
|
|
174
194
|
const out = this._extractOutput(raw, command, outcome.syntaxError === true);
|
|
175
|
-
this._history.append(command, out, this._runningStartTs, Date.now());
|
|
195
|
+
this._history.append(command, out, this._runningStartTs, Date.now(), outcome.exitCode ?? undefined);
|
|
176
196
|
this._emitDone(outcome.exitCode ?? null, Date.now(), out);
|
|
197
|
+
this._stopInterruptCycle("命令完成");
|
|
177
198
|
this._clearRunningContext();
|
|
178
199
|
return { ok: true, output: this._truncate(await toModelText(out)), command, duration: Date.now() - startTs, ...this._extraResult };
|
|
179
200
|
}
|
|
@@ -219,10 +240,11 @@ export class BaseSession {
|
|
|
219
240
|
if (this._runningStartPos !== null && this._runningCommand) {
|
|
220
241
|
const marker = detectLastDoneMarker(this._buffer, this._runningStartPos, this._runningSeq);
|
|
221
242
|
if (marker.done) {
|
|
222
|
-
|
|
243
|
+
// 与后台 watch 完成路径复用同一收尾(history/done/busy/停 watch),避免 busy 卡死
|
|
244
|
+
const raw = this._completeRunning(this._runningStartPos, marker.pos, marker.exitCode, this._runningCommand);
|
|
245
|
+
// readBuffer 语义:读取后消费标记及之前部分(缓冲区坐标重置,cursor 归零)
|
|
223
246
|
this._buffer = this._buffer.slice(marker.pos);
|
|
224
247
|
this._cursor = 0;
|
|
225
|
-
this._clearRunningContext();
|
|
226
248
|
out = raw;
|
|
227
249
|
}
|
|
228
250
|
else {
|
|
@@ -234,7 +256,7 @@ export class BaseSession {
|
|
|
234
256
|
this._buffer = "";
|
|
235
257
|
this._cursor = 0;
|
|
236
258
|
}
|
|
237
|
-
return { ok: true, output: this._truncate(await toModelText(out)) };
|
|
259
|
+
return { ok: true, output: this._truncate(await toModelText(this._stripProbeEchoes(out))) };
|
|
238
260
|
}
|
|
239
261
|
/**
|
|
240
262
|
* 发送文本/按键到终端(交互场景:sudo 密码、确认、中断等)
|
|
@@ -253,10 +275,16 @@ export class BaseSession {
|
|
|
253
275
|
.replace(/\\r/g, "\r")
|
|
254
276
|
.replace(/\\n/g, "\r");
|
|
255
277
|
log.info(`send -> ${JSON.stringify(payload)} (connected=${this._connected}, busy=${this._remoteBusy})`);
|
|
256
|
-
// 真实中断输入:标记本次命令已发过 Ctrl-C
|
|
257
|
-
|
|
278
|
+
// 真实中断输入:标记本次命令已发过 Ctrl-C;写完中断键后进入中断周期,
|
|
279
|
+
// 周期内**立即**补发首条探针、之后按配置间隔(默认 5s)补发探针标记来收尾被中断的命令。
|
|
280
|
+
// 防抖:周期内重复 Ctrl-C 被 _startInterruptCycle 抑制(不重启周期、不额外补探针),
|
|
281
|
+
// 但 \x03 字节本身仍照常写入 PTY(不吞按键,保留"连按两次退出"等程序行为)。
|
|
282
|
+
const interrupted = payload.includes("\x03");
|
|
283
|
+
if (interrupted)
|
|
258
284
|
this._interruptSent = true;
|
|
259
285
|
this._write(payload);
|
|
286
|
+
if (interrupted)
|
|
287
|
+
this._startInterruptCycle();
|
|
260
288
|
this._lastActive = Date.now();
|
|
261
289
|
return { ok: true };
|
|
262
290
|
}
|
|
@@ -329,6 +357,7 @@ export class BaseSession {
|
|
|
329
357
|
let data = stripMarkers(raw);
|
|
330
358
|
if (this._adapter)
|
|
331
359
|
data = data.replace(this._markerCmd(this._runningSeq), "");
|
|
360
|
+
data = this._stripProbeEchoes(data);
|
|
332
361
|
return { data, done: marker.done };
|
|
333
362
|
}
|
|
334
363
|
/** 关闭终端,清理会话态(幂等) */
|
|
@@ -338,6 +367,7 @@ export class BaseSession {
|
|
|
338
367
|
this._closed = true;
|
|
339
368
|
if (this._watchTimer)
|
|
340
369
|
clearInterval(this._watchTimer);
|
|
370
|
+
this._stopInterruptCycle("会话关闭");
|
|
341
371
|
this._closeTransport();
|
|
342
372
|
this._connected = false;
|
|
343
373
|
this._remoteBusy = false;
|
|
@@ -370,9 +400,117 @@ export class BaseSession {
|
|
|
370
400
|
* @returns 实际写入 PTY 的文本(尾部带 \r,行分隔已按 shell 类型/平台规范化)
|
|
371
401
|
*/
|
|
372
402
|
_composeCommand(command) {
|
|
373
|
-
//
|
|
374
|
-
|
|
375
|
-
|
|
403
|
+
// 行分隔符按 shell 类型/平台判定(见 _ptyLineSep)
|
|
404
|
+
return this._composeEchoText(command).replace(/\n/g, this._ptyLineSep()) + "\r";
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* 当前 shell 的 PTY **提交分隔符**(让 shell 执行该行):Windows shell(pwsh/cmd,ConPTY)→ `\r`
|
|
408
|
+
* (裸 \n 不提交行);其余沿用会话 `_lineSep`(Unix PTY 为 \n,本地会话为 \r)。
|
|
409
|
+
* @returns 提交分隔符字符串
|
|
410
|
+
*/
|
|
411
|
+
_ptyLineSep() {
|
|
412
|
+
return this._adapter?.windowsShell ? "\r" : this._lineSep;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* 组合中断探针写入文本:**不加任何前缀换行**,直接写一条独立的当前 seq 完成标记命令,
|
|
416
|
+
* 末尾用**提交分隔符**让 shell 执行该行。
|
|
417
|
+
*
|
|
418
|
+
* 不加前缀换行的原因:Ctrl+C 后插入的前导 `\r`/`\n` 会被 shell 各算一次 accept-line,
|
|
419
|
+
* 在 SIGINT + 提示符重绘期间额外提交空命令,PTY 回声与 bash readline 增量重绘竞态,
|
|
420
|
+
* 使 marker 回显在字节流里被截断成残片(如缺开头 12 字节的 `printf '\n<S...`),无法被精确剔除。
|
|
421
|
+
* 探针在提示符处补发,本就是干净新行,无需前缀;提交仅靠尾部 `\r`,
|
|
422
|
+
* 与 `_composeCommand` 尾部分隔符一致。
|
|
423
|
+
* @param seq 探针使用的命令序号(被中断命令的当前 seq)
|
|
424
|
+
* @returns 写入 PTY 的探针文本
|
|
425
|
+
*/
|
|
426
|
+
_composeProbe(seq) {
|
|
427
|
+
return this._markerCmd(seq) + "\r";
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* 补发一次中断探针:用户显式 Ctrl+C 后,前台命令可能已死、shell 已回到提示符,
|
|
431
|
+
* 但命令列表被中断丢弃 → 原命令的完成标记永不执行 → busy 卡死。
|
|
432
|
+
* 补写一条"裸标记命令"作为探针:shell 若已回到提示符会读它并打印当前 seq 标记,
|
|
433
|
+
* 使命令正常收尾;若前台程序未死,字节留在 tty 输入缓冲,待 shell 拿回控制权时再读
|
|
434
|
+
* (两种情况均符合预期,保持 busy、绝不误判完成)。
|
|
435
|
+
* 由中断周期调用:写完 \x03 时立即调用一次,之后定时器每间隔调用一次(见 _startInterruptCycle)。
|
|
436
|
+
* 幂等:同一条被中断命令多次补发(立即 1 条 + 每间隔 1 条),先到的当前 seq 标记胜出。
|
|
437
|
+
* @returns 无
|
|
438
|
+
*/
|
|
439
|
+
_sendInterruptProbe() {
|
|
440
|
+
// 仅在确实有正在追踪的命令时补发:空闲期 Ctrl+C 无待收尾命令,补发只会污染缓冲
|
|
441
|
+
if (this._runningStartPos === null || this._runningCommand === "")
|
|
442
|
+
return;
|
|
443
|
+
const seq = this._runningSeq;
|
|
444
|
+
this._probeSeqs.add(seq);
|
|
445
|
+
const probe = this._composeProbe(seq);
|
|
446
|
+
log.info(`中断探针 -> seq=${seq} ${JSON.stringify(probe)} (busy=${this._remoteBusy})`);
|
|
447
|
+
this._write(probe);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* 启动中断周期:用户显式 Ctrl+C 后进入。**写完 \x03 立即补发首条探针**(同一次 send 调用内,不再等待),
|
|
451
|
+
* 之后每 _interruptProbeIntervalMs(来自配置,默认 5s)补发一次,直至命令结束/关会话/开始新命令
|
|
452
|
+
* (见 _stopInterruptCycle)。防抖:已在周期内时直接返回——狂按 Ctrl+C 不重启周期、不额外补探针
|
|
453
|
+
* (\x03 字节仍由 send 照常写入)。空闲期(无正在追踪的命令)Ctrl+C 不进入周期,避免无谓探针污染缓冲。
|
|
454
|
+
* 定时器只负责周期性重发探针,不做任何"到点判完成"。
|
|
455
|
+
* @returns 无
|
|
456
|
+
*/
|
|
457
|
+
_startInterruptCycle() {
|
|
458
|
+
// 防抖:周期内重复 Ctrl+C 直接忽略(不重启计时、不额外补探针)
|
|
459
|
+
if (this._interruptTimer !== null)
|
|
460
|
+
return;
|
|
461
|
+
// 空闲期 Ctrl+C 无待收尾命令:不进入周期
|
|
462
|
+
if (this._runningStartPos === null || this._runningCommand === "")
|
|
463
|
+
return;
|
|
464
|
+
const seq = this._runningSeq;
|
|
465
|
+
const intervalSec = this._interruptProbeIntervalMs / 1000;
|
|
466
|
+
log.info(`中断周期开始 -> seq=${seq},已立即补发首条探针,之后每 ${intervalSec}s 一条`);
|
|
467
|
+
// 写完 \x03 后立即补发首条探针(t0),后续 setInterval 自此刻起按间隔补发(t0+N、t0+2N…)
|
|
468
|
+
this._sendInterruptProbe();
|
|
469
|
+
this._interruptTimer = setInterval(() => { this._onInterruptTick(); }, this._interruptProbeIntervalMs);
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* 中断周期的一次 tick:先判命令是否仍在追踪中,不在则停周期并清状态(不判完成);
|
|
473
|
+
* 仍在则补发一次探针。完成判定始终只认当前 seq 的完成标记,与定时器无关。
|
|
474
|
+
* @returns 无
|
|
475
|
+
*/
|
|
476
|
+
_onInterruptTick() {
|
|
477
|
+
if (this._runningStartPos === null || this._runningCommand === "" || !this._connected) {
|
|
478
|
+
this._stopInterruptCycle("命令已结束或会话关闭");
|
|
479
|
+
return;
|
|
480
|
+
}
|
|
481
|
+
this._sendInterruptProbe();
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* 停止中断周期并清周期状态:清定时器,日志记录结束原因(幂等,未在周期内时不做任何事)。
|
|
485
|
+
* 在命令完成收尾、关会话、开始新命令、运行上下文清理等路径调用。
|
|
486
|
+
* @param reason 周期结束原因(用于日志)
|
|
487
|
+
* @returns 无
|
|
488
|
+
*/
|
|
489
|
+
_stopInterruptCycle(reason) {
|
|
490
|
+
if (this._interruptTimer === null)
|
|
491
|
+
return;
|
|
492
|
+
clearInterval(this._interruptTimer);
|
|
493
|
+
this._interruptTimer = null;
|
|
494
|
+
log.info(`中断周期结束 -> ${reason}`);
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* 从可见输出中剔除中断探针留下的痕迹(探针命令的回显)。
|
|
498
|
+
* 探针在用户中断时补发,其回显可能迟到落到后续命令的输出窗口里;按已记录探针 seq
|
|
499
|
+
* 生成精确回显文本并删除全部出现,从而无论何时到达都剔除。完成标记本身由 stripMarkers
|
|
500
|
+
* 按标记模式统一去除(不限 seq)。Raw 视图不经此函数,保留原始字节。
|
|
501
|
+
* @param text 可见输出文本
|
|
502
|
+
* @returns 剔除探针回显后的文本
|
|
503
|
+
*/
|
|
504
|
+
_stripProbeEchoes(text) {
|
|
505
|
+
if (this._probeSeqs.size === 0)
|
|
506
|
+
return text;
|
|
507
|
+
let out = text;
|
|
508
|
+
for (const seq of this._probeSeqs) {
|
|
509
|
+
const echo = this._markerCmd(seq);
|
|
510
|
+
if (out.includes(echo))
|
|
511
|
+
out = out.split(echo).join("");
|
|
512
|
+
}
|
|
513
|
+
return out;
|
|
376
514
|
}
|
|
377
515
|
/**
|
|
378
516
|
* 组合命令文本(规范/匹配用形式,始终以 `\n` 分隔行、无尾部回车):命令 + 完成标记。
|
|
@@ -424,11 +562,28 @@ export class BaseSession {
|
|
|
424
562
|
const end = marker.done
|
|
425
563
|
? extractOutputStart(raw, echoText, marker.pos)
|
|
426
564
|
: extractOutputStart(raw, echoText, raw.length, syntaxMode);
|
|
427
|
-
if (end <= 0)
|
|
428
|
-
|
|
565
|
+
if (end <= 0) {
|
|
566
|
+
// 未定位到命令回显(超宽命令折行重绘等):退回整窗;中断命令再截到首个 ^C 回显,
|
|
567
|
+
// 避免输出残留 ^C 与探针后 shell 重印的提示符(与旧版"中断收尾"输出语义一致)
|
|
568
|
+
let fallback = raw;
|
|
569
|
+
if (this._interruptSent) {
|
|
570
|
+
const intr = detectInterrupt(raw, 0);
|
|
571
|
+
if (intr.interrupted)
|
|
572
|
+
fallback = raw.slice(0, intr.pos);
|
|
573
|
+
}
|
|
574
|
+
return this._stripProbeEchoes(stripMarkers(fallback));
|
|
575
|
+
}
|
|
429
576
|
let out;
|
|
430
577
|
if (marker.done) {
|
|
431
|
-
|
|
578
|
+
// 中断命令:完成标记由探针补发,输出窗口会多出 ^C 回显、重印提示符与探针回显;
|
|
579
|
+
// 输出在首个 ^C 回显处截断,保留中断前程序输出(探针回显另由 _stripProbeEchoes 剔除)
|
|
580
|
+
let endPos = marker.pos;
|
|
581
|
+
if (this._interruptSent) {
|
|
582
|
+
const intr = detectInterrupt(raw, end);
|
|
583
|
+
if (intr.interrupted)
|
|
584
|
+
endPos = Math.min(endPos, intr.pos);
|
|
585
|
+
}
|
|
586
|
+
out = raw.slice(end, endPos);
|
|
432
587
|
}
|
|
433
588
|
else if (syntaxMode) {
|
|
434
589
|
// 语法错误:命令整行作废、无 marker → 输出 = 回显结束 → 窗口末尾(含整段错误块),再剥尾部重印提示符
|
|
@@ -440,10 +595,12 @@ export class BaseSession {
|
|
|
440
595
|
}
|
|
441
596
|
if (this._adapter)
|
|
442
597
|
out = out.replace(this._markerCmd(this._runningSeq), "");
|
|
443
|
-
return stripMarkers(out.replace(/^[\r\n]+/, ""));
|
|
598
|
+
return this._stripProbeEchoes(stripMarkers(out.replace(/^[\r\n]+/, "")));
|
|
444
599
|
}
|
|
445
600
|
/** 命令执行/提交前准备:裁剪已消费缓冲 + 丢弃上一条命令的迟到残留标记 */
|
|
446
601
|
_beginCapture(command) {
|
|
602
|
+
// 开始新命令:停掉上一条命令遗留的中断周期(新命令有自己的 seq 与收尾)
|
|
603
|
+
this._stopInterruptCycle("开始新命令");
|
|
447
604
|
// 用上一条命令完成标记(<SSH_DONE:seq:N>,此刻 _runningSeq 仍是上一条的)定位命令起点;
|
|
448
605
|
// 备屏重放等场景下 buffer 可能含旧标记,裁剪到最后一个标记之后即可
|
|
449
606
|
const marker = detectLastDoneMarker(this._buffer, 0, this._runningSeq);
|
|
@@ -562,24 +719,16 @@ export class BaseSession {
|
|
|
562
719
|
resolve({ kind: "interactive" });
|
|
563
720
|
return;
|
|
564
721
|
}
|
|
565
|
-
//
|
|
566
|
-
// marker 自带唯一 seq
|
|
722
|
+
// 完成判定(权威且唯一):命令后追加的 printf 输出 <SSH_DONE:seq:code>。
|
|
723
|
+
// marker 自带唯一 seq,从命令起点直接搜索即可(不依赖命令回显定位)。
|
|
724
|
+
// ^C 回显不作为完成依据:捕获/忽略 SIGINT 的程序(mysql/REPL)同样回显 ^C 但命令未结束,
|
|
725
|
+
// 据此判完成会把后续命令喂进运行中的程序;中断收尾改由 send() 补发的探针标记触发。
|
|
567
726
|
const marker = detectLastDoneMarker(this._buffer, startPos, this._runningSeq);
|
|
568
727
|
if (marker.done) {
|
|
569
728
|
clearInterval(timer);
|
|
570
729
|
resolve({ kind: "done", markerPos: marker.pos, exitCode: marker.exitCode });
|
|
571
730
|
return;
|
|
572
731
|
}
|
|
573
|
-
// ^C 中断:仅当本次命令确实发送过 Ctrl-C 才检测(无需命令回显定位,
|
|
574
|
-
// 超宽命令折行重绘会让回显精确匹配失败;未发过 Ctrl-C 时缓冲区里的 ^C 只可能是残留)
|
|
575
|
-
if (this._interruptSent) {
|
|
576
|
-
const intr = detectInterrupt(this._buffer, startPos);
|
|
577
|
-
if (intr.interrupted) {
|
|
578
|
-
clearInterval(timer);
|
|
579
|
-
resolve({ kind: "done", markerPos: intr.pos, exitCode: 130 });
|
|
580
|
-
return;
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
732
|
// 超过动画窗口仍未出现完成信号 → 交给后台 watch 继续监听(不设硬超时)
|
|
584
733
|
if (now - startTs >= ANIMATION_WINDOW_MS) {
|
|
585
734
|
clearInterval(timer);
|
|
@@ -593,14 +742,13 @@ export class BaseSession {
|
|
|
593
742
|
_startBackgroundWatch(startPos, command) {
|
|
594
743
|
if (this._watchTimer)
|
|
595
744
|
clearInterval(this._watchTimer);
|
|
596
|
-
const born = Date.now();
|
|
597
745
|
// 语法错误收尾状态:syntaxSeenAt=0 表示尚未识别;quietAt=识别后输出最后一次变化的时刻
|
|
598
746
|
let syntaxSeenAt = 0;
|
|
599
747
|
let syntaxQuietAt = 0;
|
|
600
748
|
let syntaxLen = 0;
|
|
601
749
|
this._watchTimer = setInterval(() => {
|
|
602
|
-
if (!this._connected
|
|
603
|
-
//
|
|
750
|
+
if (!this._connected) {
|
|
751
|
+
// 断连:命令视为结束(可能从未完成),补发 done 防 server busy 卡死
|
|
604
752
|
if (this._runningCommand)
|
|
605
753
|
this._emitDone(null, Date.now());
|
|
606
754
|
this._remoteBusy = false;
|
|
@@ -609,22 +757,12 @@ export class BaseSession {
|
|
|
609
757
|
clearInterval(this._watchTimer);
|
|
610
758
|
return;
|
|
611
759
|
}
|
|
612
|
-
//
|
|
760
|
+
// 完成判定只认当前 seq 的标记:^C 回显不作为完成依据(捕获/忽略 SIGINT 的程序
|
|
761
|
+
// 同样回显 ^C 但命令未结束,据此判完成会把后续命令喂进运行中的程序)。
|
|
762
|
+
// 中断收尾由 send() 补发的探针标记触发(见 _sendInterruptProbe)。
|
|
613
763
|
const marker = detectLastDoneMarker(this._buffer, startPos, this._runningSeq);
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
const end = marker.done ? marker.pos : intr.pos;
|
|
617
|
-
if (marker.done || intr.interrupted) {
|
|
618
|
-
const raw = this._buffer.slice(startPos, end);
|
|
619
|
-
const code = marker.done ? marker.exitCode : 130;
|
|
620
|
-
const out = this._extractOutput(raw, command);
|
|
621
|
-
this._history.append(command, out, this._runningStartTs);
|
|
622
|
-
this._emitDone(code, Date.now(), out);
|
|
623
|
-
this._cursor = Math.max(startPos, end);
|
|
624
|
-
this._remoteBusy = this._holdBusy; // 排队序列中间命令:保持 busy 到序列结束
|
|
625
|
-
this._clearRunningContext();
|
|
626
|
-
if (this._watchTimer)
|
|
627
|
-
clearInterval(this._watchTimer);
|
|
764
|
+
if (marker.done) {
|
|
765
|
+
this._completeRunning(startPos, marker.pos, marker.exitCode, command);
|
|
628
766
|
return;
|
|
629
767
|
}
|
|
630
768
|
// 语法/解析错误:整行命令作废(含同行拼装的完成标记也不会执行)→ 输出安静后按完成收尾,
|
|
@@ -645,19 +783,37 @@ export class BaseSession {
|
|
|
645
783
|
}
|
|
646
784
|
if (now - syntaxQuietAt >= SYNTAX_QUIET_MS || now - syntaxSeenAt >= SYNTAX_MAX_WAIT_MS) {
|
|
647
785
|
const out = this._extractOutput(this._buffer.slice(startPos), command, true);
|
|
648
|
-
this.
|
|
649
|
-
this._emitDone(null, Date.now(), out);
|
|
650
|
-
this._cursor = this._buffer.length;
|
|
651
|
-
this._remoteBusy = this._holdBusy; // 排队序列中间命令:保持 busy 到序列结束
|
|
652
|
-
this._clearRunningContext();
|
|
653
|
-
if (this._watchTimer)
|
|
654
|
-
clearInterval(this._watchTimer);
|
|
786
|
+
this._completeRunning(startPos, this._buffer.length, null, command, out);
|
|
655
787
|
return;
|
|
656
788
|
}
|
|
657
789
|
}
|
|
658
790
|
}, 200);
|
|
659
791
|
}
|
|
792
|
+
/**
|
|
793
|
+
* 统一命令完成收尾(供后台 watch 与 readBuffer 复用,避免两处收尾逻辑漂移):
|
|
794
|
+
* 提取/追加 history、补发 done 事件、定位 cursor、翻转 busy、清 running 上下文、停后台 watch。
|
|
795
|
+
* @param startPos 命令捕获窗口起点(相对 buffer;watch 的捕获起点与 _runningStartPos 可能不同,须显式传入)
|
|
796
|
+
* @param endPos 完成位置(marker/中断回显在 buffer 中的偏移)
|
|
797
|
+
* @param exitCode 退出码(语法错误收尾为 null,^C 为 130)
|
|
798
|
+
* @param command 原始命令(history 记录用)
|
|
799
|
+
* @param out 已提取的纯输出;缺省时由 [startPos, endPos) 窗口经 _extractOutput 提取
|
|
800
|
+
* @returns 本次完成窗口的原始片段(readBuffer 返回给调用方用)
|
|
801
|
+
*/
|
|
802
|
+
_completeRunning(startPos, endPos, exitCode, command, out) {
|
|
803
|
+
const raw = this._buffer.slice(startPos, endPos);
|
|
804
|
+
const output = out ?? this._extractOutput(raw, command);
|
|
805
|
+
this._history.append(command, output, this._runningStartTs, undefined, exitCode ?? undefined);
|
|
806
|
+
this._emitDone(exitCode, Date.now(), output);
|
|
807
|
+
this._cursor = Math.max(startPos, endPos);
|
|
808
|
+
this._remoteBusy = this._holdBusy; // 排队序列中间命令:保持 busy 到序列结束
|
|
809
|
+
this._stopInterruptCycle("命令完成");
|
|
810
|
+
this._clearRunningContext();
|
|
811
|
+
if (this._watchTimer)
|
|
812
|
+
clearInterval(this._watchTimer);
|
|
813
|
+
return raw;
|
|
814
|
+
}
|
|
660
815
|
_clearRunningContext() {
|
|
816
|
+
this._stopInterruptCycle("运行上下文清理");
|
|
661
817
|
this._runningStartPos = null;
|
|
662
818
|
this._runningCommand = "";
|
|
663
819
|
this._streamPos = null;
|
package/dist/base-session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-session.js","sourceRoot":"","sources":["../src/base-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-session.js","sourceRoot":"","sources":["../src/base-session.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -27,6 +27,12 @@ export interface ToolConfig {
|
|
|
27
27
|
toolLang: Lang;
|
|
28
28
|
/** Web 界面语言:仅页面 UI 文案(默认 en,可用环境变量 SSH_WEB_LANG 覆盖) */
|
|
29
29
|
webLang: Lang;
|
|
30
|
+
/**
|
|
31
|
+
* 中断探针补发间隔(秒,默认 5):用户显式 Ctrl+C 后**立即**补发首条探针,
|
|
32
|
+
* 之后每隔该秒数补发一次,直到命令结束。非法值(非数字 / NaN / ≤0)回退默认 5。
|
|
33
|
+
* 该定时器仅用于周期性重发探针,不参与完成判定(完成只认当前 seq 的完成标记)。
|
|
34
|
+
*/
|
|
35
|
+
interruptProbeInterval: number;
|
|
30
36
|
permission: PermissionConfig;
|
|
31
37
|
}
|
|
32
38
|
/**
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,aAAa;AACb,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,aAAa,CAAA;IACtB,wEAAwE;IACxE,QAAQ,EAAE,IAAI,CAAA;IACd,uDAAuD;IACvD,OAAO,EAAE,IAAI,CAAA;IACb,UAAU,EAAE,gBAAgB,CAAA;CAC7B;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,aAAa;AACb,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,aAAa,CAAA;IACtB,wEAAwE;IACxE,QAAQ,EAAE,IAAI,CAAA;IACd,uDAAuD;IACvD,OAAO,EAAE,IAAI,CAAA;IACb;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAmFD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,UAAU,CA2CvC"}
|
package/dist/config.js
CHANGED
|
@@ -16,6 +16,7 @@ const DEFAULT_CONFIG = {
|
|
|
16
16
|
},
|
|
17
17
|
toolLang: "en",
|
|
18
18
|
webLang: "en",
|
|
19
|
+
interruptProbeInterval: 5,
|
|
19
20
|
permission: {
|
|
20
21
|
deny: [],
|
|
21
22
|
allow: [],
|
|
@@ -47,6 +48,9 @@ const CONFIG_TEMPLATE = `{
|
|
|
47
48
|
"toolLang": "en",
|
|
48
49
|
// Web 界面语言(仅页面 UI 文案):"en" | "zh"(默认 "en",可用环境变量 SSH_WEB_LANG 覆盖)
|
|
49
50
|
"webLang": "en",
|
|
51
|
+
// 中断探针补发间隔(秒,默认 5):Ctrl+C 后立即补发首条探针,之后每隔该秒数补发一次,直到命令结束
|
|
52
|
+
// 仅用于周期性重发探针,不判命令完成;非法值(非数字 / ≤0)回退默认 5
|
|
53
|
+
"interruptProbeInterval": 5,
|
|
50
54
|
// 权限自定义正则(追加到内置默认,控制"拒绝"与"需审批"命令)
|
|
51
55
|
"permission": {
|
|
52
56
|
// 内置默认危险命令黑名单(命中直接拒绝,不需要重复添加):
|
|
@@ -95,6 +99,10 @@ export function loadConfig() {
|
|
|
95
99
|
const legacyLang = raw.lang === "zh" ? "zh" : raw.lang === "en" ? "en" : undefined;
|
|
96
100
|
const toolLang = raw.toolLang === "zh" ? "zh" : raw.toolLang === "en" ? "en" : legacyLang ?? "en";
|
|
97
101
|
const webLang = raw.webLang === "zh" ? "zh" : raw.webLang === "en" ? "en" : legacyLang ?? "en";
|
|
102
|
+
// 中断探针间隔:仅接受正有限数(秒);非数字 / NaN / ≤0 一律回退默认值(不回退为 0 导致探针失效)
|
|
103
|
+
const interruptProbeInterval = typeof raw.interruptProbeInterval === "number" && Number.isFinite(raw.interruptProbeInterval) && raw.interruptProbeInterval > 0
|
|
104
|
+
? raw.interruptProbeInterval
|
|
105
|
+
: DEFAULT_CONFIG.interruptProbeInterval;
|
|
98
106
|
return {
|
|
99
107
|
server: {
|
|
100
108
|
enabled: server.enabled ?? DEFAULT_CONFIG.server.enabled,
|
|
@@ -107,6 +115,7 @@ export function loadConfig() {
|
|
|
107
115
|
},
|
|
108
116
|
toolLang,
|
|
109
117
|
webLang,
|
|
118
|
+
interruptProbeInterval,
|
|
110
119
|
permission: {
|
|
111
120
|
deny: Array.isArray(permission.deny) ? permission.deny : [],
|
|
112
121
|
allow: Array.isArray(permission.allow) ? permission.allow : [],
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA2ChC,YAAY;AACZ,MAAM,cAAc,GAAe;IACjC,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC;QACP,YAAY,EAAE,GAAG;QACjB,cAAc,EAAE,CAAC;KAClB;IACD,OAAO,EAAE;QACP,qBAAqB;QACrB,WAAW,EAAE,GAAG;KACjB;IACD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,sBAAsB,EAAE,CAAC;IACzB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;KACV;CACF,CAAA;AAED,+CAA+C;AAC/C,SAAS,UAAU;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAA;IACpE,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAA;AAC3D,CAAC;AAED,mBAAmB;AACnB,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCvB,CAAA;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;YAC5C,OAAO,cAAc,CAAA;QACvB,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA0B,CAAA;QAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA2B,CAAA;QAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAA8B,CAAA;QACtE,4DAA4D;QAC5D,MAAM,UAAU,GAAqB,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACpG,MAAM,QAAQ,GAAS,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAA;QACvG,MAAM,OAAO,GAAS,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAA;QACpG,0DAA0D;QAC1D,MAAM,sBAAsB,GAC1B,OAAO,GAAG,CAAC,sBAAsB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,sBAAsB,GAAG,CAAC;YAC7H,CAAC,CAAC,GAAG,CAAC,sBAAsB;YAC5B,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAA;QAC3C,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;gBACxD,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;gBAChH,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY;gBAC7I,cAAc,EAAE,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc;aACvJ;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;aACpF;YACD,QAAQ;YACR,OAAO;YACP,sBAAsB;YACtB,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aAC/D;SACF,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAa;QACb,OAAO,cAAc,CAAA;IACvB,CAAC;AACH,CAAC"}
|