@lemoncat7/dsh-ssh 1.1.8 → 1.2.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 (63) hide show
  1. package/ARCHITECTURE.md +62 -0
  2. package/README.md +25 -17
  3. package/lib/activity-panel.d.ts +17 -0
  4. package/lib/activity-panel.d.ts.map +1 -0
  5. package/lib/activity-panel.js +160 -0
  6. package/lib/activity-panel.js.map +1 -0
  7. package/lib/adaptive-workspace.d.ts.map +1 -1
  8. package/lib/adaptive-workspace.js +19 -4
  9. package/lib/adaptive-workspace.js.map +1 -1
  10. package/lib/api.js +93 -6
  11. package/lib/api.js.map +1 -1
  12. package/lib/client-api.d.ts +20 -0
  13. package/lib/client-api.d.ts.map +1 -1
  14. package/lib/client-api.js +13 -0
  15. package/lib/client-api.js.map +1 -1
  16. package/lib/client.d.ts.map +1 -1
  17. package/lib/client.js +3708 -21057
  18. package/lib/client.js.map +4 -4
  19. package/lib/domain.d.ts +17 -1
  20. package/lib/domain.d.ts.map +1 -1
  21. package/lib/domain.js +15 -0
  22. package/lib/domain.js.map +1 -1
  23. package/lib/profile-editor.d.ts +16 -0
  24. package/lib/profile-editor.d.ts.map +1 -0
  25. package/lib/profile-editor.js +143 -0
  26. package/lib/profile-editor.js.map +1 -0
  27. package/lib/project-session-dialog.d.ts +15 -0
  28. package/lib/project-session-dialog.d.ts.map +1 -0
  29. package/lib/project-session-dialog.js +60 -0
  30. package/lib/project-session-dialog.js.map +1 -0
  31. package/lib/remote-workspace-tree.d.ts +28 -0
  32. package/lib/remote-workspace-tree.d.ts.map +1 -0
  33. package/lib/remote-workspace-tree.js +127 -0
  34. package/lib/remote-workspace-tree.js.map +1 -0
  35. package/lib/resizable-split.d.ts +10 -0
  36. package/lib/resizable-split.d.ts.map +1 -0
  37. package/lib/resizable-split.js +115 -0
  38. package/lib/resizable-split.js.map +1 -0
  39. package/lib/session-access-channel.d.ts +6 -0
  40. package/lib/session-access-channel.d.ts.map +1 -0
  41. package/lib/session-access-channel.js +10 -0
  42. package/lib/session-access-channel.js.map +1 -0
  43. package/lib/session-access.d.ts +15 -0
  44. package/lib/session-access.d.ts.map +1 -0
  45. package/lib/session-access.js +99 -0
  46. package/lib/session-access.js.map +1 -0
  47. package/lib/sftp-client.d.ts +5 -1
  48. package/lib/sftp-client.d.ts.map +1 -1
  49. package/lib/sftp-client.js +85 -31
  50. package/lib/sftp-client.js.map +1 -1
  51. package/lib/store.d.ts +3 -1
  52. package/lib/store.d.ts.map +1 -1
  53. package/lib/store.js +35 -3
  54. package/lib/store.js.map +1 -1
  55. package/lib/terminal.d.ts +2 -0
  56. package/lib/terminal.d.ts.map +1 -1
  57. package/lib/terminal.js +10 -2
  58. package/lib/terminal.js.map +1 -1
  59. package/lib/ui-components.d.ts +25 -0
  60. package/lib/ui-components.d.ts.map +1 -0
  61. package/lib/ui-components.js +27 -0
  62. package/lib/ui-components.js.map +1 -0
  63. package/package.json +2 -1
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-ssh",
3
- "version": "1.1.8",
3
+ "version": "1.2.0",
4
4
  "description": "Secure SSH profiles, browser terminals, proxies, port forwarding, and session-scoped AI access for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -33,6 +33,7 @@
33
33
  "lib/**/*.map",
34
34
  "cordis.patch.yml",
35
35
  "README.md",
36
+ "ARCHITECTURE.md",
36
37
  "LICENSE"
37
38
  ],
38
39
  "dsh": {