ssh-mcp-pro 1.1.3 → 1.1.5

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 (72) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +10 -2
  3. package/REGISTRY_SUBMISSION.md +3 -3
  4. package/dist/agent-bin.js +0 -0
  5. package/dist/config-parsers.d.ts +5 -0
  6. package/dist/config-parsers.d.ts.map +1 -1
  7. package/dist/config-parsers.js +26 -0
  8. package/dist/config-parsers.js.map +1 -1
  9. package/dist/config.d.ts +1 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +7 -1
  12. package/dist/config.js.map +1 -1
  13. package/dist/connector-profile.d.ts.map +1 -1
  14. package/dist/connector-profile.js +2 -2
  15. package/dist/connector-profile.js.map +1 -1
  16. package/dist/ensure.d.ts.map +1 -1
  17. package/dist/ensure.js +3 -2
  18. package/dist/ensure.js.map +1 -1
  19. package/dist/http-session-registry.d.ts +35 -0
  20. package/dist/http-session-registry.d.ts.map +1 -0
  21. package/dist/http-session-registry.js +96 -0
  22. package/dist/http-session-registry.js.map +1 -0
  23. package/dist/index.js +0 -0
  24. package/dist/mcp.d.ts +1 -1
  25. package/dist/mcp.js +1 -1
  26. package/dist/remote/control-plane.d.ts.map +1 -1
  27. package/dist/remote/control-plane.js +25 -3
  28. package/dist/remote/control-plane.js.map +1 -1
  29. package/dist/remote/oauth-handler.d.ts +2 -0
  30. package/dist/remote/oauth-handler.d.ts.map +1 -1
  31. package/dist/remote/oauth-handler.js +62 -1
  32. package/dist/remote/oauth-handler.js.map +1 -1
  33. package/dist/remote/store.d.ts +1 -0
  34. package/dist/remote/store.d.ts.map +1 -1
  35. package/dist/remote/store.js +5 -0
  36. package/dist/remote/store.js.map +1 -1
  37. package/dist/server-http.js +25 -35
  38. package/dist/server-http.js.map +1 -1
  39. package/dist/session.d.ts +25 -1
  40. package/dist/session.d.ts.map +1 -1
  41. package/dist/session.js +80 -5
  42. package/dist/session.js.map +1 -1
  43. package/dist/tools/connector.provider.d.ts.map +1 -1
  44. package/dist/tools/connector.provider.js +3 -2
  45. package/dist/tools/connector.provider.js.map +1 -1
  46. package/dist/tools/index.d.ts.map +1 -1
  47. package/dist/tools/index.js +1 -0
  48. package/dist/tools/index.js.map +1 -1
  49. package/dist/tools/output-schemas.d.ts.map +1 -1
  50. package/dist/tools/output-schemas.js +1 -0
  51. package/dist/tools/output-schemas.js.map +1 -1
  52. package/dist/tools/process.provider.d.ts +2 -0
  53. package/dist/tools/process.provider.d.ts.map +1 -1
  54. package/dist/tools/process.provider.js +60 -1
  55. package/dist/tools/process.provider.js.map +1 -1
  56. package/dist/tools/system.provider.d.ts +13 -0
  57. package/dist/tools/system.provider.d.ts.map +1 -1
  58. package/dist/tools/system.provider.js +304 -2
  59. package/dist/tools/system.provider.js.map +1 -1
  60. package/dist/tunnel.d.ts.map +1 -1
  61. package/dist/tunnel.js +46 -9
  62. package/dist/tunnel.js.map +1 -1
  63. package/dist/types.d.ts +39 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js +34 -0
  66. package/dist/types.js.map +1 -1
  67. package/docs/adding-a-device.md +127 -0
  68. package/docs/remote-mcp-hardening.md +49 -0
  69. package/mcp.json +1 -1
  70. package/package.json +68 -63
  71. package/registry/ssh-mcp-pro/mcp.json +1 -1
  72. package/server.json +3 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.4](https://github.com/oaslananka/ssh-mcp-pro/compare/ssh-mcp-pro-v1.1.3...ssh-mcp-pro-v1.1.4) (2026-06-16)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * harden ssh automation release and runtime paths ([d1d9faf](https://github.com/oaslananka/ssh-mcp-pro/commit/d1d9fafd286e0b0019f0957a06eb3f08d16ad576))
14
+
8
15
  ## [1.1.3](https://github.com/oaslananka/ssh-mcp-pro/compare/ssh-mcp-pro-v1.1.2...ssh-mcp-pro-v1.1.3) (2026-06-11)
9
16
 
10
17
 
package/README.md CHANGED
@@ -6,6 +6,12 @@
6
6
 
7
7
  # ssh-mcp-pro
8
8
 
9
+ <p align="center">
10
+ <a href="https://www.buymeacoffee.com/oaslananka">
11
+ <img src="https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20coffee&emoji=%E2%98%95&slug=oaslananka&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff" alt="Buy me a coffee" />
12
+ </a>
13
+ </p>
14
+
9
15
  ssh-mcp-pro is a secure Model Context Protocol (MCP) server for SSH automation. It lets MCP-capable clients open SSH sessions, inspect hosts, run guarded commands, manage files, transfer artifacts, create tunnels, and perform idempotent package or service work through policy-controlled tools.
10
16
 
11
17
  ## Prerequisites
@@ -155,8 +161,8 @@ All `SSH_MCP_*` environment variables parsed by `src/config.ts` are listed below
155
161
  | `SSH_MCP_HTTP_BEARER_TOKEN_FILE` | unset | Bearer token file for HTTP transport. Required for non-loopback bearer deployments. |
156
162
  | `SSH_MCP_ENABLE_LEGACY_SSE` | `false` | Enables legacy SSE compatibility. |
157
163
  | `SSH_MCP_HTTP_MAX_REQUEST_BODY_BYTES` | `1048576` | Maximum HTTP request body size. |
158
- | `SSH_MCP_HTTP_MAX_SESSIONS` | `20` | Maximum HTTP MCP sessions. |
159
- | `SSH_MCP_HTTP_SESSION_IDLE_TTL_MS` | `900000` | HTTP MCP session idle timeout in milliseconds. |
164
+ | `SSH_MCP_HTTP_MAX_SESSIONS` | `20` | Maximum active Streamable HTTP MCP sessions. Expired sessions are cleaned first; if capacity is still full, the oldest idle session is evicted so abandoned clients do not cause persistent 502s. Use `100` for ChatGPT/Cloudflare production deployments. |
165
+ | `SSH_MCP_HTTP_SESSION_IDLE_TTL_MS` | `900000` | HTTP MCP session idle timeout in milliseconds. Use `300000` for ChatGPT/Cloudflare production deployments where clients may abandon sessions without DELETE. |
160
166
  | `SSH_MCP_HTTP_PUBLIC_URL` | unset | Stable public HTTPS MCP URL for protected resource metadata. |
161
167
  | `SSH_MCP_HTTP_TRUST_PROXY` | `false` | Trust reverse proxy forwarded headers. |
162
168
  | `SSH_MCP_TOOL_PROFILE` | `full` | Active tool exposure profile. |
@@ -172,6 +178,8 @@ All `SSH_MCP_*` environment variables parsed by `src/config.ts` are listed below
172
178
  | `SSH_MCP_OAUTH_JWKS_URL` | unset | OAuth JWKS URL. |
173
179
  | `SSH_MCP_OAUTH_RESOURCE` | unset | OAuth protected resource identifier. |
174
180
  | `SSH_MCP_OAUTH_REQUIRED_SCOPES` | `ssh-mcp-pro.read` | Required OAuth scopes. |
181
+ | `SSH_MCP_OAUTH_ALLOWED_ALGORITHMS` | unset | Optional comma-separated JWT algorithm allowlist, for example `RS256,ES256`. When unset, the built-in OAuth verifier defaults are used. |
182
+ | `SSH_MCP_REMOTE_AGENT_MCP_PASSTHROUGH` | unset | When enabled with `1`, `true`, `yes`, or `on`, lets `/mcp` requests bypass the remote control plane and reach the Streamable HTTP MCP handler. Use only for connector routing migrations. |
175
183
 
176
184
  The parser also accepts non-`SSH_MCP_*` compatibility aliases `PORT`, `KNOWN_HOSTS_PATH`, and `STRICT_HOST_KEY_CHECKING`.
177
185
 
@@ -20,9 +20,9 @@ ssh-mcp-pro
20
20
  - [x] Package metadata declares Linux, macOS, and Windows platforms.
21
21
  - [x] Tool, resource, and prompt capabilities are declared.
22
22
  - [x] `validate:mcp-metadata` checks local metadata consistency without requiring build artifacts.
23
- - [ ] A versioned package has been published to npm.
24
- - [ ] The MCP Registry latest record resolves for `io.github.oaslananka/ssh-mcp-pro`.
25
- - [ ] Registry submission has been verified after the first published release.
23
+ - [x] A versioned package has been published to npm (`ssh-mcp-pro@1.1.4`).
24
+ - [x] The MCP Registry latest record resolves for `io.github.oaslananka/ssh-mcp-pro`.
25
+ - [x] Registry submission has been verified after the first published release.
26
26
 
27
27
  ## Local Validation
28
28
 
package/dist/agent-bin.js CHANGED
File without changes
@@ -8,5 +8,10 @@ export declare function parseList(value: string | undefined): string[];
8
8
  export declare function parseHostKeyPolicy(value: string | undefined, fallback: HostKeyPolicy): HostKeyPolicy;
9
9
  export declare function parseCredentialProvider(value: string | undefined, fallback: ConnectorCredentialProvider): ConnectorCredentialProvider;
10
10
  export declare function parseAuthMode(value: string | undefined, fallback: "bearer" | "oauth"): "bearer" | "oauth";
11
+ /**
12
+ * Check for deprecated environment variables and log migration warnings.
13
+ * Returns a count of warnings issued for testing or reporting.
14
+ */
15
+ export declare function checkDeprecatedEnvVars(): number;
11
16
  export declare function loadPolicyFile(filePath: string | undefined): Partial<PolicyConfig>;
12
17
  //# sourceMappingURL=config-parsers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-parsers.d.ts","sourceRoot":"","sources":["../src/config-parsers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,8BAA8B,uCAAwC,CAAC;AACpF,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAKlF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ7D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,aAAa,GACtB,aAAa,CAKf;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,2BAA2B,GACpC,2BAA2B,CAQ7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAC3B,QAAQ,GAAG,OAAO,CAEpB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBlF"}
1
+ {"version":3,"file":"config-parsers.d.ts","sourceRoot":"","sources":["../src/config-parsers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,8BAA8B,uCAAwC,CAAC;AACpF,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAKlF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ7D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,aAAa,GACtB,aAAa,CAKf;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,2BAA2B,GACpC,2BAA2B,CAQ7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAC3B,QAAQ,GAAG,OAAO,CAEpB;AAcD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAY/C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBlF"}
@@ -41,6 +41,32 @@ export function parseCredentialProvider(value, fallback) {
41
41
  export function parseAuthMode(value, fallback) {
42
42
  return value === "oauth" || value === "bearer" ? value : fallback;
43
43
  }
44
+ /**
45
+ * Map of deprecated environment variable names to their replacements.
46
+ * Keys are deprecated names, values are the recommended replacements.
47
+ */
48
+ const DEPRECATED_ENV_VARS = {
49
+ PORT: "SSH_MCP_HTTP_PORT",
50
+ KNOWN_HOSTS_PATH: "SSH_MCP_KNOWN_HOSTS_PATH",
51
+ STRICT_HOST_KEY_CHECKING: "SSH_MCP_HOST_KEY_POLICY",
52
+ SSH_MCP_STRICT_HOST_KEY: "SSH_MCP_HOST_KEY_POLICY",
53
+ SSH_MCP_CONNECTOR_PROFILE: "SSH_MCP_TOOL_PROFILE",
54
+ };
55
+ /**
56
+ * Check for deprecated environment variables and log migration warnings.
57
+ * Returns a count of warnings issued for testing or reporting.
58
+ */
59
+ export function checkDeprecatedEnvVars() {
60
+ let count = 0;
61
+ for (const [oldName, newName] of Object.entries(DEPRECATED_ENV_VARS)) {
62
+ if (process.env[oldName] !== undefined) {
63
+ logger.warn(`Environment variable ${oldName} is deprecated. Use ${newName} instead. ` +
64
+ `Support for ${oldName} will be removed in a future release.`);
65
+ count++;
66
+ }
67
+ }
68
+ return count;
69
+ }
44
70
  export function loadPolicyFile(filePath) {
45
71
  if (!filePath) {
46
72
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"config-parsers.js","sourceRoot":"","sources":["../src/config-parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAGpF,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,QAAiB;IACvE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,QAAgB;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK;SACT,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAyB,EACzB,QAAuB;IAEvB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAyB,EACzB,QAAqC;IAErC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,8BAA8B,CAAC,QAAQ,CAAC,KAAoC,CAAC,EAAE,CAAC;QAClF,OAAO,KAAoC,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAyB,EACzB,QAA4B;IAE5B,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAA4B;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;YAC/D,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,KACrC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config-parsers.js","sourceRoot":"","sources":["../src/config-parsers.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -78,6 +78,7 @@ export interface ServerConfig {
78
78
  oauthJwksUrl?: string;
79
79
  oauthResource?: string;
80
80
  oauthRequiredScopes: string[];
81
+ oauthAllowedAlgorithms: string[];
81
82
  };
82
83
  }
83
84
  export declare const DEFAULT_CONFIG: ServerConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as os from "node:os";
2
2
  import * as path from "node:path";
3
3
  import { logger } from "./logging.js";
4
- import { CONNECTOR_CREDENTIAL_PROVIDERS, parseBoolean, parseHostKeyPolicy, parseInteger, parseList, loadPolicyFile, parseAuthMode, parseCredentialProvider, } from "./config-parsers.js";
4
+ import { CONNECTOR_CREDENTIAL_PROVIDERS, parseBoolean, parseHostKeyPolicy, parseInteger, parseList, loadPolicyFile, parseAuthMode, parseCredentialProvider, checkDeprecatedEnvVars, } from "./config-parsers.js";
5
5
  /** @deprecated Import from config-parsers.js directly */
6
6
  export { CONNECTOR_CREDENTIAL_PROVIDERS };
7
7
  import { parseToolProfile } from "./connector-profile.js";
@@ -71,6 +71,7 @@ export const DEFAULT_CONFIG = {
71
71
  auth: {
72
72
  mode: "bearer",
73
73
  oauthRequiredScopes: ["ssh-mcp-pro.read"],
74
+ oauthAllowedAlgorithms: [],
74
75
  },
75
76
  };
76
77
  /**
@@ -95,6 +96,8 @@ export class ConfigManager {
95
96
  allowedCiphers: [...DEFAULT_CONFIG.security.allowedCiphers],
96
97
  },
97
98
  };
99
+ // Check for deprecated environment variables and warn
100
+ checkDeprecatedEnvVars();
98
101
  // Apply environment variable overrides
99
102
  config.maxSessions = parseInteger(process.env.SSH_MCP_MAX_SESSIONS, config.maxSessions);
100
103
  config.sessionTtlMs = parseInteger(process.env.SSH_MCP_SESSION_TTL, config.sessionTtlMs);
@@ -220,6 +223,9 @@ export class ConfigManager {
220
223
  oauthRequiredScopes: parseList(process.env.SSH_MCP_OAUTH_REQUIRED_SCOPES).length
221
224
  ? parseList(process.env.SSH_MCP_OAUTH_REQUIRED_SCOPES)
222
225
  : config.auth.oauthRequiredScopes,
226
+ oauthAllowedAlgorithms: parseList(process.env.SSH_MCP_OAUTH_ALLOWED_ALGORITHMS).length
227
+ ? parseList(process.env.SSH_MCP_OAUTH_ALLOWED_ALGORITHMS)
228
+ : config.auth.oauthAllowedAlgorithms,
223
229
  };
224
230
  // Apply programmatic overrides last
225
231
  const security = {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connector-profile.d.ts","sourceRoot":"","sources":["../src/connector-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,aAAa,2FAOhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAczD,eAAO,MAAM,mBAAmB,aAAoB,CAAC;AACrD,eAAO,MAAM,kBAAkB,aAAoB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAO9D,CAAC;AAoBF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,CAQ9F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,CAMjF;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,iBAKvF;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAEtF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,WAAW,yBAK3F;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAErF"}
1
+ {"version":3,"file":"connector-profile.d.ts","sourceRoot":"","sources":["../src/connector-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,aAAa,2FAOhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAczD,eAAO,MAAM,mBAAmB,aAE/B,CAAC;AACF,eAAO,MAAM,kBAAkB,aAE9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAO9D,CAAC;AAoBF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,CAQ9F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,CAMjF;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,iBAKvF;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAEtF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,WAAW,yBAK3F;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAErF"}
@@ -16,8 +16,8 @@ const REMOTE_CONNECTOR_TOOL_NAMES = [
16
16
  function createRemoteConnectorToolSet() {
17
17
  return new Set(REMOTE_CONNECTOR_TOOL_NAMES);
18
18
  }
19
- export const CHATGPT_EXTRA_TOOLS = new Set();
20
- export const CLAUDE_EXTRA_TOOLS = new Set();
19
+ export const CHATGPT_EXTRA_TOOLS = new Set((process.env.SSH_MCP_CHATGPT_EXTRA_TOOLS ?? "").split(",").filter(Boolean));
20
+ export const CLAUDE_EXTRA_TOOLS = new Set((process.env.SSH_MCP_CLAUDE_EXTRA_TOOLS ?? "").split(",").filter(Boolean));
21
21
  export const PROFILE_TOOL_SETS = {
22
22
  full: new Set(),
23
23
  "remote-safe": createRemoteConnectorToolSet(),
@@ -1 +1 @@
1
- {"version":3,"file":"connector-profile.js","sourceRoot":"","sources":["../src/connector-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-profile.js","sourceRoot":"","sources":["../src/connector-profile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../src/ensure.ts"],"names":[],"mappings":"AAiBA,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,3 +1,4 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { createBadRequestError, createPackageManagerError, createSudoError, createFilesystemError, createPatchError, } from "./errors.js";
2
3
  import { logger } from "./logging.js";
3
4
  import { SUPPORTED_PACKAGE_MANAGERS_HINT, sanitizePackageName, getRemoveCommand, getInstallCommand, getPackageCheckCommand, usesDirectPackageCommand, } from "./ensure-pkg.js";
@@ -278,7 +279,7 @@ export function createEnsureService({ sessionManager, processService, fsService,
278
279
  }
279
280
  const tempDir = resolveRemoteTempDir(osInfo);
280
281
  const baseTempDir = tempDir.replace(/\/+$/, "");
281
- const tempFile = `${baseTempDir}/ssh-mcp-${Date.now()}.tmp`;
282
+ const tempFile = `${baseTempDir}/ssh-mcp-${randomUUID()}.tmp`;
282
283
  try {
283
284
  await fsService.writeFile(sessionId, tempFile, content);
284
285
  }
@@ -365,7 +366,7 @@ export function createEnsureService({ sessionManager, processService, fsService,
365
366
  }
366
367
  const tempDir = resolveRemoteTempDir(osInfo);
367
368
  const baseTempDir = tempDir.replace(/\/+$/, "");
368
- const tempPatchFile = `${baseTempDir}/ssh-mcp-patch-${Date.now()}.patch`;
369
+ const tempPatchFile = `${baseTempDir}/ssh-mcp-patch-${randomUUID()}.patch`;
369
370
  await fsService.writeFile(sessionId, tempPatchFile, diff);
370
371
  try {
371
372
  const testResult = await processService.execCommand(sessionId, `patch --dry-run -p0 ${shellQuote(filePath)} < ${shellQuote(tempPatchFile)}`);
@@ -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,35 @@
1
+ export interface HttpSessionRecord {
2
+ lastSeenAt: number;
3
+ }
4
+ export interface HttpSessionRegistryOptions<TSession extends HttpSessionRecord> {
5
+ maxSessions: number;
6
+ sessionIdleTtlMs: number;
7
+ now?: () => number;
8
+ onClose?: (sessionId: string, session: TSession, reason: string) => void;
9
+ }
10
+ export interface HttpSessionCapacityResult {
11
+ allowed: boolean;
12
+ evictedSessionId?: string;
13
+ reason?: "capacity-evict-oldest" | "capacity-full";
14
+ }
15
+ export declare class HttpSessionRegistry<TSession extends HttpSessionRecord> {
16
+ private readonly sessions;
17
+ private readonly maxSessions;
18
+ private readonly sessionIdleTtlMs;
19
+ private readonly now;
20
+ private readonly onClose;
21
+ constructor(options: HttpSessionRegistryOptions<TSession>);
22
+ get size(): number;
23
+ set(sessionId: string, session: TSession): void;
24
+ get(sessionId: string | undefined): TSession | undefined;
25
+ entries(): IterableIterator<[string, TSession]>;
26
+ delete(sessionId: string): boolean;
27
+ clear(): void;
28
+ isExpired(session: TSession, now?: number): boolean;
29
+ close(sessionId: string, reason: string): boolean;
30
+ getActive(sessionId: string | undefined): TSession | undefined;
31
+ cleanupExpired(): number;
32
+ evictOldest(reason?: string): string | undefined;
33
+ reserveCapacity(): HttpSessionCapacityResult;
34
+ }
35
+ //# sourceMappingURL=http-session-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-session-registry.d.ts","sourceRoot":"","sources":["../src/http-session-registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B,CAAC,QAAQ,SAAS,iBAAiB;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,uBAAuB,GAAG,eAAe,CAAC;CACpD;AAED,qBAAa,mBAAmB,CAAC,QAAQ,SAAS,iBAAiB;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEV;gBAEF,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC;IAOzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;IAI/C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS;IAOxD,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAI/C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlC,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAa,GAAG,OAAO;IAIvD,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAWjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS;IAe9D,cAAc,IAAI,MAAM;IAYxB,WAAW,CAAC,MAAM,SAA0B,GAAG,MAAM,GAAG,SAAS;IAmBjE,eAAe,IAAI,yBAAyB;CAa7C"}
@@ -0,0 +1,96 @@
1
+ export class HttpSessionRegistry {
2
+ sessions = new Map();
3
+ maxSessions;
4
+ sessionIdleTtlMs;
5
+ now;
6
+ onClose;
7
+ constructor(options) {
8
+ this.maxSessions = options.maxSessions;
9
+ this.sessionIdleTtlMs = options.sessionIdleTtlMs;
10
+ this.now = options.now ?? Date.now;
11
+ this.onClose = options.onClose;
12
+ }
13
+ get size() {
14
+ return this.sessions.size;
15
+ }
16
+ set(sessionId, session) {
17
+ this.sessions.set(sessionId, session);
18
+ }
19
+ get(sessionId) {
20
+ if (!sessionId) {
21
+ return undefined;
22
+ }
23
+ return this.sessions.get(sessionId);
24
+ }
25
+ entries() {
26
+ return this.sessions.entries();
27
+ }
28
+ delete(sessionId) {
29
+ return this.sessions.delete(sessionId);
30
+ }
31
+ clear() {
32
+ this.sessions.clear();
33
+ }
34
+ isExpired(session, now = this.now()) {
35
+ return now - session.lastSeenAt > this.sessionIdleTtlMs;
36
+ }
37
+ close(sessionId, reason) {
38
+ const session = this.sessions.get(sessionId);
39
+ if (!session) {
40
+ return false;
41
+ }
42
+ this.sessions.delete(sessionId);
43
+ this.onClose?.(sessionId, session, reason);
44
+ return true;
45
+ }
46
+ getActive(sessionId) {
47
+ const session = this.get(sessionId);
48
+ if (!session) {
49
+ return undefined;
50
+ }
51
+ if (this.isExpired(session)) {
52
+ this.close(sessionId, "idle-timeout");
53
+ return undefined;
54
+ }
55
+ session.lastSeenAt = this.now();
56
+ return session;
57
+ }
58
+ cleanupExpired() {
59
+ let closed = 0;
60
+ const now = this.now();
61
+ for (const [sessionId, session] of this.sessions) {
62
+ if (this.isExpired(session, now)) {
63
+ this.close(sessionId, "idle-timeout");
64
+ closed += 1;
65
+ }
66
+ }
67
+ return closed;
68
+ }
69
+ evictOldest(reason = "capacity-evict-oldest") {
70
+ let oldestSessionId;
71
+ let oldestLastSeenAt = Number.POSITIVE_INFINITY;
72
+ for (const [sessionId, session] of this.sessions) {
73
+ if (session.lastSeenAt < oldestLastSeenAt) {
74
+ oldestSessionId = sessionId;
75
+ oldestLastSeenAt = session.lastSeenAt;
76
+ }
77
+ }
78
+ if (!oldestSessionId) {
79
+ return undefined;
80
+ }
81
+ this.close(oldestSessionId, reason);
82
+ return oldestSessionId;
83
+ }
84
+ reserveCapacity() {
85
+ this.cleanupExpired();
86
+ if (this.sessions.size < this.maxSessions) {
87
+ return { allowed: true };
88
+ }
89
+ const evictedSessionId = this.evictOldest("capacity-evict-oldest");
90
+ if (evictedSessionId) {
91
+ return { allowed: true, evictedSessionId, reason: "capacity-evict-oldest" };
92
+ }
93
+ return { allowed: false, reason: "capacity-full" };
94
+ }
95
+ }
96
+ //# sourceMappingURL=http-session-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-session-registry.js","sourceRoot":"","sources":["../src/http-session-registry.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
package/dist/mcp.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
2
2
  import type { AppContainer } from "./container.js";
3
- export declare const SERVER_VERSION = "1.1.3";
3
+ export declare const SERVER_VERSION = "1.1.5";
4
4
  export declare const SERVER_NAME = "io.github.oaslananka/ssh-mcp-pro";
5
5
  export declare class SSHMCPServer {
6
6
  private readonly container;
package/dist/mcp.js CHANGED
@@ -6,7 +6,7 @@ import { listResources, readResource } from "./resources.js";
6
6
  import { getMCPPrompt, listMCPPrompts } from "./prompts.js";
7
7
  import { withSpan } from "./telemetry.js";
8
8
  import { createToolRegistry } from "./tools/index.js";
9
- export const SERVER_VERSION = "1.1.3"; // x-release-please-version
9
+ export const SERVER_VERSION = "1.1.5"; // x-release-please-version
10
10
  export const SERVER_NAME = "io.github.oaslananka/ssh-mcp-pro";
11
11
  function getSessionIdFromArgs(args) {
12
12
  if (typeof args !== "object" || args === null || Array.isArray(args)) {
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/remote/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAMV,YAAY,EAKb,MAAM,YAAY,CAAC;AAKpB,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAC7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;gBAEjC,MAAM,eAAqB;IAuBjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,IAAI,IAAI;IAgBb,OAAO,CAAC,qBAAqB;IAKvB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiD/F,aAAa,CACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO;YAII,SAAS;YAsET,SAAS;YAsDT,iBAAiB;YAsDjB,YAAY;IAiB1B,OAAO,CAAC,gBAAgB;YAWV,cAAc;IA4D5B,OAAO,CAAC,qBAAqB;IAmD7B,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,iBAAiB;IAsDzB,OAAO,CAAC,WAAW;YAkBL,cAAc;IA4H5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,iBAAiB;CAM1B;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAI5E;AAED,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM,CAE/E"}
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/remote/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAMV,YAAY,EAKb,MAAM,YAAY,CAAC;AAKpB,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAC7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;gBAEjC,MAAM,eAAqB;IAuBjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,KAAK,IAAI,IAAI;IAgBb,OAAO,CAAC,qBAAqB;IAKvB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuD/F,aAAa,CACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO;YAII,SAAS;YAwFT,SAAS;YAsDT,iBAAiB;YAsDjB,YAAY;IAiB1B,OAAO,CAAC,gBAAgB;YAWV,cAAc;IA4D5B,OAAO,CAAC,qBAAqB;IAmD7B,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,iBAAiB;IAsDzB,OAAO,CAAC,WAAW;YAkBL,cAAc;IA4H5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,iBAAiB;CAM1B;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAI5E;AAED,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM,CAE/E"}