@xiaoqiong0v0/opencode-ssh-tool 0.6.14 → 0.6.16
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/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +17 -2
- package/dist/agent.js.map +1 -1
- package/dist/base-session.d.ts +68 -32
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +253 -130
- package/dist/base-session.js.map +1 -1
- package/dist/constants.d.ts +14 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +14 -1
- package/dist/constants.js.map +1 -1
- package/dist/i18n.d.ts +36 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +33 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/dist/local-session.d.ts +3 -1
- package/dist/local-session.d.ts.map +1 -1
- package/dist/local-session.js +82 -4
- package/dist/local-session.js.map +1 -1
- package/dist/log.d.ts +8 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +28 -1
- package/dist/log.js.map +1 -1
- package/dist/parse-check.d.ts +20 -0
- package/dist/parse-check.d.ts.map +1 -0
- package/dist/parse-check.js +505 -0
- package/dist/parse-check.js.map +1 -0
- package/dist/precheck.d.ts +32 -0
- package/dist/precheck.d.ts.map +1 -0
- package/dist/precheck.js +105 -0
- package/dist/precheck.js.map +1 -0
- package/dist/server-entry.js +1 -1
- package/dist/server-entry.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +123 -35
- package/dist/server.js.map +1 -1
- package/dist/session-store.d.ts +56 -2
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +100 -3
- package/dist/session-store.js.map +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/shell-adapter.d.ts +14 -0
- package/dist/shell-adapter.d.ts.map +1 -1
- package/dist/shell-adapter.js +58 -10
- package/dist/shell-adapter.js.map +1 -1
- package/dist/utils.d.ts +33 -20
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +97 -43
- 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/utils.js
CHANGED
|
@@ -141,7 +141,8 @@ export function echoRegexSourceLength(command) {
|
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* 定位命令回显行在原始流中的结束位置(供流式增量定位使用):
|
|
144
|
-
* 丢弃窗口开头到"命令回显行结束"
|
|
144
|
+
* 丢弃窗口开头到"命令回显行结束"之前的一切内容——**靠命令文本自锚定,不判断提示符形态**;
|
|
145
|
+
* 提示符 / PS1 填充 / 光标定位噪音都随这段前缀被一并丢弃(无需识别其长什么样)。
|
|
145
146
|
* 命令回显行 = 命令文本首次出现所在行(命令本身可能含 \033 等转义)。
|
|
146
147
|
* 命令文本后允许任意行内字符直到行尾:命令可能被追加完成标记(如 `cmd ;printf '<SSH_DONE…>'`),
|
|
147
148
|
* 此时回显是整行拼接,不能要求命令后紧跟换行。
|
|
@@ -188,9 +189,9 @@ export function extractOutputStart(raw, command, endBound = raw.length, first =
|
|
|
188
189
|
return findLastEndOfBefore(re, scanned, 0, scanEnd);
|
|
189
190
|
}
|
|
190
191
|
/**
|
|
191
|
-
* 剥离"
|
|
192
|
-
*
|
|
193
|
-
* 故丢弃窗口开头到"命令回显行结束"
|
|
192
|
+
* 剥离"命令回显前缀"(含提示符 / PS1 填充 / 光标噪音),只保留程序纯输出:
|
|
193
|
+
* **靠命令文本自锚定,不判断提示符形态**(提示符依赖终端自身屏幕状态、且形态可变,不可识别),
|
|
194
|
+
* 故丢弃窗口开头到"命令回显行结束"之前的一切内容——前缀里的提示符/填充/噪音随之一并丢弃。
|
|
194
195
|
* 命令回显行 = 命令文本首次出现所在行(命令本身可能含 \033 等转义)。
|
|
195
196
|
* 命中后切到"命令文本结束处":zsh 下程序输出可能直接粘连在回显尾(无换行),不能按换行截断。
|
|
196
197
|
* @param raw 原始终端流(含 ANSI)
|
|
@@ -203,45 +204,106 @@ export function extractOutput(raw, command) {
|
|
|
203
204
|
return raw;
|
|
204
205
|
return raw.slice(end).replace(/^[\r\n]+/, "");
|
|
205
206
|
}
|
|
206
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* 行归一化:剥 ANSI、去行尾 \r 与尾空白。
|
|
209
|
+
* 只服务"探针回显前缀是否还有可见字符"的**存在性**判断(与 `""` 比较),
|
|
210
|
+
* 不再作提示符相等基准——提示符形态随 cwd/profile/主题变化,不可判断。
|
|
211
|
+
*/
|
|
207
212
|
const normLine = (s) => stripAnsi(s).replace(/\r$/, "").trimEnd();
|
|
208
213
|
/**
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
214
|
+
* 探针回显"单个匹配区间的跨度上限"(字符,含字符间插入的 ANSI 与空白)。
|
|
215
|
+
* 探针命令本身约 50 可见字符、pwsh 语法高亮插入的 SGR 约 20 → 正常跨度约 70;取 200 留足余量。
|
|
216
|
+
* 超限视作宽松匹配的误命中(如稀疏空白把命令字符拉开),不删——宁可留脏,不可误删。
|
|
217
|
+
*/
|
|
218
|
+
export const PROBE_ECHO_MAX_SPAN = 200;
|
|
219
|
+
/**
|
|
220
|
+
* ANSI 容忍定位 needle 在 text 中的**首次**出现:允许 needle 字符之间插入 ANSI 转义序列与任意空白
|
|
221
|
+
* (复用"去 ANSI + 压空白"的线性匹配,免疫 shell 语法高亮在 token 间插入的 SGR)。
|
|
222
|
+
* 绝不用提示符做锚点(提示符随 cwd/profile/主题变化,不可锚定)。
|
|
223
|
+
* @param text 待搜索文本(调用方按行传入)
|
|
224
|
+
* @param needle 待定位文本(探针命令,含会话 nonce,天然唯一)
|
|
225
|
+
* @returns 命中:{start,end}(相对 text 原文偏移,end 为末个可见字符后一位);未命中:null
|
|
226
|
+
*/
|
|
227
|
+
export function findAnsiTolerantFirstRange(text, needle) {
|
|
228
|
+
const target = compressForEcho(needle.replace(/\\033/gi, "\x1b")).text;
|
|
229
|
+
if (!target)
|
|
230
|
+
return null;
|
|
231
|
+
const { text: body, idx } = compressForEcho(text);
|
|
232
|
+
const i = body.indexOf(target);
|
|
233
|
+
if (i < 0)
|
|
234
|
+
return null;
|
|
235
|
+
return { start: idx[i], end: idx[i + target.length - 1] + 1 };
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* 判定探针回显前缀是否已无任何可见字符(D1 判据):该行删掉探针回显后若只剩空白/ANSI 前缀,
|
|
239
|
+
* 说明**探针回显是本行首个可见 token** → 整行丢弃。
|
|
240
|
+
* 只做存在性判断,不与任何提示符基准比较(提示符形态随 cwd/profile/主题变化,不可判断);
|
|
241
|
+
* 前缀含可见字符则保留(行中打断场景下前缀可能是真输出,宁可留脏,不可误删)。
|
|
242
|
+
* @param head 探针回显起点之前的行前缀(已回退掉紧邻 ANSI)
|
|
243
|
+
* @returns true 表示前缀无任何可见字符
|
|
244
|
+
*/
|
|
245
|
+
function hasNoVisiblePrefix(head) {
|
|
246
|
+
return normLine(head) === "";
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* 行尾锚定的 ANSI 序列匹配:用于把删除起点**向前回退到紧邻的 ANSI 之前**。
|
|
250
|
+
* 只回退 ANSI 字节(不越过任何可见字符/提示符/真输出),使探针首 token 前的语法高亮色码
|
|
251
|
+
* 随回显一起删除,避免行中打断场景残留孤立色码污染后续输出。
|
|
252
|
+
*/
|
|
253
|
+
const ANSI_AT_END = new RegExp(`(?:${ANSI_SEQ_PATTERN})$`);
|
|
254
|
+
/**
|
|
255
|
+
* 把位置 pos 向前回退,跳过紧邻其前的连续 ANSI 序列(不含可见字符)。
|
|
256
|
+
* @param line 行文本
|
|
257
|
+
* @param pos 起始位置
|
|
258
|
+
* @returns 回退后的位置(≥0)
|
|
212
259
|
*/
|
|
213
|
-
function
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
260
|
+
function backOverAnsi(line, pos) {
|
|
261
|
+
let cut = pos;
|
|
262
|
+
for (;;) {
|
|
263
|
+
const m = line.slice(0, cut).match(ANSI_AT_END);
|
|
264
|
+
if (!m || m[0].length === 0)
|
|
265
|
+
break;
|
|
266
|
+
cut -= m[0].length;
|
|
217
267
|
}
|
|
218
|
-
return
|
|
268
|
+
return cut;
|
|
219
269
|
}
|
|
220
270
|
/**
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
* @param
|
|
228
|
-
* @param
|
|
229
|
-
* @returns
|
|
271
|
+
* 剔除探针命令回显行(含 shell 语法高亮插入的 ANSI 与提示符前缀):
|
|
272
|
+
* 逐行处理,对每行 ANSI 容忍地定位任一 needle 的首次出现;命中且跨度不超 PROBE_ECHO_MAX_SPAN 时,
|
|
273
|
+
* 删除「探针回显起点(含其前紧邻 ANSI 色码)→ 该行行尾」——**只向后删、绝不向前越过可见字符**:
|
|
274
|
+
* 保留行中探针之前的真输出(行中打断场景);若探针回显即本行首个可见 token(前缀无可见字符)则整行丢弃,
|
|
275
|
+
* 否则保留其前缀(可能是真输出,也可能是提示符,不再与提示符基准比较)。
|
|
276
|
+
* 无命中行逐字节不变;Raw 视图不经此函数,保留原始字节。
|
|
277
|
+
* @param text 可见输出文本
|
|
278
|
+
* @param needles 探针命令文本(各 seq;含会话 nonce,故不会命中别的会话/nonce 的探针)
|
|
279
|
+
* @returns 剔除后文本
|
|
230
280
|
*/
|
|
231
|
-
export function
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
281
|
+
export function removeProbeEchoLines(text, needles) {
|
|
282
|
+
if (needles.length === 0 || text === "")
|
|
283
|
+
return text;
|
|
284
|
+
const kept = [];
|
|
285
|
+
for (const line of text.split("\n")) {
|
|
286
|
+
// 取本行内最早出现的探针回显起点(多个 needle 时取最小 start)
|
|
287
|
+
let cut = -1;
|
|
288
|
+
for (const needle of needles) {
|
|
289
|
+
const r = findAnsiTolerantFirstRange(line, needle);
|
|
290
|
+
if (!r)
|
|
291
|
+
continue;
|
|
292
|
+
if (r.end - r.start > PROBE_ECHO_MAX_SPAN)
|
|
293
|
+
continue; // 护栏②:跨度超限,疑误命中,不删
|
|
294
|
+
if (cut < 0 || r.start < cut)
|
|
295
|
+
cut = r.start;
|
|
296
|
+
}
|
|
297
|
+
if (cut < 0) {
|
|
298
|
+
kept.push(line); // 无命中:逐字节保留
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
const head = line.slice(0, backOverAnsi(line, cut)); // 护栏③:只删探针起点→行尾,保留该行前半真输出
|
|
302
|
+
if (hasNoVisiblePrefix(head))
|
|
303
|
+
continue; // D1:探针回显即本行首个可见 token → 整行丢弃
|
|
304
|
+
kept.push(head);
|
|
243
305
|
}
|
|
244
|
-
return
|
|
306
|
+
return kept.join("\n");
|
|
245
307
|
}
|
|
246
308
|
/**
|
|
247
309
|
* 把原始终端流转为给模型看的干净文本:用 xterm headless 引擎忠实模拟终端屏幕
|
|
@@ -302,14 +364,6 @@ function writeHeadless(term, data) {
|
|
|
302
364
|
});
|
|
303
365
|
});
|
|
304
366
|
}
|
|
305
|
-
/**
|
|
306
|
-
* 末尾空白清理(原为提示符剥离,现仅做清理,不依赖正则匹配具体提示符形状)
|
|
307
|
-
* @param s 文本
|
|
308
|
-
* @returns 清理后文本
|
|
309
|
-
*/
|
|
310
|
-
export function stripPrompt(s) {
|
|
311
|
-
return s.trimEnd();
|
|
312
|
-
}
|
|
313
367
|
/**
|
|
314
368
|
* 时间戳格式化为 yyyy-MM-dd HH:mm:ss
|
|
315
369
|
* @param ts 毫秒时间戳
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AAGtC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,+EAA+E;AAC/E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;AAE3C,mDAAmD;AACnD,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAExC,aAAa;AACb,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAE7E,0DAA0D;AAC1D,MAAM,SAAS,GAAG,MAAM,gBAAgB,iBAAiB,CAAA;AAEzD,2DAA2D;AAC3D,MAAM,SAAS,GAAG,MAAM,gBAAgB,IAAI,CAAA;AAE5C,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,iBAAiB,CAAA;AAE7D,2DAA2D;AAC3D,MAAM,YAAY,GAAG,YAAY,CAAA;AAEjC;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACpG,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1E,OAAO,GAAG,GAAG,SAAS,GAAG,YAAY,CAAA;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAE3C,6CAA6C;AAC7C,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,EAAE,CAAC,SAAS,GAAG,CAAC,CAAA;QAChB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,OAAe,EAAE,QAAgB,EAAE,KAAc;IACvF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,CAAA;IACnB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,iDAAiD;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK;QAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC3F,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;IACvD,2BAA2B;IAC3B,gCAAgC;IAChC,gCAAgC;IAChC,+CAA+C;IAC/C,oDAAoD;IACpD,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAA;IACtG,CAAC;IACD,0DAA0D;IAC1D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC5D,OAAO,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAA;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACtD,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AAGtC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,+EAA+E;AAC/E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;AAE3C,mDAAmD;AACnD,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAExC,aAAa;AACb,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAE7E,0DAA0D;AAC1D,MAAM,SAAS,GAAG,MAAM,gBAAgB,iBAAiB,CAAA;AAEzD,2DAA2D;AAC3D,MAAM,SAAS,GAAG,MAAM,gBAAgB,IAAI,CAAA;AAE5C,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,iBAAiB,CAAA;AAE7D,2DAA2D;AAC3D,MAAM,YAAY,GAAG,YAAY,CAAA;AAEjC;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACpG,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1E,OAAO,GAAG,GAAG,SAAS,GAAG,YAAY,CAAA;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAE3C,6CAA6C;AAC7C,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,EAAE,CAAC,SAAS,GAAG,CAAC,CAAA;QAChB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,OAAe,EAAE,QAAgB,EAAE,KAAc;IACvF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,CAAA;IACnB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IAChD,iDAAiD;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK;QAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC3F,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;IACvD,2BAA2B;IAC3B,gCAAgC;IAChC,gCAAgC;IAChC,+CAA+C;IAC/C,oDAAoD;IACpD,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAA;IACtG,CAAC;IACD,0DAA0D;IAC1D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC5D,OAAO,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAA;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACtD,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,OAAe,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK;IACnG,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,CAAA;IACnB,0DAA0D;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC/D,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IAC7B,kDAAkD;IAClD,0DAA0D;IAC1D,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/D,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC3C,IAAI,EAAU,CAAA;IACd,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,mDAAmD;IACnD,qCAAqC;IACrC,uCAAuC;IACvC,OAAO,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC5C,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,GAAG,CAAA;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;AAEjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY,EAAE,MAAc;IACrE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,gBAAgB,IAAI,CAAC,CAAA;AAE1D;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,GAAW;IAC7C,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,SAAS,CAAC;QACR,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAK;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACpB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAiB;IAClE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACpD,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,wCAAwC;QACxC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;QACZ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAClD,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAChB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,mBAAmB;gBAAE,SAAQ,CAAC,mBAAmB;YACvE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG;gBAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAA;QAC7C,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,YAAY;YAC5B,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,0BAA0B;QAC9E,IAAI,kBAAkB,CAAC,IAAI,CAAC;YAAE,SAAQ,CAAC,8BAA8B;QACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAA;IACrC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9F,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aACvB,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,qBAAqB;QACjC,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAsB,EAAE,IAAY;IACzD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAA;AACnI,CAAC"}
|
package/dist/web/app.css
CHANGED
|
@@ -37,6 +37,10 @@ body:not(.show-time) .row .t { display: none; }
|
|
|
37
37
|
.del-btn { background: none; border: 1px solid #30363d; color: #f85149; border-radius: 4px; cursor: pointer; padding: 2px 8px; font-size: 14px; line-height: 1; display: none; }
|
|
38
38
|
.del-btn:hover { background: #f85149; color: #fff; }
|
|
39
39
|
.del-btn.show { display: inline-block; }
|
|
40
|
+
.del-btn:disabled { opacity: 0.4; cursor: not-allowed; border-color: #30363d; color: #8b949e; }
|
|
41
|
+
.del-btn:disabled:hover { background: none; color: #8b949e; }
|
|
42
|
+
.notice { display: none; flex: 0 0 auto; padding: 6px 16px; background: #3d2f1f; color: #e3b341; border-top: 1px solid #30363d; font-size: 13px; }
|
|
43
|
+
.notice.show { display: block; }
|
|
40
44
|
#cmdbar { flex: 0 0 auto; display: flex; gap: 6px; padding: 8px 16px; border-top: 1px solid #30363d; }
|
|
41
45
|
#cmdInput { flex: 1; box-sizing: border-box; background: #0d1117; color: #c9d1d9; border: 1px solid #30363d; border-radius: 6px; padding: 8px 12px; font-family: "CaskaydiaCove Nerd Font Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", "Noto Sans Mono", "Hack", Consolas, "Courier New", monospace; font-size: 13px; outline: none; resize: none; max-height: 120px; overflow-y: auto; }
|
|
42
46
|
#cmdInput:focus { border-color: #58a6ff; }
|