@lemoncat7/dsh-ssh 1.4.6 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/ARCHITECTURE.md +5 -0
  2. package/README.md +19 -1
  3. package/lib/api.d.ts.map +1 -1
  4. package/lib/api.js +44 -10
  5. package/lib/api.js.map +1 -1
  6. package/lib/client-api.d.ts +9 -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 +11 -0
  24. package/lib/domain.d.ts.map +1 -1
  25. package/lib/domain.js +6 -2
  26. package/lib/domain.js.map +1 -1
  27. package/lib/ftp-adapter.d.ts.map +1 -1
  28. package/lib/ftp-adapter.js +5 -1
  29. package/lib/ftp-adapter.js.map +1 -1
  30. package/lib/ftp-profile-editor.js +7 -6
  31. package/lib/ftp-profile-editor.js.map +1 -1
  32. package/lib/gist-sync.d.ts +5 -1
  33. package/lib/gist-sync.d.ts.map +1 -1
  34. package/lib/gist-sync.js +70 -27
  35. package/lib/gist-sync.js.map +1 -1
  36. package/lib/project-mounts.d.ts +7 -0
  37. package/lib/project-mounts.d.ts.map +1 -0
  38. package/lib/project-mounts.js +19 -0
  39. package/lib/project-mounts.js.map +1 -0
  40. package/lib/remote-workspace-tree.d.ts +2 -0
  41. package/lib/remote-workspace-tree.d.ts.map +1 -1
  42. package/lib/remote-workspace-tree.js +8 -6
  43. package/lib/remote-workspace-tree.js.map +1 -1
  44. package/lib/resizable-split.d.ts +2 -1
  45. package/lib/resizable-split.d.ts.map +1 -1
  46. package/lib/resizable-split.js +2 -2
  47. package/lib/resizable-split.js.map +1 -1
  48. package/lib/session-access.d.ts +2 -0
  49. package/lib/session-access.d.ts.map +1 -1
  50. package/lib/session-access.js +56 -2
  51. package/lib/session-access.js.map +1 -1
  52. package/lib/sftp-client.d.ts.map +1 -1
  53. package/lib/sftp-client.js +3 -3
  54. package/lib/sftp-client.js.map +1 -1
  55. package/lib/store.d.ts +1 -0
  56. package/lib/store.d.ts.map +1 -1
  57. package/lib/store.js +4 -0
  58. package/lib/store.js.map +1 -1
  59. package/lib/terminal-layout.d.ts +10 -0
  60. package/lib/terminal-layout.d.ts.map +1 -0
  61. package/lib/terminal-layout.js +26 -0
  62. package/lib/terminal-layout.js.map +1 -0
  63. package/lib/terminal-session.d.ts +10 -0
  64. package/lib/terminal-session.d.ts.map +1 -0
  65. package/lib/terminal-session.js +150 -0
  66. package/lib/terminal-session.js.map +1 -0
  67. package/lib/terminal-transport.d.ts +1 -0
  68. package/lib/terminal-transport.d.ts.map +1 -1
  69. package/lib/terminal-transport.js +1 -1
  70. package/lib/terminal-transport.js.map +1 -1
  71. package/lib/terminal-workspace.d.ts +9 -0
  72. package/lib/terminal-workspace.d.ts.map +1 -0
  73. package/lib/terminal-workspace.js +70 -0
  74. package/lib/terminal-workspace.js.map +1 -0
  75. package/lib/terminal.d.ts +3 -1
  76. package/lib/terminal.d.ts.map +1 -1
  77. package/lib/terminal.js +22 -3
  78. package/lib/terminal.js.map +1 -1
  79. package/lib/tools.js +1 -0
  80. package/lib/tools.js.map +1 -1
  81. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ export declare function CommandsPanel({ onChoose }: {
2
+ onChoose?: ((command: string) => void) | undefined;
3
+ }): JSX.Element;
4
+ //# sourceMappingURL=commands-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-panel.d.ts","sourceRoot":"","sources":["../src/commands-panel.tsx"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAwC/G"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { IconEditOutline16, IconPlusOutline16, IconTrashOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { api } from './client-api.js';
5
+ import { Dialog, Field, errorMessage } from './ui-components.js';
6
+ export function CommandsPanel({ onChoose }) {
7
+ const [items, setItems] = useState([]);
8
+ const [query, setQuery] = useState('');
9
+ const [page, setPage] = useState(0);
10
+ const [loading, setLoading] = useState(true);
11
+ const [error, setError] = useState();
12
+ const [editing, setEditing] = useState();
13
+ const [deleting, setDeleting] = useState();
14
+ const [busy, setBusy] = useState(false);
15
+ const refresh = useCallback(async () => {
16
+ try {
17
+ setItems(await api('/commands'));
18
+ setError(undefined);
19
+ }
20
+ catch (reason) {
21
+ setError(errorMessage(reason));
22
+ }
23
+ finally {
24
+ setLoading(false);
25
+ }
26
+ }, []);
27
+ useEffect(() => { void refresh(); }, [refresh]);
28
+ const searchIndex = useMemo(() => items.map(item => ({ item, text: `${item.name}\n${item.command}`.toLocaleLowerCase() })), [items]);
29
+ const filtered = useMemo(() => {
30
+ const needle = query.toLocaleLowerCase();
31
+ return searchIndex.filter(entry => entry.text.includes(needle)).map(entry => entry.item);
32
+ }, [searchIndex, query]);
33
+ const currentPage = Math.min(page, Math.max(0, Math.ceil(filtered.length / 50) - 1));
34
+ const visible = filtered.slice(currentPage * 50, (currentPage + 1) * 50);
35
+ return _jsxs("div", { className: onChoose ? 'dsh-ssh-command-picker' : 'dsh-ssh-commands-pane', children: [!onChoose && _jsxs("header", { className: "dsh-ssh-content-heading", children: [_jsxs("div", { children: [_jsx("h1", { children: "\u5E38\u7528\u547D\u4EE4" }), _jsx("p", { children: "\u624B\u52A8\u8BB0\u5F55\uFF0C\u5728\u7EC8\u7AEF\u4E2D\u9009\u62E9\u5E76\u786E\u8BA4\u6267\u884C\u3002\u8BF7\u52FF\u4FDD\u5B58\u5BC6\u7801\u6216 Token\u3002" })] }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", onClick: () => setEditing('new'), children: [_jsx(IconPlusOutline16, { size: 16 }), "\u65B0\u5EFA\u547D\u4EE4"] })] }), _jsxs("label", { className: "dsh-ssh-search", children: [_jsx("span", { className: "sr-only", children: "\u641C\u7D22\u547D\u4EE4" }), _jsx("input", { value: query, onChange: event => { setQuery(event.target.value); setPage(0); }, placeholder: "\u641C\u7D22\u540D\u79F0\u6216\u547D\u4EE4\u2026" })] }), error && _jsxs("p", { className: "dsh-ssh-inline-error", role: "alert", children: [error, _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => { void refresh(); }, children: "\u91CD\u8BD5" })] }), _jsx("div", { className: "dsh-ssh-command-list dsh-ssh-scroll-surface", children: loading ? _jsx("p", { role: "status", children: "\u6B63\u5728\u8BFB\u53D6\u547D\u4EE4\u2026" }) : filtered.length === 0 ? _jsx("p", { className: "dsh-ssh-command-empty", children: query ? '没有匹配的命令' : onChoose ? '还没有常用命令,请先到工作台的常用命令页面新建。' : '还没有常用命令,点击新建开始记录。' }) : visible.map(item => _jsxs("article", { "data-ssh-interactive": "row", className: "dsh-ssh-command-row", children: [_jsxs("div", { children: [_jsx("strong", { children: item.name }), _jsx("pre", { children: item.command })] }), _jsxs("div", { className: "dsh-ssh-heading-actions", children: [onChoose && _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => onChoose(item.command), children: "\u9009\u7528" }), !onChoose && _jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", title: "\u7F16\u8F91\u547D\u4EE4", "aria-label": `编辑 ${item.name}`, onClick: () => setEditing(item), children: _jsx(IconEditOutline16, { size: 16 }) }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", title: "\u5220\u9664\u547D\u4EE4", "aria-label": `删除 ${item.name}`, onClick: () => setDeleting(item), children: _jsx(IconTrashOutline16, { size: 16 }) })] })] })] }, item.id)) }), filtered.length > 50 && _jsxs("nav", { className: "dsh-ssh-command-pagination", "aria-label": "\u547D\u4EE4\u5206\u9875", children: [_jsxs("span", { children: [currentPage + 1, " / ", Math.ceil(filtered.length / 50), " \u9875 \u00B7 ", filtered.length, " \u6761"] }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: currentPage === 0, onClick: () => setPage(currentPage - 1), children: "\u4E0A\u4E00\u9875" }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: (currentPage + 1) * 50 >= filtered.length, onClick: () => setPage(currentPage + 1), children: "\u4E0B\u4E00\u9875" })] }), editing && _jsx(CommandEditor, { value: editing === 'new' ? undefined : editing, onClose: () => setEditing(undefined), onSaved: () => { setEditing(undefined); void refresh(); } }), deleting && _jsxs(Dialog, { title: "\u5220\u9664\u5E38\u7528\u547D\u4EE4", subtitle: deleting.name, onClose: () => { if (!busy)
36
+ setDeleting(undefined); }, children: [_jsx("p", { children: "\u4EC5\u5220\u9664\u8BB0\u5F55\uFF0C\u4E0D\u5F71\u54CD\u5DF2\u7ECF\u8FD0\u884C\u7684\u7EC8\u7AEF\u3002" }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: busy, onClick: () => setDeleting(undefined), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", className: "dsh-ssh-danger-button", disabled: busy, onClick: () => {
37
+ setBusy(true);
38
+ void api(`/commands/${encodeURIComponent(deleting.id)}`, { method: 'DELETE' }).then(() => { setDeleting(undefined); return refresh(); }).catch(reason => setError(errorMessage(reason))).finally(() => setBusy(false));
39
+ }, children: busy ? '删除中…' : '删除' })] }), error && _jsx("p", { role: "alert", className: "dsh-ssh-inline-error", children: error })] })] });
40
+ }
41
+ function CommandEditor({ value, onClose, onSaved }) {
42
+ const [name, setName] = useState(value?.name ?? '');
43
+ const [command, setCommand] = useState(value?.command ?? '');
44
+ const [busy, setBusy] = useState(false);
45
+ const [error, setError] = useState();
46
+ return _jsx(Dialog, { title: value ? '编辑命令' : '新建命令', onClose: () => { if (!busy)
47
+ onClose(); }, children: _jsxs("form", { className: "dsh-ssh-form", onSubmit: event => {
48
+ event.preventDefault();
49
+ setBusy(true);
50
+ setError(undefined);
51
+ void api(value ? `/commands/${encodeURIComponent(value.id)}` : '/commands', { method: value ? 'PUT' : 'POST', body: JSON.stringify({ name, command }) }).then(onSaved).catch(reason => setError(errorMessage(reason))).finally(() => setBusy(false));
52
+ }, children: [_jsx(Field, { label: "\u540D\u79F0", children: _jsx("input", { required: true, maxLength: 80, value: name, onChange: event => setName(event.target.value) }) }), _jsx(Field, { label: "\u547D\u4EE4", hint: "\u652F\u6301\u591A\u884C\u811A\u672C\uFF1B\u8BB0\u5F55\u4FDD\u5B58\u5728\u5F53\u524D DSH \u5B9E\u4F8B\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6267\u884C\u6216\u4E0A\u4F20\u5230 Gist\u3002", children: _jsx("textarea", { required: true, rows: 6, maxLength: 16000, value: command, onChange: event => setCommand(event.target.value) }) }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: busy, onClick: onClose, children: "\u53D6\u6D88" }), _jsx("button", { type: "submit", className: "dsh-ssh-primary-button", disabled: busy, children: busy ? '保存中…' : '保存' })] })] }) });
53
+ }
54
+ //# sourceMappingURL=commands-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-panel.js","sourceRoot":"","sources":["../src/commands-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { SavedCommand } from './domain.js';
2
+ import type { SshStore } from './store.js';
3
+ export declare function commandDraft(value: unknown): Pick<SavedCommand, 'name' | 'command'>;
4
+ export declare function saveCommand(store: SshStore, value: unknown, id?: string): Promise<SavedCommand>;
5
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,CAOnF;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYrG"}
@@ -0,0 +1,29 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ export function commandDraft(value) {
3
+ if (typeof value !== 'object' || value === null)
4
+ throw invalid('命令内容无效');
5
+ const { name, command } = value;
6
+ if (typeof name !== 'string' || !name.trim() || name.trim().length > 80)
7
+ throw invalid('名称需为 1–80 个字符');
8
+ const normalized = typeof command === 'string' ? command.replace(/\r\n/g, '\n') : '';
9
+ if (!normalized.trim() || normalized.length > 16000 || /[\x00-\x08\x0b-\x1f\x7f]/.test(normalized))
10
+ throw invalid('命令需为 1–16000 个字符,不能包含终端控制字符');
11
+ return { name: name.trim(), command: normalized };
12
+ }
13
+ export async function saveCommand(store, value, id) {
14
+ const draft = commandDraft(value);
15
+ let saved;
16
+ await store.update(state => {
17
+ const commands = state.commands ??= [];
18
+ const previous = id === undefined ? undefined : commands.find(item => item.id === id);
19
+ if (id !== undefined && previous === undefined)
20
+ throw Object.assign(new Error('命令已删除,请刷新'), { status: 404 });
21
+ if (!previous && commands.length >= 500)
22
+ throw invalid('最多保存 500 条命令');
23
+ saved = { ...draft, id: previous?.id ?? randomUUID(), createdAt: previous?.createdAt ?? Date.now(), updatedAt: Date.now() };
24
+ state.commands = [...commands.filter(item => item.id !== saved.id), saved];
25
+ });
26
+ return saved;
27
+ }
28
+ function invalid(message) { return Object.assign(new Error(message), { status: 400 }); }
29
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAgC,CAAA;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IACvG,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAChJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAe,EAAE,KAAc,EAAE,EAAW;IAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,KAAoB,CAAA;IACxB,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACrF,IAAI,EAAE,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5G,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;QACtE,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAC3H,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,IAAW,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/D"}
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAMrC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/D"}
package/lib/directory.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { executeSshCommand } from './exec.js';
2
+ import { mountedProjects } from './project-mounts.js';
2
3
  const DIRECTORY_PROBE_TIMEOUT_MS = 10_000;
3
4
  const DIRECTORY_PROBE_OUTPUT_CHARS = 8_192;
4
5
  export function sessionDirectory(injection, profileId) {
@@ -25,6 +26,13 @@ export async function setSessionDirectory(store, connector, sessionId, profileId
25
26
  if (current === undefined || !current.profileIds.includes(profileId))
26
27
  throw new Error('SSH session injection changed while resolving the directory');
27
28
  current.workingDirectories[profileId] = cwd;
29
+ const mounted = mountedProjects(current, profileId);
30
+ current.mountedProjectIds = { ...current.mountedProjectIds, [profileId]: mounted };
31
+ const matching = state.remoteProjects.find(project => project.profileId === profileId && project.path === cwd && mounted.includes(project.id));
32
+ if (matching)
33
+ current.workingProjectIds[profileId] = matching.id;
34
+ else
35
+ delete current.workingProjectIds[profileId];
28
36
  current.updatedAt = Date.now();
29
37
  });
30
38
  return cwd;
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
package/lib/domain.d.ts CHANGED
@@ -84,6 +84,7 @@ export interface SessionInjection {
84
84
  requireCommandApproval: boolean;
85
85
  workingDirectories: Record<string, string>;
86
86
  workingProjectIds: Record<string, string>;
87
+ mountedProjectIds?: Record<string, string[]>;
87
88
  updatedAt: number;
88
89
  }
89
90
  export type FtpProtocol = 'ftp' | 'ftps-explicit' | 'ftps-implicit';
@@ -99,6 +100,7 @@ export interface FtpProfile {
99
100
  group?: string;
100
101
  tags: string[];
101
102
  protocol: FtpProtocol;
103
+ authMode?: 'password' | 'anonymous';
102
104
  host: string;
103
105
  port: number;
104
106
  username: string;
@@ -115,6 +117,7 @@ export interface FtpProfileDraft {
115
117
  group?: string;
116
118
  tags: string[];
117
119
  protocol: FtpProtocol;
120
+ authMode?: 'password' | 'anonymous';
118
121
  host: string;
119
122
  port?: number;
120
123
  username: string;
@@ -148,8 +151,16 @@ export interface SshState {
148
151
  proxyEntries: ProxyEntry[];
149
152
  forwardRules: ForwardRule[];
150
153
  injections: SessionInjection[];
154
+ commands?: SavedCommand[];
151
155
  settings: SshSettings;
152
156
  }
157
+ export interface SavedCommand {
158
+ id: string;
159
+ name: string;
160
+ command: string;
161
+ createdAt: number;
162
+ updatedAt: number;
163
+ }
153
164
  export declare function normalizeFtpProfileDraft(value: unknown): FtpProfileDraft;
154
165
  export interface RemoteProjectDraft {
155
166
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
package/lib/domain.js CHANGED
@@ -4,6 +4,9 @@ export function normalizeFtpProfileDraft(value) {
4
4
  if (protocol !== 'ftp' && protocol !== 'ftps-explicit' && protocol !== 'ftps-implicit') {
5
5
  throw bad('protocol must be ftp, ftps-explicit, or ftps-implicit');
6
6
  }
7
+ const authMode = input.authMode ?? 'password';
8
+ if (authMode !== 'password' && authMode !== 'anonymous')
9
+ throw bad('invalid FTP authMode');
7
10
  const proxy = normalizeFtpProxy(input.proxy);
8
11
  const defaultPort = protocol === 'ftps-implicit' ? 990 : 21;
9
12
  return {
@@ -13,8 +16,9 @@ export function normalizeFtpProfileDraft(value) {
13
16
  protocol,
14
17
  host: text(input.host, 'host', 1, 253),
15
18
  port: integer(input.port ?? defaultPort, 'port', 1, 65_535),
16
- username: text(input.username, 'username', 1, 128),
17
- ...optionalText(input.credentialId, 'credentialId', 1, 100),
19
+ authMode,
20
+ username: authMode === 'anonymous' ? 'anonymous' : text(input.username, 'username', 1, 128),
21
+ ...(authMode === 'anonymous' ? {} : optionalText(input.credentialId, 'credentialId', 1, 100)),
18
22
  proxy,
19
23
  initialPath: remotePath(input.initialPath ?? '/', 'initialPath'),
20
24
  connectTimeoutMs: integer(input.connectTimeoutMs ?? 15_000, 'connectTimeoutMs', 1000, 120_000),
package/lib/domain.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ftp-adapter.d.ts","sourceRoot":"","sources":["../src/ftp-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAuB,kBAAkB,EAAmB,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEnJ,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,oBAAqB,YAAW,uBAAuB;IAEtD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAY,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAsB,OAAO,CAAC,QAAQ,CAAC,MAAM;IADvH,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAS;gBACD,KAAK,EAAE,QAAQ,EAAmB,WAAW,EAAE,kBAAkB,EAAmB,MAAM,EAAE,aAAa;IAEtI,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAKpD,SAAS,IAAI,kBAAkB,EAAE;IAE3B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAWjF,OAAO,CAAC,cAAc;CAKvB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAE5J"}
1
+ {"version":3,"file":"ftp-adapter.d.ts","sourceRoot":"","sources":["../src/ftp-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAuB,kBAAkB,EAAmB,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEnJ,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,oBAAqB,YAAW,uBAAuB;IAEtD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAY,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAsB,OAAO,CAAC,QAAQ,CAAC,MAAM;IADvH,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAS;gBACD,KAAK,EAAE,QAAQ,EAAmB,WAAW,EAAE,kBAAkB,EAAmB,MAAM,EAAE,aAAa;IAEtI,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAKpD,SAAS,IAAI,kBAAkB,EAAE;IAE3B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYjF,OAAO,CAAC,cAAc;CAMvB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAE5J"}
@@ -21,6 +21,8 @@ export class FtpFileSystemAdapter {
21
21
  const profile = this.store.ftpProfile(id);
22
22
  if (profile === undefined)
23
23
  throw Object.assign(new Error(`FTP endpoint ${id} was not found`), { status: 404 });
24
+ if (profile.authMode === 'anonymous')
25
+ return connectFtpProfile(profile, '', this.dialer, signal);
24
26
  const entry = profile.credentialId === undefined ? undefined : this.store.credentialEntry(profile.credentialId);
25
27
  if (profile.credentialId !== undefined && (entry === undefined || entry.authType !== 'password'))
26
28
  throw new Error('FTP password credential entry was not found');
@@ -31,6 +33,8 @@ export class FtpFileSystemAdapter {
31
33
  return FtpFileSystemSession.open(ftpEndpoint(resolved), resolved, secrets.password, this.dialer, signal);
32
34
  }
33
35
  resolveProfile(profile) {
36
+ if (profile.authMode === 'anonymous')
37
+ return { ...profile, username: 'anonymous' };
34
38
  if (profile.credentialId === undefined)
35
39
  return profile;
36
40
  const entry = this.store.credentialEntry(profile.credentialId);
@@ -75,7 +79,7 @@ class FtpFileSystemSession {
75
79
  if (profile.protocol === 'ftps-explicit')
76
80
  await client.useTLS(tlsOptions);
77
81
  }
78
- await client.login(profile.username, password);
82
+ await client.login(profile.authMode === 'anonymous' ? 'anonymous' : profile.username, profile.authMode === 'anonymous' ? 'anonymous@' : password);
79
83
  await client.useDefaultSettings();
80
84
  if (profile.initialPath !== '/')
81
85
  await client.cd(profile.initialPath);
@@ -1 +1 @@
1
- {"version":3,"file":"ftp-adapter.js","sourceRoot":"","sources":["../src/ftp-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ftp-adapter.js","sourceRoot":"","sources":["../src/ftp-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,GAAuB,MAAM,UAAU,CAAA;AAE9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAoD,MAAM,WAAW,CAAA;AAK9F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvG,MAAM,OAAO,oBAAoB;IAEF;IAAkC;IAAkD;IADxG,IAAI,GAAG,KAAc,CAAA;IAC9B,YAA6B,KAAe,EAAmB,WAA+B,EAAmB,MAAqB;QAAzG,UAAK,GAAL,KAAK,CAAU;QAAmB,gBAAW,GAAX,WAAW,CAAoB;QAAmB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE1I,QAAQ,CAAC,EAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACzC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,SAAS,KAA2B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;IAE/H,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAoB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9G,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;YAAE,OAAO,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChG,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC/G,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChK,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7H,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACvH,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;QACzF,OAAO,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1G,CAAC;IAEO,cAAc,CAAC,OAAmB;QACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;YAAE,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;QAClF,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9D,OAAO,KAAK,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5F,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAmB,EAAE,QAAgB,EAAE,MAAqB,EAAE,MAAoB;IACxH,OAAO,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,oBAAoB;IAEK;IAA+C;IAAsC;IAD1G,MAAM,GAAG,KAAK,CAAA;IACtB,YAA6B,QAA4B,EAAmB,OAAmB,EAAmB,MAAc;QAAnG,aAAQ,GAAR,QAAQ,CAAoB;QAAmB,YAAO,GAAP,OAAO,CAAY;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEpI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAA4B,EAAE,OAAmB,EAAE,QAAgB,EAAE,MAAqB,EAAE,MAAoB;QAChI,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,MAAM,CAAC,eAAe,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,UAAU,GAA0B;YACxC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,kBAAkB,EAAE,IAAI;YACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxH,CAAA;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;YAC7G,IAAI,OAAO,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;gBAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;gBAClE,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;gBACrC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;gBACvB,MAAM,OAAO,CAAA;gBACb,IAAI,OAAO,CAAC,QAAQ,KAAK,eAAe;oBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC3E,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YACjJ,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAA;YACjC,IAAI,OAAO,CAAC,WAAW,KAAK,GAAG;gBAAE,MAAM,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACrE,OAAO,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,MAAoB;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC/D,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;QAClH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,MAAoB;QAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;QACzE,IAAI,UAAU,KAAK,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;QAClG,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAA;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;QAC5H,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,KAAK,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9G,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACpH,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,WAAqB,EAAE,MAAoB;QACvE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,MAAgB,EAAE,SAAkB,EAAE,MAAoB;QACpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAAC,CAAC;YAC/H,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAK,KAA6B,CAAC,MAAM,KAAK,GAAG;oBAAE,MAAM,KAAK,CAAA;YAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,MAAoB,IAAmB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC;IAExI,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,eAAuB,EAAE,MAAoB;QAC1E,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAAC,CAAC;QACzJ,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA6B,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,KAAK,CAAA;QAAC,CAAC;QAChF,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,SAAkB,EAAE,MAAoB;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7F,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,KAAW,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAAC,CAAC,CAAC,CAAC;IAEvE,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,MAAoB;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;QAChE,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;QAAC,CAAC;gBAC3G,CAAC;YAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,MAAoB;QAC3D,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;QAC/D,MAAM,CAAC;YAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAAC,OAAO,KAAK,CAAA;QAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,GAAG,CAAI,SAA2B,EAAE,MAAoB;QACpE,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACzD,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC;YAAC,OAAO,MAAM,SAAS,EAAE,CAAA;QAAC,CAAC;gBACxB,CAAC;YAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAAC,CAAC;IACxD,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,OAAmB,EAAE,MAAqB,EAAE,aAA2B;IACpG,OAAO,KAAK,EAAE,GAAe,EAAwB,EAAE;QACrD,IAAI,QAAqB,CAAA;QACzB,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QAC5G,IAAI,MAAM,GAA2B,GAAG,CAAA;QACxC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;gBACnB,GAAG,GAAG,CAAC,UAAU;gBACjB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,GAAG,CAAC,eAAe,IAAK,GAAG,CAAC,MAAoB,CAAC,UAAU,EAAE;aACvE,CAAC,CAAA;YACF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,eAAe,GAAG,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,MAAM,CAAA;QACvB,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACrD,IAAI,QAAQ,YAAY,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;aAC/C,IAAI,QAAQ,CAAC,IAAI,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,GAAG,GAAG;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAyB,CAAA;AAC5B,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAiB,EAAE,MAAoB;IACnE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QAC7J,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,CAAC,KAAY,EAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC,CAAA;QAC5I,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;IAClH,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IACtE,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,EAAE,KAAe;IAClD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;QACzD,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QAC1G,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;KAC/D,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAmB;IACtC,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;QAC9F,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjG,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useMemo, useState } from 'react';
3
3
  import { IconChevronLeftOutline14, IconDataOutline16, IconPlusOutline16, IconTrashOutline16, IconWarningOutline16, } from '@deepseek-ai/dsh-client-ui-primitives';
4
4
  import { api } from './client-api.js';
@@ -24,7 +24,7 @@ export function FtpConnectionsDialog({ profiles, vaultEntries, proxyEntries, onC
24
24
  };
25
25
  return _jsx(Dialog, { className: "dsh-ssh-ftp-manager-dialog", title: "\u6587\u4EF6\u8FDE\u63A5", subtitle: "\u7BA1\u7406 FTP \u4E0E FTPS\uFF1BSFTP \u76F4\u63A5\u590D\u7528\u5DF2\u6709 SSH \u4E3B\u673A", onClose: onClose, children: _jsxs("div", { className: `dsh-ssh-ftp-manager${detailOpen ? ' has-detail' : ''}`, children: [_jsxs("aside", { className: "dsh-ssh-ftp-manager-list", children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("strong", { children: "FTP / FTPS" }), _jsxs("small", { children: [profiles.length, " \u4E2A\u8FDE\u63A5"] })] }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", onClick: create, children: [_jsx(IconPlusOutline16, { size: 15 }), "\u65B0\u5EFA"] })] }), profiles.length === 0 ? _jsxs("div", { className: "dsh-ssh-ftp-list-empty", children: [_jsx("span", { children: _jsx(IconDataOutline16, { size: 20 }) }), _jsx("strong", { children: "\u8FD8\u6CA1\u6709\u72EC\u7ACB\u6587\u4EF6\u8FDE\u63A5" }), _jsx("p", { children: "SFTP \u4F1A\u663E\u793A\u5728\u6587\u4EF6\u7A97\u683C\u7684\u8FDE\u63A5\u5217\u8868\u4E2D\uFF1B\u8FD9\u91CC\u53EA\u7BA1\u7406 FTP \u4E0E FTPS\u3002" }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: create, children: "\u65B0\u5EFA FTPS \u8FDE\u63A5" })] }) : _jsx("div", { className: "dsh-ssh-ftp-profile-list", role: "list", children: profiles.map(profile => {
26
26
  const active = (editing !== 'new' && editing?.id === profile.id) || deleting?.id === profile.id;
27
- return _jsxs("article", { role: "listitem", "data-ssh-interactive": "choice", "aria-selected": active, className: active ? 'is-active' : '', children: [_jsxs("button", { type: "button", className: "dsh-ssh-ftp-profile-main", onClick: () => select(profile), children: [_jsx("span", { className: `dsh-ssh-protocol-badge is-${profile.protocol}`, children: protocolLabel(profile.protocol) }), _jsxs("span", { children: [_jsx("strong", { title: profile.name, children: profile.name }), _jsxs("small", { title: `${profile.username}@${profile.host}:${profile.port}`, children: [profile.username, "@", profile.host, ":", profile.port] })] }), _jsx("i", { className: profile.credential.configured ? 'is-ready' : 'is-missing', children: profile.credential.configured ? '可用' : '缺少密码' })] }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", "aria-label": `删除 ${profile.name}`, onClick: () => confirmDelete(profile), children: _jsx(IconTrashOutline16, { size: 15 }) })] }, profile.id);
27
+ return _jsxs("article", { role: "listitem", "data-ssh-interactive": "choice", "aria-selected": active, className: active ? 'is-active' : '', children: [_jsxs("button", { type: "button", className: "dsh-ssh-ftp-profile-main", onClick: () => select(profile), children: [_jsx("span", { className: `dsh-ssh-protocol-badge is-${profile.protocol}`, children: protocolLabel(profile.protocol) }), _jsxs("span", { children: [_jsx("strong", { title: profile.name, children: profile.name }), _jsxs("small", { title: `${profile.username}@${profile.host}:${profile.port}`, children: [profile.username, "@", profile.host, ":", profile.port] })] }), _jsx("i", { className: (profile.authMode === 'anonymous' || profile.credential.configured) ? 'is-ready' : 'is-missing', children: profile.authMode === 'anonymous' ? '匿名登录' : profile.credential.configured ? '可用' : '缺少密码' })] }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", "aria-label": `删除 ${profile.name}`, onClick: () => confirmDelete(profile), children: _jsx(IconTrashOutline16, { size: 15 }) })] }, profile.id);
28
28
  }) })] }), _jsx("main", { className: "dsh-ssh-ftp-manager-detail", children: deleting !== undefined ? _jsx(DeleteConnection, { profile: deleting, error: error, onBack: () => setDeleting(undefined), onDelete: () => remove(deleting) })
29
29
  : editing !== undefined ? _jsx(FtpProfileEditor, { value: editing === 'new' ? undefined : editing, profiles: profiles, vaultEntries: vaultEntries, proxyEntries: proxyEntries, onBack: () => setEditing(undefined), onSaved: () => { setEditing(undefined); onChanged(); } }, editing === 'new' ? 'new' : editing.id)
30
30
  : _jsxs("div", { className: "dsh-ssh-ftp-manager-overview", children: [_jsx("span", { children: _jsx(IconDataOutline16, { size: 22 }) }), _jsx("h3", { children: "\u9009\u62E9\u4E00\u4E2A\u8FDE\u63A5\u8FDB\u884C\u7F16\u8F91" }), _jsx("p", { children: "\u6587\u4EF6\u7A97\u683C\u4F1A\u628A\u8FD9\u91CC\u4FDD\u5B58\u7684 FTP\u3001FTPS \u4E0E SSH \u4E3B\u673A\u63D0\u4F9B\u7684 SFTP \u6C47\u603B\u6210\u8FDE\u63A5\u5217\u8868\u3002" }), _jsxs("dl", { children: [_jsxs("div", { children: [_jsx("dt", { children: "FTPS" }), _jsx("dd", { children: "\u52A0\u5BC6\u63A7\u5236\u4E0E\u6587\u4EF6\u6570\u636E\uFF0C\u9ED8\u8BA4\u4E25\u683C\u6821\u9A8C\u8BC1\u4E66" })] }), _jsxs("div", { children: [_jsx("dt", { children: "FTP" }), _jsx("dd", { children: "\u517C\u5BB9\u65E7\u670D\u52A1\u5668\uFF0C\u4F46\u8D26\u53F7\u548C\u6587\u4EF6\u5185\u5BB9\u4E0D\u52A0\u5BC6" })] }), _jsxs("div", { children: [_jsx("dt", { children: "SFTP" }), _jsx("dd", { children: "\u7531 SSH \u4E3B\u673A\u7BA1\u7406\uFF0C\u4E0D\u5728\u8FD9\u91CC\u91CD\u590D\u914D\u7F6E" })] })] })] }) })] }) });
@@ -36,6 +36,7 @@ function DeleteConnection({ profile, error, onBack, onDelete }) {
36
36
  function FtpProfileEditor({ value, profiles, vaultEntries, proxyEntries, onBack, onSaved }) {
37
37
  const passwordEntries = vaultEntries.filter(entry => entry.authType === 'password');
38
38
  const [form, setForm] = useState({
39
+ authMode: value?.authMode ?? 'password',
39
40
  name: value?.name ?? '', group: value?.group ?? '', protocol: value?.protocol ?? 'ftps-explicit',
40
41
  host: value?.host ?? '', port: String(value?.port ?? 21), username: value?.username ?? '', credentialId: value?.credentialId ?? '', password: '',
41
42
  proxyId: value?.proxy.type === 'saved' ? value.proxy.proxyId : '', initialPath: value?.initialPath ?? '/', connectTimeoutMs: String(value?.connectTimeoutMs ?? 15_000), tlsServerName: value?.tlsServerName ?? '', tags: value?.tags.join(', ') ?? '',
@@ -46,11 +47,11 @@ function FtpProfileEditor({ value, profiles, vaultEntries, proxyEntries, onBack,
46
47
  const [error, setError] = useState();
47
48
  const payload = () => ({
48
49
  profile: {
49
- name: form.name, ...(form.group.trim() ? { group: form.group.trim() } : {}), protocol: form.protocol, host: form.host, port: Number(form.port), username: form.username,
50
- ...(form.credentialId ? { credentialId: form.credentialId } : {}), proxy: form.proxyId ? { type: 'saved', proxyId: form.proxyId } : { type: 'none' },
50
+ authMode: form.authMode, name: form.name, ...(form.group.trim() ? { group: form.group.trim() } : {}), protocol: form.protocol, host: form.host, port: Number(form.port), username: form.username,
51
+ ...(form.authMode !== 'anonymous' && form.credentialId ? { credentialId: form.credentialId } : {}), proxy: form.proxyId ? { type: 'saved', proxyId: form.proxyId } : { type: 'none' },
51
52
  initialPath: form.initialPath, connectTimeoutMs: Number(form.connectTimeoutMs), ...(form.tlsServerName.trim() ? { tlsServerName: form.tlsServerName.trim() } : {}),
52
53
  tags: form.tags.split(/[,,]/u).map(item => item.trim()).filter(Boolean),
53
- }, secrets: { password: form.password },
54
+ }, secrets: form.authMode === 'anonymous' ? {} : { password: form.password },
54
55
  });
55
56
  const submit = async (event) => {
56
57
  event.preventDefault();
@@ -86,7 +87,7 @@ function FtpProfileEditor({ value, profiles, vaultEntries, proxyEntries, onBack,
86
87
  const protocolChanged = (protocol) => setForm(current => ({ ...current, protocol, port: current.port === '21' || current.port === '990' ? String(protocol === 'ftps-implicit' ? 990 : 21) : current.port }));
87
88
  const groupOptions = useMemo(() => profiles.flatMap(item => item.group === undefined ? [] : [item.group]), [profiles]);
88
89
  const tagOptions = useMemo(() => profiles.flatMap(item => item.tags), [profiles]);
89
- return _jsxs("form", { className: "dsh-ssh-ftp-editor-form", onSubmit: event => { void submit(event); }, children: [_jsxs("header", { className: "dsh-ssh-ftp-editor-heading", children: [_jsxs("button", { type: "button", className: "dsh-ssh-ftp-detail-back", onClick: onBack, children: [_jsx(IconChevronLeftOutline14, { size: 14 }), "\u8FD4\u56DE\u8FDE\u63A5\u5217\u8868"] }), _jsxs("span", { children: [_jsx("strong", { children: value === undefined ? '新建文件连接' : value.name }), _jsx("small", { children: value === undefined ? '填写服务器和认证信息' : '修改后可先测试再保存' })] })] }), _jsxs("div", { className: "dsh-ssh-ftp-editor-scroll", children: [_jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8FDE\u63A5\u7C7B\u578B" }), _jsx("small", { children: "\u4F18\u5148\u4F7F\u7528 FTPS\uFF1B\u4EC5\u5728\u670D\u52A1\u5668\u4E0D\u652F\u6301 TLS \u65F6\u9009\u62E9 FTP" })] }), _jsx("div", { className: "dsh-ssh-ftp-protocol-options", role: "radiogroup", "aria-label": "\u8FDE\u63A5\u534F\u8BAE", children: [['ftps-explicit', 'FTPS', '显式 TLS · 推荐'], ['ftps-implicit', 'FTPS-I', '隐式 TLS'], ['ftp', 'FTP', '未加密']].map(option => _jsxs("button", { type: "button", "data-ssh-interactive": "choice", role: "radio", "aria-checked": form.protocol === option[0], className: form.protocol === option[0] ? 'is-active' : '', onClick: () => protocolChanged(option[0]), children: [_jsx("span", { className: `dsh-ssh-protocol-badge is-${option[0]}`, children: option[1] }), _jsxs("span", { children: [_jsx("strong", { children: option[1] }), _jsx("small", { children: option[2] })] })] }, option[0])) }), form.protocol === 'ftp' && _jsx("p", { className: "dsh-ssh-form-warning", children: "\u666E\u901A FTP \u7684\u8D26\u53F7\u3001\u5BC6\u7801\u548C\u6587\u4EF6\u5185\u5BB9\u5747\u4E0D\u52A0\u5BC6\u3002" })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u670D\u52A1\u5668" }), _jsx("small", { children: "\u540D\u79F0\u7528\u4E8E\u8FDE\u63A5\u5217\u8868\uFF0C\u5206\u7EC4\u4E0E\u6807\u7B7E\u53EF\u590D\u7528\u5DF2\u6709\u9009\u9879" })] }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u8FDE\u63A5\u540D\u79F0", children: _jsx("input", { autoFocus: value === undefined, required: true, maxLength: 80, value: form.name, onChange: event => setForm({ ...form, name: event.target.value }) }) }), _jsx(Field, { label: "\u5206\u7EC4\uFF08\u53EF\u9009\uFF09", children: _jsx(SuggestionInput, { ariaLabel: "FTP \u5206\u7EC4", maxLength: 64, options: groupOptions, placeholder: "\u9009\u62E9\u5DF2\u6709\u5206\u7EC4\u6216\u8F93\u5165\u65B0\u5206\u7EC4", value: form.group, onChange: group => setForm(current => ({ ...current, group })) }) })] }), _jsxs("div", { className: "dsh-ssh-form-grid is-host", children: [_jsx(Field, { label: "\u670D\u52A1\u5668\u5730\u5740", children: _jsx("input", { required: true, maxLength: 253, spellCheck: false, value: form.host, onChange: event => setForm({ ...form, host: event.target.value }) }) }), _jsx(Field, { label: "\u7AEF\u53E3", children: _jsx("input", { required: true, type: "number", min: "1", max: "65535", value: form.port, onChange: event => setForm({ ...form, port: event.target.value }) }) })] }), _jsx(Field, { label: "\u6807\u7B7E\uFF08\u53EF\u9009\uFF09", hint: "\u53EF\u9009\u62E9\u5DF2\u6709\u6807\u7B7E\u6216\u76F4\u63A5\u8F93\u5165\uFF1B\u591A\u4E2A\u6807\u7B7E\u4F7F\u7528\u9017\u53F7\u5206\u9694\u3002", children: _jsx(SuggestionInput, { ariaLabel: "FTP \u6807\u7B7E", multiple: true, options: tagOptions, placeholder: "\u9009\u62E9\u6216\u8F93\u5165\u6807\u7B7E", value: form.tags, onChange: tags => setForm(current => ({ ...current, tags })) }) })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8EAB\u4EFD\u8BA4\u8BC1" }), _jsx("small", { children: "\u5BC6\u7801\u53EA\u5199\u5165 DSH \u51ED\u636E\u670D\u52A1\uFF0C\u4E0D\u4F1A\u5728\u754C\u9762\u56DE\u663E" })] }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u7528\u6237\u540D", children: _jsx("input", { required: true, maxLength: 128, autoComplete: "username", value: form.username, onChange: event => setForm({ ...form, username: event.target.value }) }) }), _jsx(Field, { label: "\u51ED\u636E\u6765\u6E90", children: _jsxs("select", { value: form.credentialId, onChange: event => setForm({ ...form, credentialId: event.target.value }), children: [_jsx("option", { value: "", children: "\u6B64\u8FDE\u63A5\u5355\u72EC\u4FDD\u5B58\u5BC6\u7801" }), passwordEntries.map(entry => _jsxs("option", { value: entry.id, children: [entry.name, " \u00B7 ", entry.username] }, entry.id))] }) })] }), !form.credentialId && _jsx(Field, { label: "\u5BC6\u7801", hint: value?.credential.configured && value.credential.source === 'profile' ? '已保存;留空保持不变' : '保存后不会回显', children: _jsx("input", { required: value === undefined || value.credential.source !== 'profile' || !value.credential.configured, type: "password", autoComplete: "new-password", value: form.password, onChange: event => setForm({ ...form, password: event.target.value }) }) })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8DEF\u5F84\u4E0E\u7F51\u7EDC" }), _jsx("small", { children: "\u4EE3\u7406\u590D\u7528 SSH \u63D2\u4EF6\u7684\u4EE3\u7406\u5E93\uFF0C\u63A7\u5236\u548C\u6570\u636E\u8FDE\u63A5\u4F7F\u7528\u540C\u4E00\u8DEF\u5F84" })] }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u521D\u59CB\u76EE\u5F55", children: _jsx("input", { required: true, maxLength: 4096, spellCheck: false, value: form.initialPath, onChange: event => setForm({ ...form, initialPath: event.target.value }) }) }), _jsx(Field, { label: "\u8FDE\u63A5\u4EE3\u7406", children: _jsxs("select", { value: form.proxyId, onChange: event => setForm({ ...form, proxyId: event.target.value }), children: [_jsx("option", { value: "", children: "\u76F4\u8FDE" }), proxyEntries.map(entry => _jsxs("option", { value: entry.id, children: [entry.name, " \u00B7 ", entry.proxyType.toUpperCase()] }, entry.id))] }) })] }), _jsxs("details", { className: "dsh-ssh-form-advanced", children: [_jsx("summary", { children: "\u9AD8\u7EA7\u8FDE\u63A5\u8BBE\u7F6E" }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u8FDE\u63A5\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09", children: _jsx("input", { required: true, type: "number", min: "1000", max: "120000", step: "1000", value: form.connectTimeoutMs, onChange: event => setForm({ ...form, connectTimeoutMs: event.target.value }) }) }), _jsx(Field, { label: "TLS \u670D\u52A1\u5668\u540D\u79F0", hint: "\u8BC1\u4E66\u540D\u79F0\u4E0E\u4E3B\u673A\u4E0D\u540C\u65F6\u586B\u5199", children: _jsx("input", { maxLength: 253, spellCheck: false, value: form.tlsServerName, onChange: event => setForm({ ...form, tlsServerName: event.target.value }) }) })] })] })] }), testResult && _jsx("p", { className: "dsh-ssh-inline-success", role: "status", children: testResult }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error })] }), _jsxs("footer", { className: "dsh-ssh-ftp-editor-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => { void test(); }, disabled: testing || saving, children: testing ? '正在测试…' : '测试连接' }), _jsx("span", {}), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: onBack, disabled: saving || testing, children: "\u53D6\u6D88" }), _jsx("button", { type: "submit", className: "dsh-ssh-primary-button", disabled: saving || testing, children: saving ? '正在保存…' : '保存连接' })] })] });
90
+ return _jsxs("form", { className: "dsh-ssh-ftp-editor-form", onSubmit: event => { void submit(event); }, children: [_jsxs("header", { className: "dsh-ssh-ftp-editor-heading", children: [_jsxs("button", { type: "button", className: "dsh-ssh-ftp-detail-back", onClick: onBack, children: [_jsx(IconChevronLeftOutline14, { size: 14 }), "\u8FD4\u56DE\u8FDE\u63A5\u5217\u8868"] }), _jsxs("span", { children: [_jsx("strong", { children: value === undefined ? '新建文件连接' : value.name }), _jsx("small", { children: value === undefined ? '填写服务器和认证信息' : '修改后可先测试再保存' })] })] }), _jsxs("div", { className: "dsh-ssh-ftp-editor-scroll", children: [_jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8FDE\u63A5\u7C7B\u578B" }), _jsx("small", { children: "\u4F18\u5148\u4F7F\u7528 FTPS\uFF1B\u4EC5\u5728\u670D\u52A1\u5668\u4E0D\u652F\u6301 TLS \u65F6\u9009\u62E9 FTP" })] }), _jsx("div", { className: "dsh-ssh-ftp-protocol-options", role: "radiogroup", "aria-label": "\u8FDE\u63A5\u534F\u8BAE", children: [['ftps-explicit', 'FTPS', '显式 TLS · 推荐'], ['ftps-implicit', 'FTPS-I', '隐式 TLS'], ['ftp', 'FTP', '未加密']].map(option => _jsxs("button", { type: "button", "data-ssh-interactive": "choice", role: "radio", "aria-checked": form.protocol === option[0], className: form.protocol === option[0] ? 'is-active' : '', onClick: () => protocolChanged(option[0]), children: [_jsx("span", { className: `dsh-ssh-protocol-badge is-${option[0]}`, children: option[1] }), _jsxs("span", { children: [_jsx("strong", { children: option[1] }), _jsx("small", { children: option[2] })] })] }, option[0])) }), form.protocol === 'ftp' && _jsx("p", { className: "dsh-ssh-form-warning", children: "\u666E\u901A FTP \u7684\u8D26\u53F7\u3001\u5BC6\u7801\u548C\u6587\u4EF6\u5185\u5BB9\u5747\u4E0D\u52A0\u5BC6\u3002" })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u670D\u52A1\u5668" }), _jsx("small", { children: "\u540D\u79F0\u7528\u4E8E\u8FDE\u63A5\u5217\u8868\uFF0C\u5206\u7EC4\u4E0E\u6807\u7B7E\u53EF\u590D\u7528\u5DF2\u6709\u9009\u9879" })] }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u8FDE\u63A5\u540D\u79F0", children: _jsx("input", { autoFocus: value === undefined, required: true, maxLength: 80, value: form.name, onChange: event => setForm({ ...form, name: event.target.value }) }) }), _jsx(Field, { label: "\u5206\u7EC4\uFF08\u53EF\u9009\uFF09", children: _jsx(SuggestionInput, { ariaLabel: "FTP \u5206\u7EC4", maxLength: 64, options: groupOptions, placeholder: "\u9009\u62E9\u5DF2\u6709\u5206\u7EC4\u6216\u8F93\u5165\u65B0\u5206\u7EC4", value: form.group, onChange: group => setForm(current => ({ ...current, group })) }) })] }), _jsxs("div", { className: "dsh-ssh-form-grid is-host", children: [_jsx(Field, { label: "\u670D\u52A1\u5668\u5730\u5740", children: _jsx("input", { required: true, maxLength: 253, spellCheck: false, value: form.host, onChange: event => setForm({ ...form, host: event.target.value }) }) }), _jsx(Field, { label: "\u7AEF\u53E3", children: _jsx("input", { required: true, type: "number", min: "1", max: "65535", value: form.port, onChange: event => setForm({ ...form, port: event.target.value }) }) })] }), _jsx(Field, { label: "\u6807\u7B7E\uFF08\u53EF\u9009\uFF09", hint: "\u53EF\u9009\u62E9\u5DF2\u6709\u6807\u7B7E\u6216\u76F4\u63A5\u8F93\u5165\uFF1B\u591A\u4E2A\u6807\u7B7E\u4F7F\u7528\u9017\u53F7\u5206\u9694\u3002", children: _jsx(SuggestionInput, { ariaLabel: "FTP \u6807\u7B7E", multiple: true, options: tagOptions, placeholder: "\u9009\u62E9\u6216\u8F93\u5165\u6807\u7B7E", value: form.tags, onChange: tags => setForm(current => ({ ...current, tags })) }) })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8EAB\u4EFD\u8BA4\u8BC1" }), _jsx("small", { children: "\u5BC6\u7801\u53EA\u5199\u5165 DSH \u51ED\u636E\u670D\u52A1\uFF0C\u4E0D\u4F1A\u5728\u754C\u9762\u56DE\u663E" })] }), _jsx(Field, { label: "\u767B\u5F55\u65B9\u5F0F", children: _jsxs("select", { value: form.authMode, onChange: event => { setForm({ ...form, authMode: event.target.value }); setTestResult(undefined); }, children: [_jsx("option", { value: "password", children: "\u8D26\u53F7\u5BC6\u7801" }), _jsx("option", { value: "anonymous", children: "\u533F\u540D\u767B\u5F55" })] }) }), form.authMode === 'anonymous' ? _jsx("p", { children: "\u4F7F\u7528 anonymous \u767B\u5F55\uFF0C\u65E0\u9700\u586B\u5199\u8D26\u53F7\u5BC6\u7801\uFF1B\u670D\u52A1\u5668\u5FC5\u987B\u5F00\u653E\u533F\u540D\u8BBF\u95EE\u3002" }) : _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u7528\u6237\u540D", children: _jsx("input", { required: true, maxLength: 128, autoComplete: "username", value: form.username, onChange: event => setForm({ ...form, username: event.target.value }) }) }), _jsx(Field, { label: "\u51ED\u636E\u6765\u6E90", children: _jsxs("select", { value: form.credentialId, onChange: event => setForm({ ...form, credentialId: event.target.value }), children: [_jsx("option", { value: "", children: "\u6B64\u8FDE\u63A5\u5355\u72EC\u4FDD\u5B58\u5BC6\u7801" }), passwordEntries.map(entry => _jsxs("option", { value: entry.id, children: [entry.name, " \u00B7 ", entry.username] }, entry.id))] }) })] }), !form.credentialId && _jsx(Field, { label: "\u5BC6\u7801", hint: value?.credential.configured && value.credential.source === 'profile' ? '已保存;留空保持不变' : '保存后不会回显', children: _jsx("input", { required: value === undefined || value.credential.source !== 'profile' || !value.credential.configured, type: "password", autoComplete: "new-password", value: form.password, onChange: event => setForm({ ...form, password: event.target.value }) }) })] })] }), _jsxs("section", { className: "dsh-ssh-ftp-editor-section", children: [_jsxs("div", { className: "dsh-ssh-form-section-heading", children: [_jsx("strong", { children: "\u8DEF\u5F84\u4E0E\u7F51\u7EDC" }), _jsx("small", { children: "\u4EE3\u7406\u590D\u7528 SSH \u63D2\u4EF6\u7684\u4EE3\u7406\u5E93\uFF0C\u63A7\u5236\u548C\u6570\u636E\u8FDE\u63A5\u4F7F\u7528\u540C\u4E00\u8DEF\u5F84" })] }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u521D\u59CB\u76EE\u5F55", children: _jsx("input", { required: true, maxLength: 4096, spellCheck: false, value: form.initialPath, onChange: event => setForm({ ...form, initialPath: event.target.value }) }) }), _jsx(Field, { label: "\u8FDE\u63A5\u4EE3\u7406", children: _jsxs("select", { value: form.proxyId, onChange: event => setForm({ ...form, proxyId: event.target.value }), children: [_jsx("option", { value: "", children: "\u76F4\u8FDE" }), proxyEntries.map(entry => _jsxs("option", { value: entry.id, children: [entry.name, " \u00B7 ", entry.proxyType.toUpperCase()] }, entry.id))] }) })] }), _jsxs("details", { className: "dsh-ssh-form-advanced", children: [_jsx("summary", { children: "\u9AD8\u7EA7\u8FDE\u63A5\u8BBE\u7F6E" }), _jsxs("div", { className: "dsh-ssh-form-grid", children: [_jsx(Field, { label: "\u8FDE\u63A5\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09", children: _jsx("input", { required: true, type: "number", min: "1000", max: "120000", step: "1000", value: form.connectTimeoutMs, onChange: event => setForm({ ...form, connectTimeoutMs: event.target.value }) }) }), _jsx(Field, { label: "TLS \u670D\u52A1\u5668\u540D\u79F0", hint: "\u8BC1\u4E66\u540D\u79F0\u4E0E\u4E3B\u673A\u4E0D\u540C\u65F6\u586B\u5199", children: _jsx("input", { maxLength: 253, spellCheck: false, value: form.tlsServerName, onChange: event => setForm({ ...form, tlsServerName: event.target.value }) }) })] })] })] }), testResult && _jsx("p", { className: "dsh-ssh-inline-success", role: "status", children: testResult }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error })] }), _jsxs("footer", { className: "dsh-ssh-ftp-editor-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => { void test(); }, disabled: testing || saving, children: testing ? '正在测试…' : '测试连接' }), _jsx("span", {}), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: onBack, disabled: saving || testing, children: "\u53D6\u6D88" }), _jsx("button", { type: "submit", className: "dsh-ssh-primary-button", disabled: saving || testing, children: saving ? '正在保存…' : '保存连接' })] })] });
90
91
  }
91
92
  function protocolLabel(protocol) { return protocol === 'ftp' ? 'FTP' : protocol === 'ftps-explicit' ? 'FTPS' : 'FTPS-I'; }
92
93
  //# sourceMappingURL=ftp-profile-editor.js.map