@lemoncat7/dsh-ssh 1.1.8 → 1.3.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +77 -0
- package/README.md +39 -18
- package/lib/activity-panel.d.ts +17 -0
- package/lib/activity-panel.d.ts.map +1 -0
- package/lib/activity-panel.js +160 -0
- package/lib/activity-panel.js.map +1 -0
- package/lib/adaptive-workspace.d.ts.map +1 -1
- package/lib/adaptive-workspace.js +19 -4
- package/lib/adaptive-workspace.js.map +1 -1
- package/lib/api.d.ts +8 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +306 -14
- package/lib/api.js.map +1 -1
- package/lib/client-api.d.ts +86 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js +27 -0
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +4070 -21049
- package/lib/client.js.map +4 -4
- package/lib/connector.js +2 -2
- package/lib/connector.js.map +1 -1
- package/lib/credentials.d.ts +9 -0
- package/lib/credentials.d.ts.map +1 -1
- package/lib/credentials.js +16 -0
- package/lib/credentials.js.map +1 -1
- package/lib/domain.d.ts +58 -1
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +47 -0
- package/lib/domain.js.map +1 -1
- package/lib/endpoint-session-manager.d.ts +16 -0
- package/lib/endpoint-session-manager.d.ts.map +1 -0
- package/lib/endpoint-session-manager.js +70 -0
- package/lib/endpoint-session-manager.js.map +1 -0
- package/lib/file-transfer-manager.d.ts +50 -0
- package/lib/file-transfer-manager.d.ts.map +1 -0
- package/lib/file-transfer-manager.js +257 -0
- package/lib/file-transfer-manager.js.map +1 -0
- package/lib/file-transfer-tools.d.ts +6 -0
- package/lib/file-transfer-tools.d.ts.map +1 -0
- package/lib/file-transfer-tools.js +143 -0
- package/lib/file-transfer-tools.js.map +1 -0
- package/lib/file-transfer-workspace.d.ts +10 -0
- package/lib/file-transfer-workspace.d.ts.map +1 -0
- package/lib/file-transfer-workspace.js +299 -0
- package/lib/file-transfer-workspace.js.map +1 -0
- package/lib/ftp-adapter.d.ts +18 -0
- package/lib/ftp-adapter.d.ts.map +1 -0
- package/lib/ftp-adapter.js +240 -0
- package/lib/ftp-adapter.js.map +1 -0
- package/lib/ftp-profile-editor.d.ts +9 -0
- package/lib/ftp-profile-editor.d.ts.map +1 -0
- package/lib/ftp-profile-editor.js +89 -0
- package/lib/ftp-profile-editor.js.map +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +17 -2
- package/lib/index.js.map +1 -1
- package/lib/network-dialer.d.ts +12 -0
- package/lib/network-dialer.d.ts.map +1 -0
- package/lib/network-dialer.js +27 -0
- package/lib/network-dialer.js.map +1 -0
- package/lib/profile-editor.d.ts +16 -0
- package/lib/profile-editor.d.ts.map +1 -0
- package/lib/profile-editor.js +143 -0
- package/lib/profile-editor.js.map +1 -0
- package/lib/project-session-dialog.d.ts +15 -0
- package/lib/project-session-dialog.d.ts.map +1 -0
- package/lib/project-session-dialog.js +60 -0
- package/lib/project-session-dialog.js.map +1 -0
- package/lib/proxy.d.ts +3 -3
- package/lib/proxy.d.ts.map +1 -1
- package/lib/proxy.js +11 -7
- package/lib/proxy.js.map +1 -1
- package/lib/remote-file-systems.d.ts +9 -0
- package/lib/remote-file-systems.d.ts.map +1 -0
- package/lib/remote-file-systems.js +23 -0
- package/lib/remote-file-systems.js.map +1 -0
- package/lib/remote-files.d.ts +51 -0
- package/lib/remote-files.d.ts.map +1 -0
- package/lib/remote-files.js +36 -0
- package/lib/remote-files.js.map +1 -0
- package/lib/remote-workspace-tree.d.ts +28 -0
- package/lib/remote-workspace-tree.d.ts.map +1 -0
- package/lib/remote-workspace-tree.js +117 -0
- package/lib/remote-workspace-tree.js.map +1 -0
- package/lib/resizable-split.d.ts +10 -0
- package/lib/resizable-split.d.ts.map +1 -0
- package/lib/resizable-split.js +115 -0
- package/lib/resizable-split.js.map +1 -0
- package/lib/session-access-channel.d.ts +6 -0
- package/lib/session-access-channel.d.ts.map +1 -0
- package/lib/session-access-channel.js +10 -0
- package/lib/session-access-channel.js.map +1 -0
- package/lib/session-access.d.ts +18 -0
- package/lib/session-access.d.ts.map +1 -0
- package/lib/session-access.js +102 -0
- package/lib/session-access.js.map +1 -0
- package/lib/sftp-adapter.d.ts +13 -0
- package/lib/sftp-adapter.d.ts.map +1 -0
- package/lib/sftp-adapter.js +28 -0
- package/lib/sftp-adapter.js.map +1 -0
- package/lib/sftp-client.d.ts +5 -1
- package/lib/sftp-client.d.ts.map +1 -1
- package/lib/sftp-client.js +85 -31
- package/lib/sftp-client.js.map +1 -1
- package/lib/sftp.d.ts +7 -0
- package/lib/sftp.d.ts.map +1 -1
- package/lib/sftp.js +215 -6
- package/lib/sftp.js.map +1 -1
- package/lib/store.d.ts +5 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +83 -3
- package/lib/store.js.map +1 -1
- package/lib/terminal.d.ts +2 -0
- package/lib/terminal.d.ts.map +1 -1
- package/lib/terminal.js +10 -2
- package/lib/terminal.js.map +1 -1
- package/lib/tools.d.ts +3 -1
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +4 -1
- package/lib/tools.js.map +1 -1
- package/lib/ui-components.d.ts +25 -0
- package/lib/ui-components.d.ts.map +1 -0
- package/lib/ui-components.js +27 -0
- package/lib/ui-components.js.map +1 -0
- package/package.json +8 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface DialogProps {
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string | undefined;
|
|
5
|
+
className?: string | undefined;
|
|
6
|
+
onClose(): void;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function Dialog({ title, subtitle, className, onClose, children }: DialogProps): JSX.Element;
|
|
10
|
+
export declare function Field({ label, hint, children }: {
|
|
11
|
+
label: string;
|
|
12
|
+
hint?: string | undefined;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}): JSX.Element;
|
|
15
|
+
export declare function Segment({ active, onClick, children }: {
|
|
16
|
+
active: boolean;
|
|
17
|
+
onClick(): void;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}): JSX.Element;
|
|
20
|
+
export declare function EmptyState(): JSX.Element;
|
|
21
|
+
export declare function ServerGlyph(): JSX.Element;
|
|
22
|
+
export declare function errorMessage(error: unknown): string;
|
|
23
|
+
export declare function shortId(id: string): string;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=ui-components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-components.d.ts","sourceRoot":"","sources":["../src/ui-components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG7C,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,IAAI,IAAI,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAUlG;AAED,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE/H;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,IAAI,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAE7H;AAED,wBAAgB,UAAU,IAAI,GAAG,CAAC,OAAO,CAExC;AAED,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CAEzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { IconCloseOutline16, IconDataOutline16, Modal } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
4
|
+
export function Dialog({ title, subtitle, className, onClose, children }) {
|
|
5
|
+
const titleId = useId();
|
|
6
|
+
const descriptionId = useId();
|
|
7
|
+
return _jsx(Modal, { open: true, onClose: onClose, title: title, closeLabel: "\u5173\u95ED", headless: true, className: `dsh-ssh-dialog-modal${className === undefined ? '' : ` ${className}-modal`}`, children: _jsxs("section", { className: `dsh-ssh-dialog dsh-ssh-scroll-surface${className === undefined ? '' : ` ${className}`}`, "aria-labelledby": titleId, "aria-describedby": subtitle === undefined ? undefined : descriptionId, children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("h2", { id: titleId, children: title }), subtitle && _jsx("p", { id: descriptionId, children: subtitle })] }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button", onClick: onClose, "aria-label": "\u5173\u95ED", children: _jsx(IconCloseOutline16, { size: 16 }) })] }), children] }) });
|
|
8
|
+
}
|
|
9
|
+
export function Field({ label, hint, children }) {
|
|
10
|
+
return _jsxs("label", { className: "dsh-ssh-field", children: [_jsx("span", { children: label }), children, hint && _jsx("small", { children: hint })] });
|
|
11
|
+
}
|
|
12
|
+
export function Segment({ active, onClick, children }) {
|
|
13
|
+
return _jsx("button", { type: "button", role: "tab", className: active ? 'is-active' : '', "aria-selected": active, onClick: onClick, children: children });
|
|
14
|
+
}
|
|
15
|
+
export function EmptyState() {
|
|
16
|
+
return _jsxs("div", { className: "dsh-ssh-empty-state", children: [_jsx("span", { children: _jsx(ServerGlyph, {}) }), _jsx("h1", { children: "\u8FDE\u63A5\u4F60\u7684\u7B2C\u4E00\u53F0\u8FDC\u7AEF\u4E3B\u673A" }), _jsx("p", { children: "\u4F7F\u7528\u201C\u4E3B\u673A\u4E0E\u9879\u76EE\u201D\u65C1\u7684\u6DFB\u52A0\u6309\u94AE\u4FDD\u5B58 SSH \u914D\u7F6E\uFF0C\u968F\u540E\u5373\u53EF\u6253\u5F00\u7EC8\u7AEF\u3001\u5EFA\u7ACB\u7AEF\u53E3\u8F6C\u53D1\uFF0C\u5E76\u6309\u4F1A\u8BDD\u6388\u6743\u7ED9 AI\u3002" })] });
|
|
17
|
+
}
|
|
18
|
+
export function ServerGlyph() {
|
|
19
|
+
return _jsx("span", { className: "dsh-ssh-server-glyph", children: _jsx(IconDataOutline16, { size: 17 }) });
|
|
20
|
+
}
|
|
21
|
+
export function errorMessage(error) {
|
|
22
|
+
return error instanceof Error ? error.message : String(error);
|
|
23
|
+
}
|
|
24
|
+
export function shortId(id) {
|
|
25
|
+
return id.length <= 16 ? id : `${id.slice(0, 8)}…${id.slice(-5)}`;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ui-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-components.js","sourceRoot":"","sources":["../src/ui-components.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAA;AAUpG,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAe;IACnF,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;IACvB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAA;IAE7B,OAAO,KAAC,KAAK,IAAC,IAAI,QAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAC,cAAI,EAAC,QAAQ,QAAC,SAAS,EAAE,uBAAuB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,QAAQ,EAAE,YAClK,mBAAS,SAAS,EAAE,wCAAwC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,EAAE,qBAAmB,OAAO,sBAAoB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,aAC1M,6BAAQ,2BAAM,aAAI,EAAE,EAAE,OAAO,YAAG,KAAK,GAAM,EAAC,QAAQ,IAAI,YAAG,EAAE,EAAE,aAAa,YAAG,QAAQ,GAAK,IAAQ,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,OAAO,gBAAa,cAAI,YAAC,KAAC,kBAAkB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,IAAS,EAC7O,QAAQ,IACD,GACJ,CAAA;AACV,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAqE;IAChH,OAAO,iBAAO,SAAS,EAAC,eAAe,aAAC,yBAAO,KAAK,GAAQ,EAAC,QAAQ,EAAE,IAAI,IAAI,0BAAQ,IAAI,GAAS,IAAS,CAAA;AAC/G,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAA6D;IAC9G,OAAO,iBAAQ,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAiB,MAAM,EAAE,OAAO,EAAE,OAAO,YAAG,QAAQ,GAAU,CAAA;AAC5I,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,eAAK,SAAS,EAAC,qBAAqB,aAAC,yBAAM,KAAC,WAAW,KAAG,GAAO,EAAA,8FAAoB,EAAA,2SAA2D,IAAM,CAAA;AAC/J,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,eAAM,SAAS,EAAC,sBAAsB,YAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAO,CAAA;AACtF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACnE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-ssh",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Secure SSH
|
|
3
|
+
"version": "1.3.0-alpha.9",
|
|
4
|
+
"description": "Secure SSH, FTP/FTPS/SFTP file transfer, browser terminals, proxies, port forwarding, and session-scoped AI access for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
7
7
|
"dsh",
|
|
8
8
|
"dsh-plugin",
|
|
9
9
|
"ssh",
|
|
10
|
+
"ftp",
|
|
11
|
+
"ftps",
|
|
12
|
+
"sftp",
|
|
13
|
+
"file-transfer",
|
|
10
14
|
"terminal",
|
|
11
15
|
"port-forwarding",
|
|
12
16
|
"socks5",
|
|
@@ -33,6 +37,7 @@
|
|
|
33
37
|
"lib/**/*.map",
|
|
34
38
|
"cordis.patch.yml",
|
|
35
39
|
"README.md",
|
|
40
|
+
"ARCHITECTURE.md",
|
|
36
41
|
"LICENSE"
|
|
37
42
|
],
|
|
38
43
|
"dsh": {
|
|
@@ -62,6 +67,7 @@
|
|
|
62
67
|
},
|
|
63
68
|
"dependencies": {
|
|
64
69
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
70
|
+
"basic-ftp": "6.2.1",
|
|
65
71
|
"react-markdown": "^10.1.0",
|
|
66
72
|
"remark-gfm": "^4.0.1",
|
|
67
73
|
"ssh2": "^1.16.0"
|