ssh-mcp-pro 1.0.0 → 1.1.3

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 (66) hide show
  1. package/ARCHITECTURE.md +1 -1
  2. package/CHANGELOG.md +71 -0
  3. package/LICENSES/MIT.txt +1 -1
  4. package/README.md +38 -1
  5. package/SUPPORT.md +95 -0
  6. package/dist/agent-bin.js +0 -0
  7. package/dist/config-parsers.d.ts +12 -0
  8. package/dist/config-parsers.d.ts.map +1 -0
  9. package/dist/config-parsers.js +60 -0
  10. package/dist/config-parsers.js.map +1 -0
  11. package/dist/config.d.ts +3 -2
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +3 -58
  14. package/dist/config.js.map +1 -1
  15. package/dist/ensure-pkg.d.ts +9 -0
  16. package/dist/ensure-pkg.d.ts.map +1 -0
  17. package/dist/ensure-pkg.js +105 -0
  18. package/dist/ensure-pkg.js.map +1 -0
  19. package/dist/ensure.d.ts.map +1 -1
  20. package/dist/ensure.js +2 -104
  21. package/dist/ensure.js.map +1 -1
  22. package/dist/fs-sftp.d.ts +58 -0
  23. package/dist/fs-sftp.d.ts.map +1 -0
  24. package/dist/fs-sftp.js +184 -0
  25. package/dist/fs-sftp.js.map +1 -0
  26. package/dist/fs-tools.d.ts.map +1 -1
  27. package/dist/fs-tools.js +2 -144
  28. package/dist/fs-tools.js.map +1 -1
  29. package/dist/index.js +0 -0
  30. package/dist/mcp.d.ts +1 -1
  31. package/dist/mcp.js +1 -1
  32. package/dist/remote/agent-executor.d.ts.map +1 -1
  33. package/dist/remote/agent-executor.js +16 -4
  34. package/dist/remote/agent-executor.js.map +1 -1
  35. package/dist/remote/agent-handler.d.ts +36 -0
  36. package/dist/remote/agent-handler.d.ts.map +1 -0
  37. package/dist/remote/agent-handler.js +255 -0
  38. package/dist/remote/agent-handler.js.map +1 -0
  39. package/dist/remote/control-plane.d.ts +4 -17
  40. package/dist/remote/control-plane.d.ts.map +1 -1
  41. package/dist/remote/control-plane.js +24 -651
  42. package/dist/remote/control-plane.js.map +1 -1
  43. package/dist/remote/http-util.d.ts +29 -0
  44. package/dist/remote/http-util.d.ts.map +1 -0
  45. package/dist/remote/http-util.js +159 -0
  46. package/dist/remote/http-util.js.map +1 -0
  47. package/dist/remote/oauth-handler.d.ts +47 -0
  48. package/dist/remote/oauth-handler.d.ts.map +1 -0
  49. package/dist/remote/oauth-handler.js +296 -0
  50. package/dist/remote/oauth-handler.js.map +1 -0
  51. package/dist/session-auth.d.ts +39 -0
  52. package/dist/session-auth.d.ts.map +1 -0
  53. package/dist/session-auth.js +148 -0
  54. package/dist/session-auth.js.map +1 -0
  55. package/dist/session.d.ts +0 -19
  56. package/dist/session.d.ts.map +1 -1
  57. package/dist/session.js +8 -154
  58. package/dist/session.js.map +1 -1
  59. package/docs/audit/2026-06-05-ecosystem-audit.md +146 -0
  60. package/docs/docker.md +39 -0
  61. package/docs/governance/issue-taxonomy.json +141 -0
  62. package/docs/testing.md +50 -0
  63. package/mcp.json +1 -1
  64. package/package.json +80 -71
  65. package/registry/ssh-mcp-pro/mcp.json +1 -1
  66. package/server.json +3 -3
@@ -0,0 +1,105 @@
1
+ import { createBadRequestError, createPackageManagerError } from "./errors.js";
2
+ export const SUPPORTED_PACKAGE_MANAGERS = [
3
+ "apt",
4
+ "dnf",
5
+ "yum",
6
+ "pacman",
7
+ "apk",
8
+ "zypper",
9
+ "brew",
10
+ "winget",
11
+ "choco",
12
+ ];
13
+ export const SUPPORTED_PACKAGE_MANAGERS_HINT = `Supported package managers: ${SUPPORTED_PACKAGE_MANAGERS.join(", ")}`;
14
+ export function sanitizePackageName(name) {
15
+ const validPackageName = /^[a-zA-Z0-9][a-zA-Z0-9._+-]*$/;
16
+ if (!validPackageName.test(name)) {
17
+ throw createBadRequestError(`Invalid package name: ${name}`, "Package names must start with alphanumeric and contain only letters, numbers, dots, dashes, underscores, or plus signs");
18
+ }
19
+ const dangerousChars = /[;&|`$(){}\[\]<>\\\"'\n\r]/;
20
+ if (dangerousChars.test(name)) {
21
+ throw createBadRequestError("Package name contains potentially dangerous characters", "Remove any shell special characters from the package name");
22
+ }
23
+ return name;
24
+ }
25
+ function powerShellQuote(value) {
26
+ return `'${value.replace(/'/g, "''")}'`;
27
+ }
28
+ function escapeRegExp(value) {
29
+ return value.replace(/[\\^$.*+?()[\]{}|]/g, "\\$&");
30
+ }
31
+ export function getRemoveCommand(pm, packageName) {
32
+ switch (pm) {
33
+ case "apt":
34
+ return `apt-get remove -y ${packageName}`;
35
+ case "dnf":
36
+ return `dnf remove -y ${packageName}`;
37
+ case "yum":
38
+ return `yum remove -y ${packageName}`;
39
+ case "pacman":
40
+ return `pacman -R --noconfirm ${packageName}`;
41
+ case "apk":
42
+ return `apk del ${packageName}`;
43
+ case "zypper":
44
+ return `zypper remove -y ${packageName}`;
45
+ case "brew":
46
+ return `brew uninstall ${packageName}`;
47
+ case "winget":
48
+ return `winget uninstall --id ${packageName} --exact --silent --accept-source-agreements --disable-interactivity`;
49
+ case "choco":
50
+ return `choco uninstall ${packageName} -y --no-progress`;
51
+ default:
52
+ throw createPackageManagerError(`Unsupported package manager: ${pm}`);
53
+ }
54
+ }
55
+ export function getInstallCommand(pm, packageName) {
56
+ switch (pm) {
57
+ case "apt":
58
+ return `apt-get update && apt-get install -y ${packageName}`;
59
+ case "dnf":
60
+ return `dnf install -y ${packageName}`;
61
+ case "yum":
62
+ return `yum install -y ${packageName}`;
63
+ case "pacman":
64
+ return `pacman -S --noconfirm ${packageName}`;
65
+ case "apk":
66
+ return `apk add ${packageName}`;
67
+ case "zypper":
68
+ return `zypper install -y ${packageName}`;
69
+ case "brew":
70
+ return `brew install ${packageName}`;
71
+ case "winget":
72
+ return `winget install --id ${packageName} --exact --silent --accept-source-agreements --accept-package-agreements --disable-interactivity`;
73
+ case "choco":
74
+ return `choco install ${packageName} -y --no-progress`;
75
+ default:
76
+ throw createPackageManagerError(`Unsupported package manager: ${pm}`);
77
+ }
78
+ }
79
+ export function getPackageCheckCommand(pm, packageName) {
80
+ switch (pm) {
81
+ case "apt":
82
+ return `dpkg -l ${packageName} | grep -q '^ii'`;
83
+ case "dnf":
84
+ case "yum":
85
+ return `${pm} list installed ${packageName}`;
86
+ case "pacman":
87
+ return `pacman -Q ${packageName}`;
88
+ case "apk":
89
+ return `apk info -e ${packageName}`;
90
+ case "zypper":
91
+ return `zypper se -i ${packageName}`;
92
+ case "brew":
93
+ return `brew list --versions ${packageName}`;
94
+ case "winget":
95
+ return `$idPattern = ${powerShellQuote(`(^|\\s)${escapeRegExp(packageName)}(\\s|$)`)}; $package = winget list --id ${powerShellQuote(packageName)} --exact --disable-interactivity; if ($LASTEXITCODE -eq 0 -and ($package -match $idPattern)) { exit 0 } exit 1`;
96
+ case "choco":
97
+ return `$package = choco list --exact ${powerShellQuote(packageName)} --limit-output; if ($LASTEXITCODE -eq 0 -and ($package -like ${powerShellQuote(`${packageName}|*`)})) { exit 0 } exit 1`;
98
+ default:
99
+ return undefined;
100
+ }
101
+ }
102
+ export function usesDirectPackageCommand(pm) {
103
+ return pm === "brew" || pm === "winget" || pm === "choco";
104
+ }
105
+ //# sourceMappingURL=ensure-pkg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-pkg.js","sourceRoot":"","sources":["../src/ensure-pkg.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAClE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,eAAe,CAAC,EAAE,OAAO,EACzB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,GAAG,eAAe,CAAC,CAAC;IACnF,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;CACrE;AAwKD,wBAAgB,mBAAmB,CAAC,EAClC,cAAc,EACd,cAAc,EACd,SAAS,GACV,EAAE,iBAAiB,GAAG,aAAa,CAohBnC"}
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAClE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,eAAe,CAAC,EAAE,OAAO,EACzB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,GAAG,eAAe,CAAC,CAAC;IACnF,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;CACrE;AAsCD,wBAAgB,mBAAmB,CAAC,EAClC,cAAc,EACd,cAAc,EACd,SAAS,GACV,EAAE,iBAAiB,GAAG,aAAa,CAohBnC"}
package/dist/ensure.js CHANGED
@@ -1,29 +1,7 @@
1
- import { createPackageManagerError, createSudoError, createFilesystemError, createPatchError, createBadRequestError, } from "./errors.js";
1
+ import { createBadRequestError, createPackageManagerError, createSudoError, createFilesystemError, createPatchError, } from "./errors.js";
2
2
  import { logger } from "./logging.js";
3
+ import { SUPPORTED_PACKAGE_MANAGERS_HINT, sanitizePackageName, getRemoveCommand, getInstallCommand, getPackageCheckCommand, usesDirectPackageCommand, } from "./ensure-pkg.js";
3
4
  import { resolveRemoteTempDir } from "./shell.js";
4
- const SUPPORTED_PACKAGE_MANAGERS = [
5
- "apt",
6
- "dnf",
7
- "yum",
8
- "pacman",
9
- "apk",
10
- "zypper",
11
- "brew",
12
- "winget",
13
- "choco",
14
- ];
15
- const SUPPORTED_PACKAGE_MANAGERS_HINT = `Supported package managers: ${SUPPORTED_PACKAGE_MANAGERS.join(", ")}`;
16
- function sanitizePackageName(name) {
17
- const validPackageName = /^[a-zA-Z0-9][a-zA-Z0-9._+-]*$/;
18
- if (!validPackageName.test(name)) {
19
- throw createBadRequestError(`Invalid package name: ${name}`, "Package names must start with alphanumeric and contain only letters, numbers, dots, dashes, underscores, or plus signs");
20
- }
21
- const dangerousChars = /[;&|`$(){}\[\]<>\\\"'\n\r]/;
22
- if (dangerousChars.test(name)) {
23
- throw createBadRequestError("Package name contains potentially dangerous characters", "Remove any shell special characters from the package name");
24
- }
25
- return name;
26
- }
27
5
  function sanitizeServiceName(name) {
28
6
  const validServiceName = /^[a-zA-Z0-9][a-zA-Z0-9_.@:-]*$/;
29
7
  if (!validServiceName.test(name)) {
@@ -34,12 +12,6 @@ function sanitizeServiceName(name) {
34
12
  function shellQuote(value) {
35
13
  return `'${String(value).replace(/'/g, `'"'"'`)}'`;
36
14
  }
37
- function powerShellQuote(value) {
38
- return `'${value.replace(/'/g, "''")}'`;
39
- }
40
- function escapeRegExp(value) {
41
- return value.replace(/[\\^$.*+?()[\]{}|]/g, "\\$&");
42
- }
43
15
  function describeError(error) {
44
16
  if (error instanceof Error && error.message) {
45
17
  return error.message;
@@ -54,80 +26,6 @@ function isPermissionError(error) {
54
26
  }
55
27
  return /\b(EACCES|EPERM|permission|permission denied|access denied|operation not permitted)\b/iu.test(describeError(error));
56
28
  }
57
- function getRemoveCommand(pm, packageName) {
58
- switch (pm) {
59
- case "apt":
60
- return `apt-get remove -y ${packageName}`;
61
- case "dnf":
62
- return `dnf remove -y ${packageName}`;
63
- case "yum":
64
- return `yum remove -y ${packageName}`;
65
- case "pacman":
66
- return `pacman -R --noconfirm ${packageName}`;
67
- case "apk":
68
- return `apk del ${packageName}`;
69
- case "zypper":
70
- return `zypper remove -y ${packageName}`;
71
- case "brew":
72
- return `brew uninstall ${packageName}`;
73
- case "winget":
74
- return `winget uninstall --id ${packageName} --exact --silent --accept-source-agreements --disable-interactivity`;
75
- case "choco":
76
- return `choco uninstall ${packageName} -y --no-progress`;
77
- default:
78
- throw createPackageManagerError(`Unsupported package manager: ${pm}`);
79
- }
80
- }
81
- function getInstallCommand(pm, packageName) {
82
- switch (pm) {
83
- case "apt":
84
- return `apt-get update && apt-get install -y ${packageName}`;
85
- case "dnf":
86
- return `dnf install -y ${packageName}`;
87
- case "yum":
88
- return `yum install -y ${packageName}`;
89
- case "pacman":
90
- return `pacman -S --noconfirm ${packageName}`;
91
- case "apk":
92
- return `apk add ${packageName}`;
93
- case "zypper":
94
- return `zypper install -y ${packageName}`;
95
- case "brew":
96
- return `brew install ${packageName}`;
97
- case "winget":
98
- return `winget install --id ${packageName} --exact --silent --accept-source-agreements --accept-package-agreements --disable-interactivity`;
99
- case "choco":
100
- return `choco install ${packageName} -y --no-progress`;
101
- default:
102
- throw createPackageManagerError(`Unsupported package manager: ${pm}`);
103
- }
104
- }
105
- function getPackageCheckCommand(pm, packageName) {
106
- switch (pm) {
107
- case "apt":
108
- return `dpkg -l ${packageName} | grep -q '^ii'`;
109
- case "dnf":
110
- case "yum":
111
- return `${pm} list installed ${packageName}`;
112
- case "pacman":
113
- return `pacman -Q ${packageName}`;
114
- case "apk":
115
- return `apk info -e ${packageName}`;
116
- case "zypper":
117
- return `zypper se -i ${packageName}`;
118
- case "brew":
119
- return `brew list --versions ${packageName}`;
120
- case "winget":
121
- return `$idPattern = ${powerShellQuote(`(^|\\s)${escapeRegExp(packageName)}(\\s|$)`)}; $package = winget list --id ${powerShellQuote(packageName)} --exact --disable-interactivity; if ($LASTEXITCODE -eq 0 -and ($package -match $idPattern)) { exit 0 } exit 1`;
122
- case "choco":
123
- return `$package = choco list --exact ${powerShellQuote(packageName)} --limit-output; if ($LASTEXITCODE -eq 0 -and ($package -like ${powerShellQuote(`${packageName}|*`)})) { exit 0 } exit 1`;
124
- default:
125
- return undefined;
126
- }
127
- }
128
- function usesDirectPackageCommand(pm) {
129
- return pm === "brew" || pm === "winget" || pm === "choco";
130
- }
131
29
  export function createEnsureService({ sessionManager, processService, fsService, }) {
132
30
  async function checkPackageInstalled(sessionId, packageName, pm) {
133
31
  const checkCommand = getPackageCheckCommand(pm, packageName);
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { SFTPWrapper, Stats, FileEntry } from "ssh2";
2
+ /**
3
+ * Check whether a session has an active SFTP subsystem.
4
+ */
5
+ export declare function hasSftp(session: {
6
+ sftp?: unknown;
7
+ } | undefined): boolean;
8
+ /**
9
+ * Get the SFTP wrapper from a session or throw if unavailable.
10
+ */
11
+ export declare function getSftpOrThrow(session: {
12
+ sftp?: SFTPWrapper;
13
+ }): SFTPWrapper;
14
+ /**
15
+ * Read a file via SFTP.
16
+ */
17
+ export declare function sftpReadFile(sftp: SFTPWrapper, path: string): Promise<Buffer>;
18
+ /**
19
+ * Write a file via SFTP.
20
+ */
21
+ export declare function sftpWriteFile(sftp: SFTPWrapper, path: string, data: Buffer): Promise<void>;
22
+ /**
23
+ * Stat a path via SFTP.
24
+ */
25
+ export declare function sftpStat(sftp: SFTPWrapper, path: string): Promise<Stats>;
26
+ /**
27
+ * Read directory entries via SFTP.
28
+ */
29
+ export declare function sftpReaddir(sftp: SFTPWrapper, path: string): Promise<FileEntry[]>;
30
+ /**
31
+ * Create a directory via SFTP.
32
+ */
33
+ export declare function sftpMkdir(sftp: SFTPWrapper, path: string): Promise<void>;
34
+ /**
35
+ * Remove a directory via SFTP.
36
+ */
37
+ export declare function sftpRmdir(sftp: SFTPWrapper, path: string): Promise<void>;
38
+ /**
39
+ * Delete a file via SFTP.
40
+ */
41
+ export declare function sftpUnlink(sftp: SFTPWrapper, path: string): Promise<void>;
42
+ /**
43
+ * Rename a file via SFTP.
44
+ */
45
+ export declare function sftpRename(sftp: SFTPWrapper, oldPath: string, newPath: string): Promise<void>;
46
+ /**
47
+ * Change file mode via SFTP.
48
+ */
49
+ export declare function sftpChmod(sftp: SFTPWrapper, path: string, mode: number): Promise<void>;
50
+ /**
51
+ * Recursively create directories via SFTP.
52
+ */
53
+ export declare function sftpMkdirRecursive(sftp: SFTPWrapper, dirPath: string): Promise<void>;
54
+ /**
55
+ * Recursively remove a directory and its contents via SFTP.
56
+ */
57
+ export declare function sftpRmdirRecursive(sftp: SFTPWrapper, dirPath: string): Promise<void>;
58
+ //# sourceMappingURL=fs-sftp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-sftp.d.ts","sourceRoot":"","sources":["../src/fs-sftp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1D;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAM3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAUjF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7F;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB1F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1F"}
@@ -0,0 +1,184 @@
1
+ import { createFilesystemError } from "./errors.js";
2
+ /**
3
+ * Check whether a session has an active SFTP subsystem.
4
+ */
5
+ export function hasSftp(session) {
6
+ return !!session?.sftp;
7
+ }
8
+ /**
9
+ * Get the SFTP wrapper from a session or throw if unavailable.
10
+ */
11
+ export function getSftpOrThrow(session) {
12
+ if (!session.sftp) {
13
+ throw createFilesystemError("SFTP subsystem is unavailable for this session");
14
+ }
15
+ return session.sftp;
16
+ }
17
+ /**
18
+ * Read a file via SFTP.
19
+ */
20
+ export function sftpReadFile(sftp, path) {
21
+ return new Promise((resolve, reject) => {
22
+ sftp.readFile(path, (err, data) => {
23
+ if (err) {
24
+ reject(err);
25
+ return;
26
+ }
27
+ resolve(data);
28
+ });
29
+ });
30
+ }
31
+ /**
32
+ * Write a file via SFTP.
33
+ */
34
+ export function sftpWriteFile(sftp, path, data) {
35
+ return new Promise((resolve, reject) => {
36
+ sftp.writeFile(path, data, {}, (err) => {
37
+ if (err) {
38
+ reject(err);
39
+ return;
40
+ }
41
+ resolve();
42
+ });
43
+ });
44
+ }
45
+ /**
46
+ * Stat a path via SFTP.
47
+ */
48
+ export function sftpStat(sftp, path) {
49
+ return new Promise((resolve, reject) => {
50
+ sftp.stat(path, (err, stats) => {
51
+ if (err) {
52
+ reject(err);
53
+ return;
54
+ }
55
+ resolve(stats);
56
+ });
57
+ });
58
+ }
59
+ /**
60
+ * Read directory entries via SFTP.
61
+ */
62
+ export function sftpReaddir(sftp, path) {
63
+ return new Promise((resolve, reject) => {
64
+ sftp.readdir(path, (err, list) => {
65
+ if (err) {
66
+ reject(err);
67
+ return;
68
+ }
69
+ resolve(list);
70
+ });
71
+ });
72
+ }
73
+ /**
74
+ * Create a directory via SFTP.
75
+ */
76
+ export function sftpMkdir(sftp, path) {
77
+ return new Promise((resolve, reject) => {
78
+ sftp.mkdir(path, (err) => {
79
+ if (err) {
80
+ reject(err);
81
+ return;
82
+ }
83
+ resolve();
84
+ });
85
+ });
86
+ }
87
+ /**
88
+ * Remove a directory via SFTP.
89
+ */
90
+ export function sftpRmdir(sftp, path) {
91
+ return new Promise((resolve, reject) => {
92
+ sftp.rmdir(path, (err) => {
93
+ if (err) {
94
+ reject(err);
95
+ return;
96
+ }
97
+ resolve();
98
+ });
99
+ });
100
+ }
101
+ /**
102
+ * Delete a file via SFTP.
103
+ */
104
+ export function sftpUnlink(sftp, path) {
105
+ return new Promise((resolve, reject) => {
106
+ sftp.unlink(path, (err) => {
107
+ if (err) {
108
+ reject(err);
109
+ return;
110
+ }
111
+ resolve();
112
+ });
113
+ });
114
+ }
115
+ /**
116
+ * Rename a file via SFTP.
117
+ */
118
+ export function sftpRename(sftp, oldPath, newPath) {
119
+ return new Promise((resolve, reject) => {
120
+ sftp.rename(oldPath, newPath, (err) => {
121
+ if (err) {
122
+ reject(err);
123
+ return;
124
+ }
125
+ resolve();
126
+ });
127
+ });
128
+ }
129
+ /**
130
+ * Change file mode via SFTP.
131
+ */
132
+ export function sftpChmod(sftp, path, mode) {
133
+ return new Promise((resolve, reject) => {
134
+ sftp.chmod(path, mode, (err) => {
135
+ if (err) {
136
+ reject(err);
137
+ return;
138
+ }
139
+ resolve();
140
+ });
141
+ });
142
+ }
143
+ /**
144
+ * Recursively create directories via SFTP.
145
+ */
146
+ export async function sftpMkdirRecursive(sftp, dirPath) {
147
+ const parts = dirPath.split("/").filter((part) => part);
148
+ let currentPath = dirPath.startsWith("/") ? "" : ".";
149
+ for (const part of parts) {
150
+ currentPath = currentPath === "" ? `/${part}` : `${currentPath}/${part}`;
151
+ try {
152
+ await sftpStat(sftp, currentPath);
153
+ }
154
+ catch {
155
+ try {
156
+ await sftpMkdir(sftp, currentPath);
157
+ }
158
+ catch (mkdirErr) {
159
+ if (mkdirErr?.code !== 4) {
160
+ throw mkdirErr;
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Recursively remove a directory and its contents via SFTP.
168
+ */
169
+ export async function sftpRmdirRecursive(sftp, dirPath) {
170
+ const entries = await sftpReaddir(sftp, dirPath);
171
+ for (const entry of entries) {
172
+ const entryPath = `${dirPath}/${entry.filename}`;
173
+ const mode = entry.attrs.mode ?? 0;
174
+ const isDir = (mode & 0o170000) === 0o040000;
175
+ if (isDir) {
176
+ await sftpRmdirRecursive(sftp, entryPath);
177
+ }
178
+ else {
179
+ await sftpUnlink(sftp, entryPath);
180
+ }
181
+ }
182
+ await sftpRmdir(sftp, dirPath);
183
+ }
184
+ //# sourceMappingURL=fs-sftp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-sftp.js","sourceRoot":"","sources":["../src/fs-sftp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fs-tools.d.ts","sourceRoot":"","sources":["../src/fs-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,CAAC;IAC3F,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC;IAChE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;CAC7C;AAqLD,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAO,EACP,MAAM,EACN,MAAM,GACP,EAAE,aAAa,GAAG,SAAS,CAmiB3B"}
1
+ {"version":3,"file":"fs-tools.d.ts","sourceRoot":"","sources":["../src/fs-tools.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,CAAC;IAC3F,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC;IAChE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;CAC7C;AAuBD,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAO,EACP,MAAM,EACN,MAAM,GACP,EAAE,aAAa,GAAG,SAAS,CAmiB3B"}