Skip to content

Commit a9e2e07

Browse files
committed
feat: add ansi-escapes package and enhance terminal output handling
1 parent 806e84c commit a9e2e07

6 files changed

Lines changed: 21 additions & 11 deletions

File tree

packages/ai-native/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"@opensumi/ide-workspace": "workspace:*",
4747
"@xterm/xterm": "5.5.0",
4848
"ai": "^4.1.45",
49+
"ansi-escapes": "^7.0.0",
4950
"ansi-regex": "^2.0.0",
5051
"ansi_up": "^5.1.0",
5152
"diff": "^7.0.0",

packages/ai-native/src/browser/mcp/tools/components/Terminal.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ export const TerminalToolComponent = memo((props: IMCPServerToolComponentProps)
7070
</p>
7171
</>
7272
)}
73-
<div className={styles.command_title}>
74-
<span>{localize('ai.native.mcp.terminal.output')}:</span>
75-
</div>
7673
{output ? (
7774
<div className={styles.command_content}>
7875
<Icon icon='output' />

packages/ai-native/src/browser/mcp/tools/components/computeAnsiLogString.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ const ansiUp = new AnsiUp();
88

99
export function computeAnsiLogString(logs: LogContent, enableEraseLineFilter = true, hideEmptyLine = false): string {
1010
const splittedLogs = logs.split('\n');
11-
if (!Array.isArray(logs)) {
12-
// eslint-disable-next-line no-console
13-
console.warn('[AnsiLog] prop "logs"\'s type is incorrect.');
14-
return '';
15-
}
16-
1711
// 处理清空上行逻辑
1812
// 上移 cursor + 清空整行
1913
let filteredLogs = enableEraseLineFilter ? filterEraseMultipleLine(splittedLogs) : splittedLogs;
@@ -26,6 +20,5 @@ export function computeAnsiLogString(logs: LogContent, enableEraseLineFilter = t
2620

2721
return htmlLog;
2822
});
29-
3023
return htmlLogLines.join('\n');
3124
}

packages/ai-native/src/browser/mcp/tools/components/index.module.less

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@
169169
}
170170

171171
.command_content {
172+
max-height: 200px;
173+
overflow-y: auto;
172174
padding: 2px 4px;
173175
font-size: 11px;
174176
color: var(--design-text-foreground);

packages/connection/src/common/connection/drivers/frame-decoder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable no-console */
22
import { BinaryWriter } from '@furyjs/fury/dist/lib/writer';
33

4-
import { MaybeNull, readUInt32LE } from '@opensumi/ide-core-common';
4+
import { MaybeNull, readUInt32LE, setImmediate } from '@opensumi/ide-core-common';
55

66
import { Buffers } from '../../buffers/buffers';
77

yarn.lock

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3418,6 +3418,7 @@ __metadata:
34183418
"@opensumi/ide-workspace": "workspace:*"
34193419
"@xterm/xterm": "npm:5.5.0"
34203420
ai: "npm:^4.1.45"
3421+
ansi-escapes: "npm:^7.0.0"
34213422
ansi-regex: "npm:^2.0.0"
34223423
ansi_up: "npm:^5.1.0"
34233424
diff: "npm:^7.0.0"
@@ -7008,6 +7009,15 @@ __metadata:
70087009
languageName: node
70097010
linkType: hard
70107011

7012+
"ansi-escapes@npm:^7.0.0":
7013+
version: 7.0.0
7014+
resolution: "ansi-escapes@npm:7.0.0"
7015+
dependencies:
7016+
environment: "npm:^1.0.0"
7017+
checksum: 10/2d0e2345087bd7ae6bf122b9cc05ee35560d40dcc061146edcdc02bc2d7c7c50143cd12a22e69a0b5c0f62b948b7bc9a4539ee888b80f5bd33cdfd82d01a70ab
7018+
languageName: node
7019+
linkType: hard
7020+
70117021
"ansi-html-community@npm:^0.0.8":
70127022
version: 0.0.8
70137023
resolution: "ansi-html-community@npm:0.0.8"
@@ -10809,6 +10819,13 @@ __metadata:
1080910819
languageName: node
1081010820
linkType: hard
1081110821

10822+
"environment@npm:^1.0.0":
10823+
version: 1.1.0
10824+
resolution: "environment@npm:1.1.0"
10825+
checksum: 10/dd3c1b9825e7f71f1e72b03c2344799ac73f2e9ef81b78ea8b373e55db021786c6b9f3858ea43a436a2c4611052670ec0afe85bc029c384cc71165feee2f4ba6
10826+
languageName: node
10827+
linkType: hard
10828+
1081210829
"err-code@npm:^2.0.2":
1081310830
version: 2.0.3
1081410831
resolution: "err-code@npm:2.0.3"

0 commit comments

Comments
 (0)