ssh-mcp-pro 1.1.5 → 1.2.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 (135) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +47 -7
  3. package/SECURITY.md +4 -0
  4. package/SECURITY_DECISIONS.md +32 -1
  5. package/dist/agent-bin.js +0 -0
  6. package/dist/connector-profile.d.ts +19 -2
  7. package/dist/connector-profile.d.ts.map +1 -1
  8. package/dist/connector-profile.js +36 -14
  9. package/dist/connector-profile.js.map +1 -1
  10. package/dist/http-security.d.ts.map +1 -1
  11. package/dist/http-security.js +19 -4
  12. package/dist/http-security.js.map +1 -1
  13. package/dist/http-server-lifecycle.d.ts +17 -0
  14. package/dist/http-server-lifecycle.d.ts.map +1 -0
  15. package/dist/http-server-lifecycle.js +122 -0
  16. package/dist/http-server-lifecycle.js.map +1 -0
  17. package/dist/http-server-router.d.ts +28 -0
  18. package/dist/http-server-router.d.ts.map +1 -0
  19. package/dist/http-server-router.js +108 -0
  20. package/dist/http-server-router.js.map +1 -0
  21. package/dist/http-server-runtime.d.ts +21 -0
  22. package/dist/http-server-runtime.d.ts.map +1 -0
  23. package/dist/http-server-runtime.js +415 -0
  24. package/dist/http-server-runtime.js.map +1 -0
  25. package/dist/http-session-registry.d.ts.map +1 -1
  26. package/dist/http-session-registry.js.map +1 -1
  27. package/dist/index.js +12 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp.d.ts +1 -1
  30. package/dist/mcp.js +1 -1
  31. package/dist/prompts.d.ts +2 -11
  32. package/dist/prompts.d.ts.map +1 -1
  33. package/dist/prompts.js +8 -1
  34. package/dist/prompts.js.map +1 -1
  35. package/dist/remote/agent-cli.d.ts.map +1 -1
  36. package/dist/remote/agent-cli.js +20 -1
  37. package/dist/remote/agent-cli.js.map +1 -1
  38. package/dist/remote/agent-connection-lifecycle.d.ts +47 -0
  39. package/dist/remote/agent-connection-lifecycle.d.ts.map +1 -0
  40. package/dist/remote/agent-connection-lifecycle.js +304 -0
  41. package/dist/remote/agent-connection-lifecycle.js.map +1 -0
  42. package/dist/remote/agent-executor.d.ts.map +1 -1
  43. package/dist/remote/agent-executor.js +89 -67
  44. package/dist/remote/agent-executor.js.map +1 -1
  45. package/dist/remote/agent-handler.d.ts +22 -8
  46. package/dist/remote/agent-handler.d.ts.map +1 -1
  47. package/dist/remote/agent-handler.js +151 -98
  48. package/dist/remote/agent-handler.js.map +1 -1
  49. package/dist/remote/config.d.ts.map +1 -1
  50. package/dist/remote/config.js +14 -0
  51. package/dist/remote/config.js.map +1 -1
  52. package/dist/remote/control-plane.d.ts.map +1 -1
  53. package/dist/remote/control-plane.js +16 -0
  54. package/dist/remote/control-plane.js.map +1 -1
  55. package/dist/remote/oauth-handler.d.ts +6 -0
  56. package/dist/remote/oauth-handler.d.ts.map +1 -1
  57. package/dist/remote/oauth-handler.js +61 -1
  58. package/dist/remote/oauth-handler.js.map +1 -1
  59. package/dist/remote/policy-update-guard.d.ts +14 -0
  60. package/dist/remote/policy-update-guard.d.ts.map +1 -0
  61. package/dist/remote/policy-update-guard.js +27 -0
  62. package/dist/remote/policy-update-guard.js.map +1 -0
  63. package/dist/remote/policy.d.ts.map +1 -1
  64. package/dist/remote/policy.js +13 -2
  65. package/dist/remote/policy.js.map +1 -1
  66. package/dist/remote/safe-file.d.ts +6 -0
  67. package/dist/remote/safe-file.d.ts.map +1 -0
  68. package/dist/remote/safe-file.js +192 -0
  69. package/dist/remote/safe-file.js.map +1 -0
  70. package/dist/remote/store.d.ts.map +1 -1
  71. package/dist/remote/store.js.map +1 -1
  72. package/dist/remote/types.d.ts +5 -0
  73. package/dist/remote/types.d.ts.map +1 -1
  74. package/dist/remote/websocket.d.ts +38 -13
  75. package/dist/remote/websocket.d.ts.map +1 -1
  76. package/dist/remote/websocket.js +90 -126
  77. package/dist/remote/websocket.js.map +1 -1
  78. package/dist/render-http.js +2 -1
  79. package/dist/render-http.js.map +1 -1
  80. package/dist/resources.d.ts +2 -7
  81. package/dist/resources.d.ts.map +1 -1
  82. package/dist/resources.js.map +1 -1
  83. package/dist/retry.d.ts.map +1 -1
  84. package/dist/retry.js +4 -2
  85. package/dist/retry.js.map +1 -1
  86. package/dist/server-http.d.ts +1 -1
  87. package/dist/server-http.d.ts.map +1 -1
  88. package/dist/server-http.js +1 -421
  89. package/dist/server-http.js.map +1 -1
  90. package/dist/session.d.ts +4 -0
  91. package/dist/session.d.ts.map +1 -1
  92. package/dist/session.js +38 -15
  93. package/dist/session.js.map +1 -1
  94. package/dist/tools/connector.provider.d.ts.map +1 -1
  95. package/dist/tools/connector.provider.js +2 -1
  96. package/dist/tools/connector.provider.js.map +1 -1
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js.map +1 -1
  99. package/docs/agent-runtime-config.md +34 -0
  100. package/docs/development/api-stability.md +44 -0
  101. package/docs/development/coding-standards.md +41 -0
  102. package/docs/development/commit-conventions.md +35 -0
  103. package/docs/development/dependency-management.md +60 -0
  104. package/docs/development/deprecation-policy.md +29 -0
  105. package/docs/development/local-setup.md +46 -0
  106. package/docs/development/release-process.md +31 -0
  107. package/docs/development/testing-policy.md +47 -0
  108. package/docs/explanation/architecture.md +44 -0
  109. package/docs/how-to/README.md +14 -0
  110. package/docs/how-to/configure-ssh-policy.md +50 -0
  111. package/docs/openssf-evidence.md +75 -0
  112. package/docs/openssf-gap-analysis.md +63 -0
  113. package/docs/openssf-proposal-links.md +37 -0
  114. package/docs/professionalization-plan.md +81 -0
  115. package/docs/reference/README.md +21 -0
  116. package/docs/reference/cli.md +41 -0
  117. package/docs/reference/compatibility.md +46 -0
  118. package/docs/reference/configuration.md +72 -0
  119. package/docs/remote-mcp-hardening.md +27 -0
  120. package/docs/repo-maturity-report.md +565 -0
  121. package/docs/security/assurance-case.md +58 -0
  122. package/docs/security/dependency-audit-exceptions.json +4 -0
  123. package/docs/security/dependency-audit-exceptions.md +15 -0
  124. package/docs/security/input-validation.md +54 -0
  125. package/docs/security/release-integrity.md +28 -0
  126. package/docs/security/scanning-policy.md +50 -0
  127. package/docs/security/secrets-management.md +49 -0
  128. package/docs/security/threat-model.md +65 -0
  129. package/docs/testing.md +24 -0
  130. package/docs/troubleshooting.md +56 -0
  131. package/docs/tutorials/getting-started.md +84 -0
  132. package/mcp.json +1 -1
  133. package/package.json +86 -70
  134. package/registry/ssh-mcp-pro/mcp.json +1 -1
  135. package/server.json +3 -3
@@ -0,0 +1,192 @@
1
+ import { constants } from "node:fs";
2
+ import { randomUUID } from "node:crypto";
3
+ import { open, realpath, rename, stat, unlink } from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { isPathAllowed } from "./policy.js";
6
+ const NO_FOLLOW = typeof constants.O_NOFOLLOW === "number" ? constants.O_NOFOLLOW : 0;
7
+ const DIRECTORY_ONLY = typeof constants.O_DIRECTORY === "number" ? constants.O_DIRECTORY : 0;
8
+ const OWNER_READ_WRITE = constants.S_IRUSR | constants.S_IWUSR;
9
+ function codedError(message, code) {
10
+ return Object.assign(new Error(message), { code });
11
+ }
12
+ function policyDenied(message) {
13
+ return codedError(message, "POLICY_DENIED");
14
+ }
15
+ function operationFailed(message) {
16
+ return codedError(message, "INTERNAL_ERROR");
17
+ }
18
+ function errorCode(error) {
19
+ return error && typeof error === "object" && "code" in error
20
+ ? String(error.code)
21
+ : undefined;
22
+ }
23
+ function sameFileIdentity(opened, resolved) {
24
+ return opened.dev === resolved.dev && opened.ino === resolved.ino;
25
+ }
26
+ async function closeQuietly(handle) {
27
+ if (!handle) {
28
+ return;
29
+ }
30
+ try {
31
+ await handle.close();
32
+ }
33
+ catch {
34
+ // The operation result is already known; closing must not expose host details.
35
+ }
36
+ }
37
+ function assertRequestedPath(policy, requestedPath, message) {
38
+ if (!requestedPath || !isPathAllowed(policy, requestedPath)) {
39
+ throw policyDenied(message);
40
+ }
41
+ }
42
+ async function openedCanonicalPath(handle, expectedPath) {
43
+ if (process.platform === "linux") {
44
+ return await realpath(`/proc/self/fd/${handle.fd}`);
45
+ }
46
+ return await realpath(expectedPath);
47
+ }
48
+ async function verifyOpenedHandle(policy, handle, expectedPath, expectedType, message) {
49
+ try {
50
+ const openedPath = await openedCanonicalPath(handle, expectedPath);
51
+ if (!isPathAllowed(policy, openedPath)) {
52
+ throw policyDenied(message);
53
+ }
54
+ const [openedStats, resolvedStats] = await Promise.all([handle.stat(), stat(openedPath)]);
55
+ const typeMatches = expectedType === "file" ? openedStats.isFile() : openedStats.isDirectory();
56
+ if (!typeMatches || !sameFileIdentity(openedStats, resolvedStats)) {
57
+ throw policyDenied(message);
58
+ }
59
+ return openedPath;
60
+ }
61
+ catch (error) {
62
+ if (errorCode(error) === "POLICY_DENIED") {
63
+ throw error;
64
+ }
65
+ throw policyDenied(message);
66
+ }
67
+ }
68
+ async function canonicalizeExisting(policy, requestedPath, message) {
69
+ assertRequestedPath(policy, requestedPath, message);
70
+ try {
71
+ const canonicalPath = await realpath(requestedPath);
72
+ if (!isPathAllowed(policy, canonicalPath)) {
73
+ throw policyDenied(message);
74
+ }
75
+ return canonicalPath;
76
+ }
77
+ catch (error) {
78
+ if (errorCode(error) === "POLICY_DENIED") {
79
+ throw error;
80
+ }
81
+ throw policyDenied(message);
82
+ }
83
+ }
84
+ async function openExistingFile(policy, requestedPath, flags, message) {
85
+ const canonicalPath = await canonicalizeExisting(policy, requestedPath, message);
86
+ let file;
87
+ try {
88
+ file = await open(canonicalPath, flags | NO_FOLLOW);
89
+ await verifyOpenedHandle(policy, file, canonicalPath, "file", message);
90
+ return { file };
91
+ }
92
+ catch (error) {
93
+ await closeQuietly(file);
94
+ if (errorCode(error) === "POLICY_DENIED") {
95
+ throw error;
96
+ }
97
+ throw policyDenied(message);
98
+ }
99
+ }
100
+ async function openCanonicalParent(policy, requestedPath, message) {
101
+ if (/[\\/]$/u.test(requestedPath)) {
102
+ throw policyDenied(message);
103
+ }
104
+ const requestedParent = path.dirname(requestedPath);
105
+ const leaf = path.basename(requestedPath);
106
+ if (!leaf || leaf === "." || leaf === "..") {
107
+ throw policyDenied(message);
108
+ }
109
+ assertRequestedPath(policy, requestedParent, message);
110
+ try {
111
+ const canonicalParent = await realpath(requestedParent);
112
+ if (!isPathAllowed(policy, canonicalParent)) {
113
+ throw policyDenied(message);
114
+ }
115
+ return { canonicalParent, leaf };
116
+ }
117
+ catch (error) {
118
+ if (errorCode(error) === "POLICY_DENIED") {
119
+ throw error;
120
+ }
121
+ throw policyDenied(message);
122
+ }
123
+ }
124
+ export async function withAuthorizedRead(policy, requestedPath, denialMessage, operationMessage, operation) {
125
+ const authorized = await openExistingFile(policy, requestedPath, constants.O_RDONLY, denialMessage);
126
+ try {
127
+ return await operation(authorized.file);
128
+ }
129
+ catch {
130
+ throw operationFailed(operationMessage);
131
+ }
132
+ finally {
133
+ await closeQuietly(authorized.file);
134
+ }
135
+ }
136
+ /** Stage verified writes in the destination directory before atomic replacement. */
137
+ export async function writeAuthorizedFileAtomic(policy, requestedPath, content, denialMessage, operationMessage) {
138
+ assertRequestedPath(policy, requestedPath, denialMessage);
139
+ let target;
140
+ let mode = OWNER_READ_WRITE;
141
+ try {
142
+ target = await realpath(requestedPath);
143
+ const existing = await openExistingFile(policy, requestedPath, constants.O_WRONLY, denialMessage);
144
+ try {
145
+ mode = (await existing.file.stat()).mode & 0o777;
146
+ }
147
+ finally {
148
+ await closeQuietly(existing.file);
149
+ }
150
+ }
151
+ catch (error) {
152
+ if (errorCode(error) !== "ENOENT") {
153
+ throw errorCode(error) === "POLICY_DENIED" ? error : policyDenied(denialMessage);
154
+ }
155
+ target = requestedPath;
156
+ }
157
+ const { canonicalParent, leaf } = await openCanonicalParent(policy, target, denialMessage);
158
+ let parent;
159
+ let temporary;
160
+ let temporaryPath;
161
+ try {
162
+ if (process.platform === "linux") {
163
+ parent = await open(canonicalParent, constants.O_RDONLY | DIRECTORY_ONLY | NO_FOLLOW);
164
+ await verifyOpenedHandle(policy, parent, canonicalParent, "directory", denialMessage);
165
+ }
166
+ const anchor = parent ? `/proc/self/fd/${parent.fd}` : canonicalParent;
167
+ temporaryPath = path.join(anchor, `.${leaf}.${randomUUID()}.tmp`);
168
+ temporary = await open(temporaryPath, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | NO_FOLLOW, mode);
169
+ await verifyOpenedHandle(policy, temporary, path.join(canonicalParent, path.basename(temporaryPath)), "file", denialMessage);
170
+ await temporary.chmod(mode);
171
+ await temporary.writeFile(content, "utf8");
172
+ await temporary.sync();
173
+ await temporary.close();
174
+ temporary = undefined;
175
+ await rename(temporaryPath, path.join(anchor, leaf));
176
+ temporaryPath = undefined;
177
+ if (parent)
178
+ await parent.sync();
179
+ }
180
+ catch (error) {
181
+ if (errorCode(error) === "POLICY_DENIED")
182
+ throw error;
183
+ throw operationFailed(operationMessage);
184
+ }
185
+ finally {
186
+ await closeQuietly(temporary);
187
+ if (temporaryPath)
188
+ await unlink(temporaryPath).catch(() => undefined);
189
+ await closeQuietly(parent);
190
+ }
191
+ }
192
+ //# sourceMappingURL=safe-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-file.js","sourceRoot":"","sources":["../../src/remote/safe-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC,KAAK,gBAAgB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAElD,KAAK,kBAAkB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,gBAAgB,CAAC;CACrC,CAAC;AAsDF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAwC;gBAE/C,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAWjE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IA0Ff,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUxE,iBAAiB,CACf,QAAQ,EAAE,MAAM,GACf;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAcpE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAmBvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAmBpD,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxE,iBAAiB,IAAI,MAAM;IAO3B,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI;IAuB3D,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAuBhF,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWjE,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAuB3C,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAsB3C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOxD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAO7E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAQ/C,OAAO,CAAC,YAAY;IAmBpB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAkB9D,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAkBnF,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWhE,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAuBxC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAgBxC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAmBpC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAuBnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;CAG9C"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC,KAAK,gBAAgB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAElD,KAAK,kBAAkB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,gBAAgB,CAAC;CACrC,CAAC;AAsDF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAwC;gBAE/C,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAWjE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IA0Ff,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUxE,iBAAiB,CACf,QAAQ,EAAE,MAAM,GACf;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAapE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAmBvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAkBpD,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxE,iBAAiB,IAAI,MAAM;IAM3B,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI;IAuB3D,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAuBhF,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWjE,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAuB3C,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAsB3C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMxD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAO7E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAQ/C,OAAO,CAAC,YAAY;IAmBpB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAkB9D,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAkBnF,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWhE,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAuBxC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAgBxC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAmBpC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAuBnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;CAG9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/remote/store.ts"],"names":[],"mappings":"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"}
@@ -176,6 +176,11 @@ export interface RemoteConfig {
176
176
  controlPlaneSigningKeyPath: string;
177
177
  jwtSigningKeyPath: string;
178
178
  agentWsPath: string;
179
+ agentHelloTimeoutMs?: number | undefined;
180
+ agentHeartbeatIntervalMs?: number | undefined;
181
+ agentIdleTimeoutMs?: number | undefined;
182
+ maxAgentConnections?: number | undefined;
183
+ maxAgentConnectionsPerAgent?: number | undefined;
179
184
  maxActionTimeoutSeconds: number;
180
185
  maxOutputBytes: number;
181
186
  maxOAuthClients: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/remote/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/remote/types.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,51 @@
1
1
  import type { IncomingMessage } from "node:http";
2
2
  import type { Duplex } from "node:stream";
3
+ import WebSocket from "ws";
4
+ export declare const MAX_AGENT_WEBSOCKET_MESSAGE_BYTES = 1048576;
3
5
  export type WebSocketTextHandler = (message: string) => void;
4
- export type WebSocketCloseHandler = () => void;
5
- export declare class MinimalWebSocketConnection {
6
- private readonly socket;
7
- private static readonly MAX_FRAME_BYTES;
8
- private buffer;
9
- private closed;
6
+ export type WebSocketCloseHandler = (code: number, reason: string) => void;
7
+ export type WebSocketPongHandler = () => void;
8
+ export interface WebSocketConnection {
9
+ onText(handler: WebSocketTextHandler): void;
10
+ onClose(handler: WebSocketCloseHandler): void;
11
+ onPong(handler: WebSocketPongHandler): void;
12
+ sendJson(value: unknown): void;
13
+ sendText(value: string): void;
14
+ ping(): void;
15
+ close(code?: number, reason?: string): void;
16
+ terminate(): void;
17
+ readonly isOpen: boolean;
18
+ readonly isClosed: boolean;
19
+ }
20
+ /**
21
+ * Small application-facing adapter around the maintained `ws` protocol implementation.
22
+ *
23
+ * `ws` owns RFC 6455 framing, masking, fragmentation, UTF-8 validation, control-frame
24
+ * validation, close-code validation, and payload limits. This adapter intentionally exposes
25
+ * only the text-message and lifecycle operations needed by the remote agent control plane.
26
+ */
27
+ export declare class MinimalWebSocketConnection implements WebSocketConnection {
28
+ private readonly websocket;
10
29
  private closeNotified;
30
+ private closeCode;
31
+ private closeReason;
11
32
  private readonly textHandlers;
12
33
  private readonly closeHandlers;
13
- constructor(socket: Duplex, initialBuffer?: Buffer<ArrayBufferLike>);
34
+ private readonly pongHandlers;
35
+ constructor(websocket: WebSocket);
36
+ get isOpen(): boolean;
37
+ get isClosed(): boolean;
14
38
  onText(handler: WebSocketTextHandler): void;
15
39
  onClose(handler: WebSocketCloseHandler): void;
40
+ onPong(handler: WebSocketPongHandler): void;
16
41
  sendJson(value: unknown): void;
17
42
  sendText(value: string): void;
18
- close(): void;
19
- private handleData;
20
- private drainFrames;
21
- private createFrameHeader;
22
- private handleClose;
43
+ ping(): void;
44
+ close(code?: number, reason?: string): void;
45
+ terminate(): void;
46
+ private handleMessage;
23
47
  private notifyClose;
24
48
  }
25
- export declare function acceptWebSocketUpgrade(req: IncomingMessage, socket: Duplex, head?: Buffer<ArrayBufferLike>): MinimalWebSocketConnection;
49
+ export type WebSocketAcceptedHandler = (connection: MinimalWebSocketConnection) => void;
50
+ export declare function acceptWebSocketUpgrade(req: IncomingMessage, socket: Duplex, head: Buffer<ArrayBufferLike>, onAccepted: WebSocketAcceptedHandler): void;
26
51
  //# sourceMappingURL=websocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/remote/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC;AAE/C,qBAAa,0BAA0B;IASnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAa;IACpD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoC;gBAG/C,MAAM,EAAE,MAAM,EAC/B,aAAa,GAAE,MAAM,CAAC,eAAe,CAAmB;IAa1D,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAK3C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAI7C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS7B,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IA+DnB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;CASpB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,CAAC,eAAe,CAAmB,GAC9C,0BAA0B,CAoB5B"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/remote/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,SAA4C,MAAM,IAAI,CAAC;AAE9D,eAAO,MAAM,iCAAiC,UAAY,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,IAAI,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAaD;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAQxD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAPtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;gBAEnC,SAAS,EAAE,SAAS;IAmBjD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI3C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAO7C,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI3C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY7B,IAAI,IAAI,IAAI;IAMZ,KAAK,CAAC,IAAI,SAAO,EAAE,MAAM,SAAK,GAAG,IAAI;IAUrC,SAAS,IAAI,IAAI;IAMjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,WAAW;CASpB;AAYD,MAAM,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAExF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAC7B,UAAU,EAAE,wBAAwB,GACnC,IAAI,CAIN"}
@@ -1,139 +1,108 @@
1
- import { createHash } from "node:crypto";
1
+ import WebSocket, { WebSocketServer } from "ws";
2
+ export const MAX_AGENT_WEBSOCKET_MESSAGE_BYTES = 1_048_576;
3
+ const upgradeServer = new WebSocketServer({
4
+ noServer: true,
5
+ clientTracking: false,
6
+ maxPayload: MAX_AGENT_WEBSOCKET_MESSAGE_BYTES,
7
+ perMessageDeflate: false,
8
+ });
9
+ upgradeServer.on("wsClientError", (_error, socket) => {
10
+ socket.destroy();
11
+ });
12
+ /**
13
+ * Small application-facing adapter around the maintained `ws` protocol implementation.
14
+ *
15
+ * `ws` owns RFC 6455 framing, masking, fragmentation, UTF-8 validation, control-frame
16
+ * validation, close-code validation, and payload limits. This adapter intentionally exposes
17
+ * only the text-message and lifecycle operations needed by the remote agent control plane.
18
+ */
2
19
  export class MinimalWebSocketConnection {
3
- socket;
4
- static MAX_FRAME_BYTES = 1_048_576;
5
- buffer = Buffer.alloc(0);
6
- closed = false;
20
+ websocket;
7
21
  closeNotified = false;
22
+ closeCode = 1006;
23
+ closeReason = "";
8
24
  textHandlers = new Set();
9
25
  closeHandlers = new Set();
10
- constructor(socket, initialBuffer = Buffer.alloc(0)) {
11
- this.socket = socket;
12
- if (initialBuffer.length > MinimalWebSocketConnection.MAX_FRAME_BYTES) {
13
- socket.destroy();
14
- }
15
- else {
16
- this.buffer = initialBuffer;
17
- }
18
- socket.on("data", (chunk) => this.handleData(chunk));
19
- socket.on("close", () => this.handleClose());
20
- socket.on("end", () => this.handleClose());
21
- socket.on("error", () => this.handleClose());
26
+ pongHandlers = new Set();
27
+ constructor(websocket) {
28
+ this.websocket = websocket;
29
+ websocket.on("message", (data, isBinary) => this.handleMessage(data, isBinary));
30
+ websocket.on("pong", () => {
31
+ for (const handler of this.pongHandlers) {
32
+ handler();
33
+ }
34
+ });
35
+ websocket.on("close", (code, reason) => {
36
+ this.closeCode = code;
37
+ this.closeReason = reason.toString("utf8");
38
+ this.notifyClose();
39
+ });
40
+ websocket.on("error", () => {
41
+ if (websocket.readyState === WebSocket.CLOSED) {
42
+ this.notifyClose();
43
+ }
44
+ });
45
+ }
46
+ get isOpen() {
47
+ return this.websocket.readyState === WebSocket.OPEN;
48
+ }
49
+ get isClosed() {
50
+ return this.websocket.readyState === WebSocket.CLOSED;
22
51
  }
23
52
  onText(handler) {
24
53
  this.textHandlers.add(handler);
25
- this.drainFrames();
26
54
  }
27
55
  onClose(handler) {
28
56
  this.closeHandlers.add(handler);
57
+ if (this.closeNotified) {
58
+ handler(this.closeCode, this.closeReason);
59
+ }
60
+ }
61
+ onPong(handler) {
62
+ this.pongHandlers.add(handler);
29
63
  }
30
64
  sendJson(value) {
31
65
  this.sendText(JSON.stringify(value));
32
66
  }
33
67
  sendText(value) {
34
- if (this.closed) {
68
+ if (!this.isOpen) {
35
69
  return;
36
70
  }
37
71
  const payload = Buffer.from(value, "utf8");
38
- const header = this.createFrameHeader(payload.length, 0x1);
39
- this.socket.write(Buffer.concat([header, payload]));
40
- }
41
- close() {
42
- if (this.closed) {
72
+ if (payload.length > MAX_AGENT_WEBSOCKET_MESSAGE_BYTES) {
73
+ this.close(1009, "message too large");
43
74
  return;
44
75
  }
45
- this.closed = true;
46
- this.socket.end(Buffer.from([0x88, 0x00]));
47
- this.notifyClose();
76
+ this.websocket.send(payload, { binary: false });
48
77
  }
49
- handleData(chunk) {
50
- if (this.buffer.length + chunk.length > MinimalWebSocketConnection.MAX_FRAME_BYTES) {
51
- this.close();
78
+ ping() {
79
+ if (this.isOpen) {
80
+ this.websocket.ping();
81
+ }
82
+ }
83
+ close(code = 1000, reason = "") {
84
+ if (this.websocket.readyState === WebSocket.CONNECTING) {
85
+ this.websocket.terminate();
52
86
  return;
53
87
  }
54
- this.buffer = Buffer.concat([this.buffer, chunk]);
55
- this.drainFrames();
88
+ if (this.websocket.readyState === WebSocket.OPEN) {
89
+ this.websocket.close(code, reason);
90
+ }
56
91
  }
57
- drainFrames() {
58
- while (this.buffer.length >= 2) {
59
- const first = this.buffer[0] ?? 0;
60
- const second = this.buffer[1] ?? 0;
61
- const opcode = first & 0x0f;
62
- const masked = (second & 0x80) !== 0;
63
- let length = second & 0x7f;
64
- let offset = 2;
65
- if (length === 126) {
66
- if (this.buffer.length < 4) {
67
- return;
68
- }
69
- length = this.buffer.readUInt16BE(2);
70
- offset = 4;
71
- }
72
- else if (length === 127) {
73
- if (this.buffer.length < 10) {
74
- return;
75
- }
76
- const longLength = this.buffer.readBigUInt64BE(2);
77
- if (longLength > BigInt(Number.MAX_SAFE_INTEGER)) {
78
- this.close();
79
- return;
80
- }
81
- length = Number(longLength);
82
- offset = 10;
83
- }
84
- if (length > MinimalWebSocketConnection.MAX_FRAME_BYTES) {
85
- this.close();
86
- return;
87
- }
88
- const maskLength = masked ? 4 : 0;
89
- if (this.buffer.length < offset + maskLength + length) {
90
- return;
91
- }
92
- const mask = masked ? this.buffer.subarray(offset, offset + 4) : undefined;
93
- offset += maskLength;
94
- const payload = Buffer.from(this.buffer.subarray(offset, offset + length));
95
- this.buffer = this.buffer.subarray(offset + length);
96
- if (mask) {
97
- for (let index = 0; index < payload.length; index++) {
98
- payload[index] = (payload[index] ?? 0) ^ (mask[index % 4] ?? 0);
99
- }
100
- }
101
- if (opcode === 0x8) {
102
- this.close();
103
- return;
104
- }
105
- if (opcode === 0x9) {
106
- this.socket.write(Buffer.concat([this.createFrameHeader(payload.length, 0x0a), payload]));
107
- continue;
108
- }
109
- if (opcode === 0x1) {
110
- const message = payload.toString("utf8");
111
- for (const handler of this.textHandlers) {
112
- handler(message);
113
- }
114
- }
92
+ terminate() {
93
+ if (!this.isClosed) {
94
+ this.websocket.terminate();
115
95
  }
116
96
  }
117
- createFrameHeader(length, opcode) {
118
- if (length < 126) {
119
- return Buffer.from([0x80 | opcode, length]);
97
+ handleMessage(data, isBinary) {
98
+ if (isBinary) {
99
+ this.close(1003, "text messages required");
100
+ return;
120
101
  }
121
- if (length <= 0xffff) {
122
- const header = Buffer.alloc(4);
123
- header[0] = 0x80 | opcode;
124
- header[1] = 126;
125
- header.writeUInt16BE(length, 2);
126
- return header;
102
+ const message = rawDataToBuffer(data).toString("utf8");
103
+ for (const handler of this.textHandlers) {
104
+ handler(message);
127
105
  }
128
- const header = Buffer.alloc(10);
129
- header[0] = 0x80 | opcode;
130
- header[1] = 127;
131
- header.writeBigUInt64BE(BigInt(length), 2);
132
- return header;
133
- }
134
- handleClose() {
135
- this.closed = true;
136
- this.notifyClose();
137
106
  }
138
107
  notifyClose() {
139
108
  if (this.closeNotified) {
@@ -141,27 +110,22 @@ export class MinimalWebSocketConnection {
141
110
  }
142
111
  this.closeNotified = true;
143
112
  for (const handler of this.closeHandlers) {
144
- handler();
113
+ handler(this.closeCode, this.closeReason);
145
114
  }
146
115
  }
147
116
  }
148
- export function acceptWebSocketUpgrade(req, socket, head = Buffer.alloc(0)) {
149
- const key = req.headers["sec-websocket-key"];
150
- if (typeof key !== "string") {
151
- socket.destroy();
152
- throw new Error("Missing Sec-WebSocket-Key");
117
+ function rawDataToBuffer(data) {
118
+ if (Buffer.isBuffer(data)) {
119
+ return data;
120
+ }
121
+ if (data instanceof ArrayBuffer) {
122
+ return Buffer.from(data);
153
123
  }
154
- const accept = createHash("sha1")
155
- .update(`${key}258EAFA5-E914-47DA-95CA-C5AB0DC85B11`)
156
- .digest("base64");
157
- socket.write([
158
- "HTTP/1.1 101 Switching Protocols",
159
- "Upgrade: websocket",
160
- "Connection: Upgrade",
161
- `Sec-WebSocket-Accept: ${accept}`,
162
- "",
163
- "",
164
- ].join("\r\n"));
165
- return new MinimalWebSocketConnection(socket, head);
124
+ return Buffer.concat(data);
125
+ }
126
+ export function acceptWebSocketUpgrade(req, socket, head, onAccepted) {
127
+ upgradeServer.handleUpgrade(req, socket, Buffer.from(head), (websocket) => {
128
+ onAccepted(new MinimalWebSocketConnection(websocket));
129
+ });
166
130
  }
167
131
  //# sourceMappingURL=websocket.js.map