@lemoncat7/dsh-ssh 1.4.6 → 1.5.0

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.
Files changed (75) hide show
  1. package/ARCHITECTURE.md +5 -0
  2. package/README.md +12 -1
  3. package/lib/api.d.ts.map +1 -1
  4. package/lib/api.js +33 -3
  5. package/lib/api.js.map +1 -1
  6. package/lib/client-api.d.ts +8 -0
  7. package/lib/client-api.d.ts.map +1 -1
  8. package/lib/client-api.js.map +1 -1
  9. package/lib/client.d.ts.map +1 -1
  10. package/lib/client.js +150 -45
  11. package/lib/client.js.map +4 -4
  12. package/lib/commands-panel.d.ts +4 -0
  13. package/lib/commands-panel.d.ts.map +1 -0
  14. package/lib/commands-panel.js +54 -0
  15. package/lib/commands-panel.js.map +1 -0
  16. package/lib/commands.d.ts +5 -0
  17. package/lib/commands.d.ts.map +1 -0
  18. package/lib/commands.js +29 -0
  19. package/lib/commands.js.map +1 -0
  20. package/lib/directory.d.ts.map +1 -1
  21. package/lib/directory.js +8 -0
  22. package/lib/directory.js.map +1 -1
  23. package/lib/domain.d.ts +9 -0
  24. package/lib/domain.d.ts.map +1 -1
  25. package/lib/domain.js.map +1 -1
  26. package/lib/gist-sync.d.ts +5 -1
  27. package/lib/gist-sync.d.ts.map +1 -1
  28. package/lib/gist-sync.js +69 -26
  29. package/lib/gist-sync.js.map +1 -1
  30. package/lib/project-mounts.d.ts +7 -0
  31. package/lib/project-mounts.d.ts.map +1 -0
  32. package/lib/project-mounts.js +19 -0
  33. package/lib/project-mounts.js.map +1 -0
  34. package/lib/remote-workspace-tree.d.ts +2 -0
  35. package/lib/remote-workspace-tree.d.ts.map +1 -1
  36. package/lib/remote-workspace-tree.js +8 -6
  37. package/lib/remote-workspace-tree.js.map +1 -1
  38. package/lib/resizable-split.d.ts +2 -1
  39. package/lib/resizable-split.d.ts.map +1 -1
  40. package/lib/resizable-split.js +2 -2
  41. package/lib/resizable-split.js.map +1 -1
  42. package/lib/session-access.d.ts +2 -0
  43. package/lib/session-access.d.ts.map +1 -1
  44. package/lib/session-access.js +56 -2
  45. package/lib/session-access.js.map +1 -1
  46. package/lib/sftp-client.d.ts.map +1 -1
  47. package/lib/sftp-client.js +3 -3
  48. package/lib/sftp-client.js.map +1 -1
  49. package/lib/store.d.ts +1 -0
  50. package/lib/store.d.ts.map +1 -1
  51. package/lib/store.js +4 -0
  52. package/lib/store.js.map +1 -1
  53. package/lib/terminal-layout.d.ts +10 -0
  54. package/lib/terminal-layout.d.ts.map +1 -0
  55. package/lib/terminal-layout.js +26 -0
  56. package/lib/terminal-layout.js.map +1 -0
  57. package/lib/terminal-session.d.ts +10 -0
  58. package/lib/terminal-session.d.ts.map +1 -0
  59. package/lib/terminal-session.js +150 -0
  60. package/lib/terminal-session.js.map +1 -0
  61. package/lib/terminal-transport.d.ts +1 -0
  62. package/lib/terminal-transport.d.ts.map +1 -1
  63. package/lib/terminal-transport.js +1 -1
  64. package/lib/terminal-transport.js.map +1 -1
  65. package/lib/terminal-workspace.d.ts +9 -0
  66. package/lib/terminal-workspace.d.ts.map +1 -0
  67. package/lib/terminal-workspace.js +70 -0
  68. package/lib/terminal-workspace.js.map +1 -0
  69. package/lib/terminal.d.ts +3 -1
  70. package/lib/terminal.d.ts.map +1 -1
  71. package/lib/terminal.js +22 -3
  72. package/lib/terminal.js.map +1 -1
  73. package/lib/tools.js +1 -0
  74. package/lib/tools.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,150 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { FitAddon } from '@xterm/addon-fit';
4
+ import { api, ApiError, browserTerminalStreamUrl, profileAddress } from './client-api.js';
5
+ import { TerminalTransport } from './terminal-transport.js';
6
+ import { attachTerminalViewport, createSshTerminal } from './terminal-view.js';
7
+ import { Dialog, errorMessage } from './ui-components.js';
8
+ import { CommandsPanel } from './commands-panel.js';
9
+ export function TerminalSession({ profile, path, label, onControls, onConnected }) {
10
+ const hostRef = useRef(null);
11
+ const terminalRef = useRef();
12
+ const idRef = useRef();
13
+ const transportRef = useRef();
14
+ const fitRef = useRef();
15
+ const disposeViewportRef = useRef();
16
+ const generation = useRef(0);
17
+ const connecting = useRef(false);
18
+ const [id, setId] = useState();
19
+ const [phase, setPhase] = useState('idle');
20
+ const [error, setError] = useState();
21
+ const [picking, setPicking] = useState(false);
22
+ const [draft, setDraft] = useState();
23
+ const close = (terminalId) => api(`/terminals/${encodeURIComponent(terminalId)}`, { method: 'DELETE' });
24
+ const initialize = () => {
25
+ if (terminalRef.current)
26
+ return terminalRef.current;
27
+ const host = hostRef.current;
28
+ if (!host)
29
+ return;
30
+ const terminal = createSshTerminal({ scrollback: 3000 });
31
+ const fit = new FitAddon();
32
+ terminal.loadAddon(fit);
33
+ terminal.open(host);
34
+ terminalRef.current = terminal;
35
+ fitRef.current = fit;
36
+ const viewport = attachTerminalViewport(host, terminal, fit, (cols, rows) => {
37
+ if (idRef.current)
38
+ void api(`/terminals/${idRef.current}/resize`, { method: 'POST', body: JSON.stringify({ cols, rows }) }).catch(() => { });
39
+ });
40
+ disposeViewportRef.current = () => viewport.dispose();
41
+ return terminal;
42
+ };
43
+ useEffect(() => () => {
44
+ generation.current++;
45
+ if (idRef.current)
46
+ void close(idRef.current).catch(() => { });
47
+ disposeViewportRef.current?.();
48
+ terminalRef.current?.dispose();
49
+ terminalRef.current = undefined;
50
+ }, []);
51
+ useEffect(() => {
52
+ if (!id || !terminalRef.current)
53
+ return;
54
+ const terminal = terminalRef.current;
55
+ const transport = new TerminalTransport({
56
+ streamUrl: browserTerminalStreamUrl(id),
57
+ isVisible: () => (hostRef.current?.getClientRects().length ?? 0) > 0,
58
+ read: async (cursor) => {
59
+ try {
60
+ return await api(`/terminals/${id}/output?cursor=${cursor}`);
61
+ }
62
+ catch (reason) {
63
+ if (reason instanceof ApiError && reason.status === 404)
64
+ return { data: '\r\n[连接已结束,可以重新连接]\r\n', cursor, closed: true, truncated: false };
65
+ throw reason;
66
+ }
67
+ },
68
+ send: (text, sequence) => api(`/terminals/${id}/input`, { method: 'POST', body: JSON.stringify({ text, sequence }) }),
69
+ });
70
+ transportRef.current = transport;
71
+ const input = terminal.onData(text => transport.sendInput(text, reason => setError(errorMessage(reason))));
72
+ const stop = transport.observe({ output: value => {
73
+ if (value.truncated)
74
+ terminal.write('\r\n[较早输出已截断]\r\n');
75
+ if (value.data)
76
+ terminal.write(value.data);
77
+ if (value.closed) {
78
+ idRef.current = undefined;
79
+ setId(undefined);
80
+ setPhase('idle');
81
+ }
82
+ }, error: reason => setError(errorMessage(reason)) });
83
+ return () => { stop(); input.dispose(); transport.dispose(); transportRef.current = undefined; };
84
+ }, [id]);
85
+ const connect = async () => {
86
+ if (connecting.current || idRef.current)
87
+ return;
88
+ connecting.current = true;
89
+ const current = generation.current;
90
+ setPhase('connecting');
91
+ setError(undefined);
92
+ try {
93
+ const terminal = initialize();
94
+ if (!terminal) {
95
+ setPhase('idle');
96
+ return;
97
+ }
98
+ fitRef.current?.fit();
99
+ const result = await api('/terminals', { method: 'POST', body: JSON.stringify({ profileId: profile.id, cwd: path, cols: terminal.cols, rows: terminal.rows }) });
100
+ if (generation.current !== current) {
101
+ await close(result.id);
102
+ return;
103
+ }
104
+ idRef.current = result.id;
105
+ setId(result.id);
106
+ setPhase('connected');
107
+ onConnected();
108
+ terminal.focus();
109
+ }
110
+ catch (reason) {
111
+ if (generation.current === current) {
112
+ setPhase('error');
113
+ setError(errorMessage(reason));
114
+ }
115
+ }
116
+ finally {
117
+ connecting.current = false;
118
+ }
119
+ };
120
+ const disconnect = async () => {
121
+ if (!idRef.current)
122
+ return;
123
+ try {
124
+ await close(idRef.current);
125
+ idRef.current = undefined;
126
+ setId(undefined);
127
+ setPhase('idle');
128
+ }
129
+ catch (reason) {
130
+ setError(errorMessage(reason));
131
+ }
132
+ };
133
+ // Publish only the selected session's controls; keep transport ownership here.
134
+ const actions = useRef({ connect, disconnect });
135
+ actions.current = { connect, disconnect };
136
+ useEffect(() => {
137
+ if (!onControls)
138
+ return;
139
+ onControls(_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", "aria-label": "\u5E38\u7528\u547D\u4EE4", title: `常用命令 · ${label}`, onClick: () => setPicking(true), children: "\u547D\u4EE4" }), id ? _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", title: `断开 ${label}`, onClick: () => { void actions.current.disconnect(); }, children: "\u65AD\u5F00" }) : _jsx("button", { type: "button", className: "dsh-ssh-primary-button", title: `连接 ${label}`, disabled: phase === 'connecting', onClick: () => { void actions.current.connect(); }, children: phase === 'connecting' ? '连接中…' : '连接' })] }));
140
+ return () => onControls(null);
141
+ }, [onControls, label, id, phase]);
142
+ return _jsxs("div", { className: "dsh-ssh-terminal-pane is-embedded", children: [error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-terminal-frame", children: [_jsx("div", { className: "dsh-ssh-xterm", children: _jsx("div", { ref: hostRef, className: "dsh-ssh-terminal-viewport" }) }), _jsxs("div", { className: "dsh-ssh-terminal-status", children: [_jsxs("span", { children: [label, " \u00B7 ", id ? '已连接' : phase === 'connecting' ? '连接中…' : '未连接'] }), _jsx("span", { title: `初始目录:${path}\n${profileAddress(profile)}`, children: path })] })] }), draft !== undefined && _jsxs("div", { className: "dsh-ssh-command-draft", children: [_jsxs("label", { className: "dsh-ssh-field", children: [_jsxs("span", { children: ["\u53D1\u9001\u76EE\u6807\uFF1A", profile.name, " \u00B7 \u8BF7\u5148\u786E\u8BA4\u7EC8\u7AEF\u5904\u4E8E\u547D\u4EE4\u63D0\u793A\u7B26"] }), _jsx("textarea", { "aria-label": "\u5F85\u53D1\u9001\u547D\u4EE4", rows: 3, value: draft, onChange: event => setDraft(event.target.value) })] }), _jsxs("div", { className: "dsh-ssh-heading-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => setDraft(undefined), children: "\u53D6\u6D88" }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", disabled: !id || !draft.trim(), onClick: () => {
143
+ if (!transportRef.current)
144
+ return;
145
+ transportRef.current.sendInput(`${draft.replace(/\r\n/g, '\n')}\r`, reason => setError(errorMessage(reason)));
146
+ setDraft(undefined);
147
+ terminalRef.current?.focus();
148
+ }, children: ["\u786E\u8BA4\u6267\u884C", draft.includes('\n') ? '多行命令' : ''] })] })] }), picking && _jsx(Dialog, { title: "\u9009\u62E9\u5E38\u7528\u547D\u4EE4", subtitle: "\u9009\u7528\u540E\u5148\u9884\u89C8\uFF0C\u4E0D\u4F1A\u7ACB\u5373\u6267\u884C", onClose: () => setPicking(false), children: _jsx(CommandsPanel, { onChoose: command => { setDraft(command); setPicking(false); } }) })] });
149
+ }
150
+ //# sourceMappingURL=terminal-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../src/terminal-session.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { TerminalOutputDelta } from './client-api.js';
2
2
  interface TerminalTransportEndpoints {
3
+ isVisible?(): boolean;
3
4
  streamUrl: string;
4
5
  read(cursor: number): Promise<TerminalOutputDelta>;
5
6
  send(text: string, sequence: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-transport.d.ts","sourceRoot":"","sources":["../src/terminal-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,UAAU,0BAA0B;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD;AAED,UAAU,sBAAsB;IAC9B,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACxC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAQ;gBAEK,SAAS,EAAE,0BAA0B;IAElE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAgBjE,OAAO,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAuErD,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,YAAY;CAUrB"}
1
+ {"version":3,"file":"terminal-transport.d.ts","sourceRoot":"","sources":["../src/terminal-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,UAAU,0BAA0B;IAClC,SAAS,CAAC,IAAI,OAAO,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD;AAED,UAAU,sBAAsB;IAC9B,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACxC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAQ;gBAEK,SAAS,EAAE,0BAA0B;IAElE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAgBjE,OAAO,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAuErD,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,YAAY;CAUrB"}
@@ -63,7 +63,7 @@ export class TerminalTransport {
63
63
  const value = await this.endpoints.read(cursor);
64
64
  accept(value);
65
65
  if (!stopped)
66
- pollTimer = window.setTimeout(() => { void poll(); }, document.hidden ? 500 : value.data ? 16 : 64);
66
+ pollTimer = window.setTimeout(() => { void poll(); }, document.hidden || this.endpoints.isVisible?.() === false ? 1000 : value.data ? 16 : 64);
67
67
  }
68
68
  catch (reason) {
69
69
  if (stopped)
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-transport.js","sourceRoot":"","sources":["../src/terminal-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-transport.js","sourceRoot":"","sources":["../src/terminal-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ProfileView } from './client-api.js';
2
+ export declare function TerminalWorkspace({ profile, path, onConnected, closeAllRequest, onCountChange }: {
3
+ profile: ProfileView;
4
+ path: string;
5
+ onConnected(): void;
6
+ closeAllRequest?: number;
7
+ onCountChange?: (count: number) => void;
8
+ }): JSX.Element;
9
+ //# sourceMappingURL=terminal-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-workspace.d.ts","sourceRoot":"","sources":["../src/terminal-workspace.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAMlD,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAmB,EAAE,aAAa,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,IAAI,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA2EjP"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { IconCloseOutline16, IconPlusOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { TerminalSession } from './terminal-session.js';
5
+ import { closeTerminal, nextTerminalNumber, selectTerminal, splitTerminal } from './terminal-layout.js';
6
+ import { Dialog } from './ui-components.js';
7
+ export function TerminalWorkspace({ profile, path, onConnected, closeAllRequest = 0, onCountChange }) {
8
+ const [tabs, setTabs] = useState([{ id: 1, number: 1, path }]);
9
+ const [serial, setSerial] = useState(1);
10
+ const [view, setView] = useState({ panes: [1], focused: 1 });
11
+ const [direction, setDirection] = useState('horizontal');
12
+ const [closing, setClosing] = useState();
13
+ const [controls, setControls] = useState(null);
14
+ const handledCloseRequest = useRef(closeAllRequest);
15
+ useEffect(() => {
16
+ if (handledCloseRequest.current === closeAllRequest)
17
+ return;
18
+ handledCloseRequest.current = closeAllRequest;
19
+ setTabs([]);
20
+ setView({ panes: [], focused: 0 });
21
+ setClosing(undefined);
22
+ }, [closeAllRequest]);
23
+ useEffect(() => { onCountChange?.(tabs.length); }, [onCountChange, tabs.length]);
24
+ const label = (id) => `终端 ${tabs.find(tab => tab.id === id)?.number ?? ''}`;
25
+ const choose = (id) => setView(current => selectTerminal(current, id));
26
+ const add = (split = false) => {
27
+ if (tabs.length >= 8 || (split && view.panes.length >= 4))
28
+ return;
29
+ const id = serial + 1;
30
+ setSerial(id);
31
+ setTabs(current => [...current, { id, number: nextTerminalNumber(current.map(tab => tab.number)), path }]);
32
+ setView(current => split ? splitTerminal(current, id) : selectTerminal(current, id));
33
+ };
34
+ const addSplit = () => {
35
+ if (view.panes.length >= 4)
36
+ return;
37
+ const other = tabs.find(tab => !view.panes.includes(tab.id));
38
+ if (other)
39
+ setView(current => splitTerminal(current, other.id));
40
+ else
41
+ add(true);
42
+ };
43
+ const orient = (next) => {
44
+ setDirection(next);
45
+ if (view.panes.length < 2)
46
+ addSplit();
47
+ };
48
+ const count = view.panes.length;
49
+ return _jsxs("div", { className: "dsh-ssh-terminal-workspace", children: [_jsxs("div", { className: "dsh-ssh-terminal-tabbar", children: [_jsx("div", { className: "dsh-ssh-terminal-tabs", role: "tablist", "aria-label": `${profile.name} 终端标签`, children: tabs.map(tab => _jsxs("span", { className: `dsh-ssh-terminal-tab${view.focused === tab.id ? ' is-active' : ''}`, "data-ssh-interactive": "choice", children: [_jsx("button", { type: "button", role: "tab", "aria-selected": view.focused === tab.id, "aria-controls": `ssh-terminal-${profile.id}-${tab.id}`, title: `${label(tab.id)}${view.panes.includes(tab.id) ? ` · 窗格 ${view.panes.indexOf(tab.id) + 1}` : ' · 在当前窗格打开'}`, onClick: () => choose(tab.id), onKeyDown: event => {
50
+ if (!['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key))
51
+ return;
52
+ event.preventDefault();
53
+ const index = tabs.findIndex(item => item.id === tab.id);
54
+ const nextIndex = event.key === 'Home' ? 0 : event.key === 'End' ? tabs.length - 1 : (index + (event.key === 'ArrowRight' ? 1 : -1) + tabs.length) % tabs.length;
55
+ const next = tabs[nextIndex];
56
+ if (next) {
57
+ choose(next.id);
58
+ event.currentTarget.parentElement?.parentElement?.querySelectorAll('[role="tab"]')[nextIndex]?.focus();
59
+ }
60
+ }, children: label(tab.id) }), _jsx("button", { type: "button", "aria-label": `关闭${label(tab.id)}`, title: "\u5173\u95ED\u7EC8\u7AEF", onClick: () => setClosing(tab.id), children: _jsx(IconCloseOutline16, { size: 13 }) })] }, tab.id)) }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button", disabled: tabs.length >= 8, title: tabs.length >= 8 ? '每台主机最多 8 个标签' : '新建终端标签', "aria-label": "\u65B0\u5EFA\u7EC8\u7AEF\u6807\u7B7E", onClick: () => add(), children: _jsx(IconPlusOutline16, { size: 16 }) }), _jsxs("div", { className: "dsh-ssh-terminal-layout-actions", role: "group", "aria-label": "\u7EC8\u7AEF\u5E03\u5C40", children: [count < 3 && _jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": "\u5DE6\u53F3\u5206\u5C4F", title: "\u5DE6\u53F3\u5206\u5C4F", "aria-pressed": count === 2 && direction === 'horizontal', disabled: !count, onClick: () => orient('horizontal'), children: _jsx(SplitIcon, { direction: "horizontal" }) }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": "\u4E0A\u4E0B\u5206\u5C4F", title: "\u4E0A\u4E0B\u5206\u5C4F", "aria-pressed": count === 2 && direction === 'vertical', disabled: !count, onClick: () => orient('vertical'), children: _jsx(SplitIcon, { direction: "vertical" }) })] }), count >= 2 && _jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": "\u589E\u52A0\u5206\u5C4F", title: count >= 4 ? '最多 4 个分屏' : '增加分屏,最多 4 个', disabled: count >= 4, onClick: addSplit, children: _jsx(SplitIcon, { direction: "grid" }) }), count > 1 && _jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": "\u5355\u5C4F", title: "\u4EC5\u663E\u793A\u5F53\u524D\u7EC8\u7AEF\uFF0C\u5176\u4ED6\u8FDE\u63A5\u4FDD\u7559", onClick: () => setView(current => ({ panes: [current.focused], focused: current.focused })), children: _jsx(SplitIcon, {}) })] }), _jsx("div", { className: "dsh-ssh-terminal-session-actions", role: "group", "aria-label": `${label(view.focused)} 操作`, children: controls })] }), _jsxs("div", { className: `dsh-ssh-terminal-panes${count > 2 ? ' is-grid' : count === 2 ? ` is-split is-${direction}` : ''}`, children: [tabs.map(tab => _jsx("section", { id: `ssh-terminal-${profile.id}-${tab.id}`, "aria-label": label(tab.id), className: "dsh-ssh-terminal-slot", hidden: !view.panes.includes(tab.id), style: { order: view.panes.indexOf(tab.id) }, "data-focused": view.focused === tab.id, onPointerDown: () => setView(current => ({ ...current, focused: tab.id })), onFocusCapture: () => setView(current => ({ ...current, focused: tab.id })), children: _jsx(TerminalSession, { profile: profile, path: tab.path, label: label(tab.id), onControls: view.focused === tab.id ? setControls : undefined, onConnected: onConnected }) }, tab.id)), tabs.length === 0 && _jsxs("div", { className: "dsh-ssh-command-empty", children: [_jsx("p", { children: "\u6240\u6709\u7EC8\u7AEF\u5747\u5DF2\u5173\u95ED\u3002" }), _jsx("button", { type: "button", className: "dsh-ssh-primary-button", onClick: () => add(), children: "\u65B0\u5EFA\u7EC8\u7AEF" })] })] }), closing !== undefined && _jsx(Dialog, { title: `关闭${label(closing)}?`, subtitle: "\u5173\u95ED\u5C06\u65AD\u5F00\u6B64\u6807\u7B7E\u7684 SSH \u8FDE\u63A5\uFF0C\u53EF\u80FD\u4E2D\u65AD\u6B63\u5728\u8FD0\u884C\u7684\u547D\u4EE4\u3002", onClose: () => setClosing(undefined), children: _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => setClosing(undefined), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", className: "dsh-ssh-danger-button", onClick: () => {
61
+ const rest = tabs.filter(tab => tab.id !== closing);
62
+ setTabs(rest);
63
+ setView(current => closeTerminal(current, closing, rest.map(tab => tab.id)));
64
+ setClosing(undefined);
65
+ }, children: "\u5173\u95ED\u8FDE\u63A5" })] }) })] });
66
+ }
67
+ function SplitIcon({ direction }) {
68
+ return _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.3", "aria-hidden": "true", children: [_jsx("rect", { x: "2", y: "2.5", width: "12", height: "11", rx: "1.5" }), (direction === 'horizontal' || direction === 'grid') && _jsx("path", { d: "M8 3v10" }), (direction === 'vertical' || direction === 'grid') && _jsx("path", { d: "M2.5 8h11" })] });
69
+ }
70
+ //# sourceMappingURL=terminal-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-workspace.js","sourceRoot":"","sources":["../src/terminal-workspace.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAA;AAC5H,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,GAAG,CAAC,EAAE,aAAa,EAAkI;IAClO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA4B,YAAY,CAAC,CAAA;IACnF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAU,CAAA;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,IAAI,CAAC,CAAA;IACzD,MAAM,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,CAAC,OAAO,KAAK,eAAe;YAAE,OAAM;QAC3D,mBAAmB,CAAC,OAAO,GAAG,eAAe,CAAA;QAC7C,OAAO,CAAC,EAAE,CAAC,CAAA;QACX,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAClC,UAAU,CAAC,SAAS,CAAC,CAAA;IACvB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IACrB,SAAS,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/E,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE,CAAA;IAC3F,MAAM,MAAM,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACpF,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,EAAQ,EAAE;QAClC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YAAE,OAAM;QACjE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAA;QACrB,SAAS,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1G,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAM;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,KAAK;YAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;;YAC1D,GAAG,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,IAA+B,EAAQ,EAAE;QACvD,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,EAAE,CAAA;IACvC,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC/B,OAAO,eAAK,SAAS,EAAC,4BAA4B,aAChD,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,uBAAuB,EAAC,IAAI,EAAC,SAAS,gBAAa,GAAG,OAAO,CAAC,IAAI,OAAO,YACrF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAmB,SAAS,EAAE,uBAAuB,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,0BAAuB,QAAQ,aAChJ,iBAAQ,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,mBAAgB,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,mBAAiB,gBAAgB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;wCACpS,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;4CAAE,OAAM;wCAC3E,KAAK,CAAC,cAAc,EAAE,CAAA;wCACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;wCACxD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;wCAChK,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;wCAC5B,IAAI,IAAI,EAAE,CAAC;4CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAoB,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;wCAAC,CAAC;oCAC1J,CAAC,YAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAU,EAC3B,iBAAQ,IAAI,EAAC,QAAQ,gBAAa,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAC,0BAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,YAAE,KAAC,kBAAkB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,KATvH,GAAG,CAAC,EAAE,CAU3B,CAAC,GACJ,EACN,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,gBAAa,sCAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,EACzN,eAAK,SAAS,EAAC,iCAAiC,EAAC,IAAI,EAAC,OAAO,gBAAY,0BAAM,aAC5E,KAAK,GAAG,CAAC,IAAI,8BACZ,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,0BAAM,EAAC,KAAK,EAAC,0BAAM,kBAAe,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,YAAE,KAAC,SAAS,IAAC,SAAS,EAAC,YAAY,GAAG,GAAS,EAClP,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,0BAAM,EAAC,KAAK,EAAC,0BAAM,kBAAe,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAE,KAAC,SAAS,IAAC,SAAS,EAAC,UAAU,GAAG,GAAS,IAC3O,EACF,KAAK,IAAI,CAAC,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,0BAAM,EAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,YAAE,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,GAAG,GAAS,EACtN,KAAK,GAAG,CAAC,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,gBAAY,cAAI,EAAC,KAAK,EAAC,sFAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,YAAE,KAAC,SAAS,KAAG,GAAS,IAC1N,EACN,cAAK,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAC,OAAO,gBAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,YAAG,QAAQ,GAAO,IACpH,EACN,eAAK,SAAS,EAAE,yBAAyB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,aAC/G,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAsB,EAAE,EAAE,gBAAgB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,gBAAc,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,uBAAuB,EAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,kBAAgB,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,YACha,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,GAAI,IADvI,GAAG,CAAC,EAAE,CAE3B,CAAC,EACV,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,eAAK,SAAS,EAAC,uBAAuB,aAAC,iFAAgB,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,yCAAe,IAAM,IAC3K,EACL,OAAO,KAAK,SAAS,IAAI,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAC,uJAA+B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,YAAE,eAAK,SAAS,EAAC,wBAAwB,aAAC,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,6BAAa,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAE,GAAG,EAAE;gCACxW,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;gCACnD,OAAO,CAAC,IAAI,CAAC,CAAA;gCACb,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gCAC5E,UAAU,CAAC,SAAS,CAAC,CAAA;4BACvB,CAAC,yCAAe,IAAM,GAAS,IAC3B,CAAA;AACR,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAsD;IAClF,OAAO,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,iBAAa,MAAM,aAAC,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,GAAG,EAAC,CAAC,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,eAAM,CAAC,EAAC,SAAS,GAAG,EAAE,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,eAAM,CAAC,EAAC,WAAW,GAAG,IAAO,CAAA;AACxV,CAAC"}
package/lib/terminal.d.ts CHANGED
@@ -37,8 +37,10 @@ export declare class SshTerminalSession implements TerminalBackendSession {
37
37
  export declare class BrowserTerminalManager {
38
38
  private readonly connector;
39
39
  private readonly sessions;
40
+ private pending;
41
+ private closing;
40
42
  constructor(connector: SshConnector);
41
- create(profileId: string, cols: number, rows: number, signal?: AbortSignal): Promise<{
43
+ create(profileId: string, cols: number, rows: number, signal?: AbortSignal, cwd?: string): Promise<{
42
44
  id: string;
43
45
  profileId: string;
44
46
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/lib/terminal.js CHANGED
@@ -198,21 +198,38 @@ class SendOperation {
198
198
  export class BrowserTerminalManager {
199
199
  connector;
200
200
  sessions = new Map();
201
+ pending = 0;
202
+ closing = false;
201
203
  constructor(connector) {
202
204
  this.connector = connector;
203
205
  }
204
- async create(profileId, cols, rows, signal) {
205
- const connection = await this.connector.connect(profileId, signal);
206
+ async create(profileId, cols, rows, signal, cwd) {
207
+ if (this.closing)
208
+ throw new Error('SSH terminal service is shutting down');
209
+ if (this.sessions.size + this.pending >= 32)
210
+ throw Object.assign(new Error('终端连接已达 32 个,请先关闭不再使用的标签'), { status: 429 });
211
+ this.pending++;
212
+ let connection;
206
213
  try {
214
+ connection = await this.connector.connect(profileId, signal);
207
215
  const channel = await openShell(connection, clamp(cols, 20, 400), clamp(rows, 5, 200));
216
+ if (this.closing || signal?.aborted) {
217
+ channel.destroy();
218
+ throw new Error('SSH terminal opening was cancelled');
219
+ }
208
220
  const terminal = new BrowserTerminal(randomUUID(), profileId, connection, channel, () => this.sessions.delete(terminal.id));
209
221
  this.sessions.set(terminal.id, terminal);
222
+ if (cwd !== undefined && cwd !== '~')
223
+ channel.write(`${directoryPrelude(cwd)}\n`);
210
224
  return { id: terminal.id, profileId };
211
225
  }
212
226
  catch (error) {
213
- connection.close();
227
+ connection?.close();
214
228
  throw error;
215
229
  }
230
+ finally {
231
+ this.pending--;
232
+ }
216
233
  }
217
234
  get(id) {
218
235
  const terminal = this.sessions.get(id);
@@ -221,6 +238,7 @@ export class BrowserTerminalManager {
221
238
  return terminal;
222
239
  }
223
240
  async closeAll() {
241
+ this.closing = true;
224
242
  await Promise.all([...this.sessions.values()].map(terminal => terminal.close()));
225
243
  this.sessions.clear();
226
244
  }
@@ -434,6 +452,7 @@ export class BrowserTerminal {
434
452
  channel.stderr?.on('data', (chunk) => this.append(String(chunk)));
435
453
  channel.once('close', () => {
436
454
  this.closed = true;
455
+ clearTimeout(this.idleTimer);
437
456
  this.output.close();
438
457
  connection.close();
439
458
  onClose();
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/lib/tools.js CHANGED
@@ -51,6 +51,7 @@ function listTool(store) {
51
51
  id: profile.id, name: profile.name, host: profile.host, port: profile.port, username: profile.username,
52
52
  ...(profile.group === undefined ? {} : { group: profile.group }),
53
53
  tags: profile.tags, permission: injection.permission, cwd: sessionDirectory(injection, profile.id),
54
+ mountedDirectories: store.remoteProjects(profile.id).filter(project => (injection.mountedProjectIds?.[profile.id] ?? [injection.workingProjectIds[profile.id]]).includes(project.id)).map(({ id, name, path }) => ({ id, name, path })),
54
55
  }));
55
56
  return json({ sessionId: injection.sessionId, profiles });
56
57
  }, true);