ssh-mcp-pro 1.2.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +12 -2
  3. package/dist/agent-bin.js +5 -2
  4. package/dist/agent-bin.js.map +1 -1
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +38 -47
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config-security-env.d.ts +4 -0
  10. package/dist/config-security-env.d.ts.map +1 -0
  11. package/dist/config-security-env.js +64 -0
  12. package/dist/config-security-env.js.map +1 -0
  13. package/dist/config.d.ts +2 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +4 -67
  16. package/dist/config.js.map +1 -1
  17. package/dist/connector-profile.d.ts +17 -3
  18. package/dist/connector-profile.d.ts.map +1 -1
  19. package/dist/connector-profile.js.map +1 -1
  20. package/dist/detect.d.ts.map +1 -1
  21. package/dist/detect.js +226 -192
  22. package/dist/detect.js.map +1 -1
  23. package/dist/ensure-package-service.d.ts +9 -0
  24. package/dist/ensure-package-service.d.ts.map +1 -0
  25. package/dist/ensure-package-service.js +146 -0
  26. package/dist/ensure-package-service.js.map +1 -0
  27. package/dist/ensure-pkg.js +4 -4
  28. package/dist/ensure-pkg.js.map +1 -1
  29. package/dist/ensure.d.ts.map +1 -1
  30. package/dist/ensure.js +15 -144
  31. package/dist/ensure.js.map +1 -1
  32. package/dist/fs-sftp.js +1 -1
  33. package/dist/fs-sftp.js.map +1 -1
  34. package/dist/fs-stat.d.ts +10 -0
  35. package/dist/fs-stat.d.ts.map +1 -0
  36. package/dist/fs-stat.js +62 -0
  37. package/dist/fs-stat.js.map +1 -0
  38. package/dist/fs-tools.d.ts.map +1 -1
  39. package/dist/fs-tools.js +6 -58
  40. package/dist/fs-tools.js.map +1 -1
  41. package/dist/http-security.d.ts.map +1 -1
  42. package/dist/http-security.js +6 -6
  43. package/dist/http-security.js.map +1 -1
  44. package/dist/http-server-runtime.d.ts.map +1 -1
  45. package/dist/http-server-runtime.js +41 -7
  46. package/dist/http-server-runtime.js.map +1 -1
  47. package/dist/index.js +6 -23
  48. package/dist/index.js.map +1 -1
  49. package/dist/mcp-http-web.d.ts +8 -0
  50. package/dist/mcp-http-web.d.ts.map +1 -0
  51. package/dist/mcp-http-web.js +35 -0
  52. package/dist/mcp-http-web.js.map +1 -0
  53. package/dist/mcp.d.ts +6 -2
  54. package/dist/mcp.d.ts.map +1 -1
  55. package/dist/mcp.js +22 -14
  56. package/dist/mcp.js.map +1 -1
  57. package/dist/policy.d.ts +8 -0
  58. package/dist/policy.d.ts.map +1 -1
  59. package/dist/policy.js +147 -105
  60. package/dist/policy.js.map +1 -1
  61. package/dist/process.d.ts.map +1 -1
  62. package/dist/process.js +11 -7
  63. package/dist/process.js.map +1 -1
  64. package/dist/prompts.d.ts +2 -11
  65. package/dist/prompts.d.ts.map +1 -1
  66. package/dist/prompts.js.map +1 -1
  67. package/dist/remote/agent-activity-log.d.ts +26 -0
  68. package/dist/remote/agent-activity-log.d.ts.map +1 -0
  69. package/dist/remote/agent-activity-log.js +211 -0
  70. package/dist/remote/agent-activity-log.js.map +1 -0
  71. package/dist/remote/agent-cli.d.ts.map +1 -1
  72. package/dist/remote/agent-cli.js +92 -25
  73. package/dist/remote/agent-cli.js.map +1 -1
  74. package/dist/remote/agent-executor.d.ts.map +1 -1
  75. package/dist/remote/agent-executor.js +25 -16
  76. package/dist/remote/agent-executor.js.map +1 -1
  77. package/dist/remote/agent-handler.d.ts +2 -0
  78. package/dist/remote/agent-handler.d.ts.map +1 -1
  79. package/dist/remote/agent-handler.js +4 -0
  80. package/dist/remote/agent-handler.js.map +1 -1
  81. package/dist/remote/config.d.ts.map +1 -1
  82. package/dist/remote/config.js +12 -1
  83. package/dist/remote/config.js.map +1 -1
  84. package/dist/remote/control-plane.d.ts +12 -0
  85. package/dist/remote/control-plane.d.ts.map +1 -1
  86. package/dist/remote/control-plane.js +174 -53
  87. package/dist/remote/control-plane.js.map +1 -1
  88. package/dist/remote/crypto.d.ts +9 -4
  89. package/dist/remote/crypto.d.ts.map +1 -1
  90. package/dist/remote/crypto.js +41 -9
  91. package/dist/remote/crypto.js.map +1 -1
  92. package/dist/remote/http-util.d.ts.map +1 -1
  93. package/dist/remote/http-util.js +14 -7
  94. package/dist/remote/http-util.js.map +1 -1
  95. package/dist/remote/mcp-tools.d.ts +7 -0
  96. package/dist/remote/mcp-tools.d.ts.map +1 -1
  97. package/dist/remote/mcp-tools.js +28 -0
  98. package/dist/remote/mcp-tools.js.map +1 -1
  99. package/dist/remote/oauth-handler.d.ts +36 -3
  100. package/dist/remote/oauth-handler.d.ts.map +1 -1
  101. package/dist/remote/oauth-handler.js +287 -13
  102. package/dist/remote/oauth-handler.js.map +1 -1
  103. package/dist/remote/policy.js +2 -2
  104. package/dist/remote/policy.js.map +1 -1
  105. package/dist/remote/safe-file.d.ts +2 -1
  106. package/dist/remote/safe-file.d.ts.map +1 -1
  107. package/dist/remote/safe-file.js +51 -53
  108. package/dist/remote/safe-file.js.map +1 -1
  109. package/dist/remote/schemas.d.ts +9 -9
  110. package/dist/remote/schemas.js +6 -6
  111. package/dist/remote/schemas.js.map +1 -1
  112. package/dist/remote/store.d.ts +38 -1
  113. package/dist/remote/store.d.ts.map +1 -1
  114. package/dist/remote/store.js +149 -11
  115. package/dist/remote/store.js.map +1 -1
  116. package/dist/remote/types.d.ts +14 -0
  117. package/dist/remote/types.d.ts.map +1 -1
  118. package/dist/remote/types.js.map +1 -1
  119. package/dist/remote/web-dashboard-client-config.d.ts +77 -0
  120. package/dist/remote/web-dashboard-client-config.d.ts.map +1 -0
  121. package/dist/remote/web-dashboard-client-config.js +81 -0
  122. package/dist/remote/web-dashboard-client-config.js.map +1 -0
  123. package/dist/remote/web-dashboard-html.d.ts +2 -0
  124. package/dist/remote/web-dashboard-html.d.ts.map +1 -0
  125. package/dist/remote/web-dashboard-html.js +433 -0
  126. package/dist/remote/web-dashboard-html.js.map +1 -0
  127. package/dist/remote/web-dashboard-oauth-users.d.ts +4 -0
  128. package/dist/remote/web-dashboard-oauth-users.d.ts.map +1 -0
  129. package/dist/remote/web-dashboard-oauth-users.js +78 -0
  130. package/dist/remote/web-dashboard-oauth-users.js.map +1 -0
  131. package/dist/remote/web-dashboard-static.d.ts +4 -0
  132. package/dist/remote/web-dashboard-static.d.ts.map +1 -0
  133. package/dist/remote/web-dashboard-static.js +19 -0
  134. package/dist/remote/web-dashboard-static.js.map +1 -0
  135. package/dist/remote/web-dashboard-styles.d.ts +2 -0
  136. package/dist/remote/web-dashboard-styles.d.ts.map +1 -0
  137. package/dist/remote/web-dashboard-styles.js +187 -0
  138. package/dist/remote/web-dashboard-styles.js.map +1 -0
  139. package/dist/remote/web-dashboard.d.ts +62 -0
  140. package/dist/remote/web-dashboard.d.ts.map +1 -0
  141. package/dist/remote/web-dashboard.js +467 -0
  142. package/dist/remote/web-dashboard.js.map +1 -0
  143. package/dist/resources.d.ts +2 -7
  144. package/dist/resources.d.ts.map +1 -1
  145. package/dist/resources.js.map +1 -1
  146. package/dist/retry.d.ts.map +1 -1
  147. package/dist/retry.js +6 -3
  148. package/dist/retry.js.map +1 -1
  149. package/dist/safety.d.ts.map +1 -1
  150. package/dist/safety.js +56 -6
  151. package/dist/safety.js.map +1 -1
  152. package/dist/session-auth.js +7 -7
  153. package/dist/session-auth.js.map +1 -1
  154. package/dist/session.d.ts +5 -0
  155. package/dist/session.d.ts.map +1 -1
  156. package/dist/session.js +81 -54
  157. package/dist/session.js.map +1 -1
  158. package/dist/shell.d.ts.map +1 -1
  159. package/dist/shell.js +5 -4
  160. package/dist/shell.js.map +1 -1
  161. package/dist/ssh-config.d.ts +2 -2
  162. package/dist/ssh-config.d.ts.map +1 -1
  163. package/dist/ssh-config.js +24 -20
  164. package/dist/ssh-config.js.map +1 -1
  165. package/dist/telemetry.d.ts.map +1 -1
  166. package/dist/telemetry.js +9 -2
  167. package/dist/telemetry.js.map +1 -1
  168. package/dist/tools/connector.provider.d.ts +1 -1
  169. package/dist/tools/connector.provider.d.ts.map +1 -1
  170. package/dist/tools/ensure.provider.d.ts +1 -1
  171. package/dist/tools/ensure.provider.d.ts.map +1 -1
  172. package/dist/tools/fs.provider.d.ts +1 -1
  173. package/dist/tools/fs.provider.d.ts.map +1 -1
  174. package/dist/tools/metadata.d.ts +1 -1
  175. package/dist/tools/metadata.d.ts.map +1 -1
  176. package/dist/tools/output-schemas.d.ts +27 -135
  177. package/dist/tools/output-schemas.d.ts.map +1 -1
  178. package/dist/tools/process.provider.d.ts +1 -1
  179. package/dist/tools/process.provider.d.ts.map +1 -1
  180. package/dist/tools/registry.d.ts +1 -1
  181. package/dist/tools/registry.d.ts.map +1 -1
  182. package/dist/tools/registry.js +16 -13
  183. package/dist/tools/registry.js.map +1 -1
  184. package/dist/tools/session.provider.d.ts +1 -1
  185. package/dist/tools/session.provider.d.ts.map +1 -1
  186. package/dist/tools/system.provider.d.ts +1 -1
  187. package/dist/tools/system.provider.d.ts.map +1 -1
  188. package/dist/tools/transfer.provider.d.ts +1 -1
  189. package/dist/tools/transfer.provider.d.ts.map +1 -1
  190. package/dist/tools/tunnel.provider.d.ts +1 -1
  191. package/dist/tools/tunnel.provider.d.ts.map +1 -1
  192. package/dist/tools/types.d.ts +1 -1
  193. package/dist/tools/types.d.ts.map +1 -1
  194. package/dist/transfer.js +2 -2
  195. package/dist/transfer.js.map +1 -1
  196. package/dist/types.js +1 -1
  197. package/dist/types.js.map +1 -1
  198. package/docs/adding-a-device.md +39 -17
  199. package/docs/agent-activity-monitor.md +34 -0
  200. package/docs/coolify.md +29 -0
  201. package/docs/development/coding-standards.md +8 -2
  202. package/docs/development/dependency-management.md +1 -1
  203. package/docs/development/mcp-protocol-2026.md +33 -0
  204. package/docs/development/release-process.md +29 -55
  205. package/docs/doppler-guide.md +34 -0
  206. package/docs/reference/compatibility.md +1 -1
  207. package/docs/remote-mcp-hardening.md +17 -0
  208. package/docs/security/dependency-audit-exceptions.md +3 -7
  209. package/docs/security/hosted-data-inventory.md +81 -0
  210. package/docs/sonarcloud-analysis.md +9 -0
  211. package/mcp.json +1 -1
  212. package/package.json +31 -24
  213. package/registry/ssh-mcp-pro/mcp.json +1 -1
  214. package/server.json +3 -3
@@ -1,4 +1,6 @@
1
1
  import { URL } from "node:url";
2
+ import { createMcpHandler, isLegacyRequest, McpServer } from "@modelcontextprotocol/server";
3
+ import { toMcpWebRequest, sendMcpWebResponse } from "../mcp-http-web.js";
2
4
  import { ensurePemKeyPair, hashSecret, id, keyId, loadJwtKeyPair, nowIso, randomToken, signEnvelope, verifyRemoteAccessToken, } from "./crypto.js";
3
5
  import { loadRemoteConfig } from "./config.js";
4
6
  import { isRecord, asString, negotiateMcpProtocolVersion, quotePosixArg, quotePowerShellArg, addNoStore, safeError, isValidEd25519PublicKey, readJson, sanitizeAgent, } from "./http-util.js";
@@ -8,6 +10,7 @@ import { parseAgentHostMetadata } from "./schemas.js";
8
10
  import { hasCapability } from "./scopes.js";
9
11
  import { RemoteStore } from "./store.js";
10
12
  import { OAuthHandler } from "./oauth-handler.js";
13
+ import { WebDashboardHandler } from "./web-dashboard.js";
11
14
  import { AgentWebSocketHandler, } from "./agent-handler.js";
12
15
  import { TOOL_CAPABILITY_MAP } from "./types.js";
13
16
  import { jsonResponse } from "./util.js";
@@ -24,12 +27,25 @@ export class RemoteControlPlane {
24
27
  controlPlaneKeyPair;
25
28
  oauth;
26
29
  agentHandler;
30
+ dashboard;
27
31
  constructor(config = loadRemoteConfig()) {
28
32
  this.config = config;
29
33
  this.store = new RemoteStore(config.databaseUrl);
30
34
  this.controlPlaneKeyPair = ensurePemKeyPair(config.controlPlaneSigningKeyPath);
31
35
  this.oauth = new OAuthHandler(config, this.store, this.authorizeTransactions, () => this.requireJwtKeyPair(), (event) => this.audit(event));
32
36
  this.agentHandler = new AgentWebSocketHandler(config, this.store, this.agentConnections, this.agentHelloNonces, this.pendingActions, (event) => this.audit(event));
37
+ this.dashboard = new WebDashboardHandler({
38
+ config: this.config,
39
+ store: this.store,
40
+ oauth: this.oauth,
41
+ agentHandler: this.agentHandler,
42
+ getJwtKeyPair: () => this.requireJwtKeyPair(),
43
+ audit: (event) => this.audit(event),
44
+ createEnrollmentToken: (principal, args) => this.createEnrollmentToken(principal, args),
45
+ updateAgentPolicy: (principal, agent, policy) => this.updateAgentPolicy(principal, agent, policy),
46
+ revokeAgent: (principal, agent) => this.revokeAgent(principal, agent),
47
+ resolveAgent: (userId, value) => this.resolveAgent(userId, value),
48
+ });
33
49
  this.cleanupInterval = setInterval(() => this.cleanupEphemeralState(), 60_000);
34
50
  this.cleanupInterval.unref?.();
35
51
  }
@@ -55,16 +71,23 @@ export class RemoteControlPlane {
55
71
  cleanupEphemeralState(now = Date.now()) {
56
72
  this.oauth.cleanupExpired(now);
57
73
  this.agentHandler.cleanupEphemeralState(now);
58
- }
59
- async handleHttp(req, res, pathname) {
60
- if (pathname === "/.well-known/oauth-protected-resource" && req.method === "GET") {
61
- jsonResponse(res, 200, this.oauth.protectedResourceMetadata(), addNoStore());
62
- return true;
74
+ try {
75
+ // Reuse the existing minute timer, avoiding another background worker.
76
+ this.store.pruneExpiredTransientRecords(new Date(now).toISOString());
63
77
  }
64
- if (pathname === "/.well-known/oauth-authorization-server" && req.method === "GET") {
65
- jsonResponse(res, 200, this.oauth.authorizationServerMetadata(), addNoStore());
66
- return true;
78
+ catch {
79
+ // A storage maintenance failure must not terminate the live MCP server.
80
+ // The following cleanup tick retries without logging sensitive data.
81
+ console.error("Remote transient credential cleanup failed; will retry");
67
82
  }
83
+ }
84
+ async handleGoogleOAuthCallback(req, res) {
85
+ // Both OAuth flows use the registered Google URI, but isolated state/cookies.
86
+ if (await this.dashboard.handleSharedGoogleCallback(req, res))
87
+ return;
88
+ await this.oauth.handleGoogleCallback(req, res);
89
+ }
90
+ async handleOAuthRequest(req, res, pathname) {
68
91
  if (pathname === "/oauth/register" && req.method === "POST") {
69
92
  await this.oauth.handleRegister(req, res);
70
93
  return true;
@@ -73,10 +96,18 @@ export class RemoteControlPlane {
73
96
  await this.oauth.handleAuthorize(req, res);
74
97
  return true;
75
98
  }
99
+ if (pathname === "/oauth/approve" && req.method === "POST") {
100
+ await this.oauth.handleApprove(req, res);
101
+ return true;
102
+ }
76
103
  if (pathname === "/oauth/callback/github" && req.method === "GET") {
77
104
  await this.oauth.handleGitHubCallback(req, res);
78
105
  return true;
79
106
  }
107
+ if (pathname === "/oauth/callback/google" && req.method === "GET") {
108
+ await this.handleGoogleOAuthCallback(req, res);
109
+ return true;
110
+ }
80
111
  if (pathname === "/oauth/token" && req.method === "POST") {
81
112
  await this.oauth.handleToken(req, res);
82
113
  return true;
@@ -85,6 +116,25 @@ export class RemoteControlPlane {
85
116
  await this.oauth.handleJwks(res);
86
117
  return true;
87
118
  }
119
+ return false;
120
+ }
121
+ async handleHttp(req, res, pathname) {
122
+ // Browsers only honor HSTS on authenticated HTTPS responses. Do not
123
+ // impose HTTPS on intentionally HTTP-only localhost development servers.
124
+ if (new URL(this.config.publicBaseUrl).protocol === "https:") {
125
+ res.setHeader("Strict-Transport-Security", "max-age=31536000");
126
+ }
127
+ if (pathname === "/.well-known/oauth-protected-resource" && req.method === "GET") {
128
+ jsonResponse(res, 200, this.oauth.protectedResourceMetadata(), addNoStore());
129
+ return true;
130
+ }
131
+ if (pathname === "/.well-known/oauth-authorization-server" && req.method === "GET") {
132
+ jsonResponse(res, 200, this.oauth.authorizationServerMetadata(), addNoStore());
133
+ return true;
134
+ }
135
+ if (await this.handleOAuthRequest(req, res, pathname)) {
136
+ return true;
137
+ }
88
138
  if (pathname === "/readyz" && req.method === "GET") {
89
139
  jsonResponse(res, 200, {
90
140
  ok: true,
@@ -108,6 +158,9 @@ export class RemoteControlPlane {
108
158
  await this.handleApi(req, res, pathname);
109
159
  return true;
110
160
  }
161
+ if (await this.dashboard.handleHttpRequest(req, res, pathname)) {
162
+ return true;
163
+ }
111
164
  return false;
112
165
  }
113
166
  handleUpgrade(req, socket, head, pathname) {
@@ -132,6 +185,22 @@ export class RemoteControlPlane {
132
185
  return;
133
186
  }
134
187
  const body = await readJson(req);
188
+ const request = toMcpWebRequest(req, body);
189
+ // The official SDK validates the modern request envelope, mirrored HTTP
190
+ // headers, protocol version and output shape. Legacy clients retain their
191
+ // existing authenticated 2025-era behavior.
192
+ // Preserve the previous error response for an unclaimed 2025-era
193
+ // tools/call with malformed params. The SDK rightly classifies this
194
+ // malformed message as invalid; no modern version/header may downgrade.
195
+ const malformedLegacyCall = body.method === "tools/call" &&
196
+ !isRecord(body.params) &&
197
+ req.headers["mcp-protocol-version"] === undefined &&
198
+ req.headers["mcp-method"] === undefined &&
199
+ !("_meta" in body);
200
+ if (!malformedLegacyCall && !(await isLegacyRequest(request, body))) {
201
+ await this.handleModernMcp(request, res, principal);
202
+ return;
203
+ }
135
204
  const method = asString(body.method) ?? "";
136
205
  const rpcId = body.id ?? null;
137
206
  if (method === "initialize") {
@@ -155,50 +224,87 @@ export class RemoteControlPlane {
155
224
  return;
156
225
  }
157
226
  if (method === "tools/call") {
158
- const params = isRecord(body.params) ? body.params : {};
159
- const name = asString(params.name);
160
- const args = isRecord(params.arguments) ? params.arguments : {};
161
- if (!name || !(name in TOOL_CAPABILITY_MAP)) {
162
- jsonResponse(res, 200, {
163
- jsonrpc: "2.0",
164
- id: rpcId,
165
- error: { code: -32602, message: "Unknown tool" },
166
- });
167
- return;
168
- }
169
- let callResult;
170
- try {
171
- callResult = await this.callRemoteTool(principal, name, args);
172
- }
173
- catch (error) {
174
- const isStructured = error !== null && typeof error === "object" && "message" in error;
175
- const message = isStructured
176
- ? String(error.message)
177
- : "Tool call failed";
178
- const errorCode = isStructured && "code" in error
179
- ? String(error.code)
180
- : "TOOL_CALL_FAILED";
181
- jsonResponse(res, 200, {
182
- jsonrpc: "2.0",
183
- id: rpcId,
184
- error: { code: -32000, message, data: { code: errorCode } },
185
- });
186
- return;
187
- }
227
+ await this.handleMcpToolCall(principal, body, rpcId, res);
228
+ return;
229
+ }
230
+ jsonResponse(res, 200, {
231
+ jsonrpc: "2.0",
232
+ id: rpcId,
233
+ error: { code: -32601, message: "Method not found" },
234
+ });
235
+ }
236
+ /**
237
+ * Instantiate the SDK handler only after validating this request's bearer
238
+ * token. No session-wide principal or global tool registry is shared between
239
+ * callers, so concurrent requests cannot inherit one another's scopes.
240
+ */
241
+ async handleModernMcp(request, response, principal) {
242
+ const handler = createMcpHandler(() => {
243
+ const server = new McpServer({ name: "sshautomator-remote-agent", version: SERVER_VERSION }, { capabilities: { tools: {} } });
244
+ server.server.setRequestHandler("tools/list", () => ({
245
+ tools: listRemoteToolDescriptors(principal.capabilities).map(({ capability: _capability, ...tool }) => ({
246
+ ...tool,
247
+ inputSchema: { ...tool.inputSchema, type: "object" },
248
+ })),
249
+ }));
250
+ server.server.setRequestHandler("tools/call", async (rpc) => {
251
+ const name = rpc.params.name;
252
+ if (!Object.hasOwn(TOOL_CAPABILITY_MAP, name)) {
253
+ throw safeError("INVALID_SCOPE", "Unknown tool", 400);
254
+ }
255
+ const result = await this.callRemoteTool(principal, name, rpc.params.arguments ?? {});
256
+ return {
257
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
258
+ structuredContent: result,
259
+ };
260
+ });
261
+ return server;
262
+ }, { legacy: "reject" });
263
+ try {
264
+ await sendMcpWebResponse(response, await handler.fetch(request));
265
+ }
266
+ finally {
267
+ await handler.close();
268
+ }
269
+ }
270
+ async handleMcpToolCall(principal, body, rpcId, res) {
271
+ const params = isRecord(body.params) ? body.params : {};
272
+ const name = asString(params.name);
273
+ const args = isRecord(params.arguments) ? params.arguments : {};
274
+ if (!name || !(name in TOOL_CAPABILITY_MAP)) {
188
275
  jsonResponse(res, 200, {
189
276
  jsonrpc: "2.0",
190
277
  id: rpcId,
191
- result: {
192
- content: [{ type: "text", text: JSON.stringify(callResult, null, 2) }],
193
- structuredContent: callResult,
194
- },
278
+ error: { code: -32602, message: "Unknown tool" },
279
+ });
280
+ return;
281
+ }
282
+ let callResult;
283
+ try {
284
+ callResult = await this.callRemoteTool(principal, name, args);
285
+ }
286
+ catch (error) {
287
+ const isStructured = error !== null && typeof error === "object" && "message" in error;
288
+ const message = isStructured
289
+ ? String(error.message)
290
+ : "Tool call failed";
291
+ const errorCode = isStructured && "code" in error
292
+ ? String(error.code)
293
+ : "TOOL_CALL_FAILED";
294
+ jsonResponse(res, 200, {
295
+ jsonrpc: "2.0",
296
+ id: rpcId,
297
+ error: { code: -32000, message, data: { code: errorCode } },
195
298
  });
196
299
  return;
197
300
  }
198
301
  jsonResponse(res, 200, {
199
302
  jsonrpc: "2.0",
200
303
  id: rpcId,
201
- error: { code: -32601, message: "Method not found" },
304
+ result: {
305
+ content: [{ type: "text", text: JSON.stringify(callResult, null, 2) }],
306
+ structuredContent: callResult,
307
+ },
202
308
  });
203
309
  }
204
310
  async handleApi(req, res, pathname) {
@@ -214,11 +320,29 @@ export class RemoteControlPlane {
214
320
  return;
215
321
  }
216
322
  if (pathname === "/api/agents" && req.method === "GET") {
323
+ if (!hasCapability(principal.capabilities, "agents.read")) {
324
+ throw safeError("INVALID_SCOPE", "agents:read scope is required", 403);
325
+ }
217
326
  jsonResponse(res, 200, {
218
327
  agents: this.store.listAgents(principal.userId).map(sanitizeAgent),
219
328
  });
220
329
  return;
221
330
  }
331
+ if (await this.handleAgentApiRoute(req, res, pathname, principal)) {
332
+ return;
333
+ }
334
+ if (pathname === "/api/audit" && req.method === "GET") {
335
+ if (!hasCapability(principal.capabilities, "agents.admin")) {
336
+ throw safeError("INVALID_SCOPE", "agents:admin scope is required", 403);
337
+ }
338
+ const url = new URL(req.url ?? "/api/audit", this.config.publicBaseUrl);
339
+ const limit = Number(url.searchParams.get("limit") ?? 50);
340
+ jsonResponse(res, 200, { events: this.store.listAudit(principal.userId, undefined, limit) });
341
+ return;
342
+ }
343
+ jsonResponse(res, 404, { error: "Not found" });
344
+ }
345
+ async handleAgentApiRoute(req, res, pathname, principal) {
222
346
  const agentMatch = /^\/api\/agents\/([^/]+)(?:\/(policy|revoke))?$/u.exec(pathname);
223
347
  if (agentMatch) {
224
348
  const agent = this.resolveAgent(principal.userId, agentMatch[1] ?? "");
@@ -226,28 +350,25 @@ export class RemoteControlPlane {
226
350
  throw safeError("AGENT_NOT_FOUND", "Agent not found", 404);
227
351
  }
228
352
  if (!agentMatch[2] && req.method === "GET") {
353
+ if (!hasCapability(principal.capabilities, "agents.read")) {
354
+ throw safeError("INVALID_SCOPE", "agents:read scope is required", 403);
355
+ }
229
356
  jsonResponse(res, 200, { agent: sanitizeAgent(agent) });
230
- return;
357
+ return true;
231
358
  }
232
359
  if ((!agentMatch[2] || agentMatch[2] === "policy") && req.method === "PATCH") {
233
360
  const body = await readJson(req);
234
361
  jsonResponse(res, 200, {
235
362
  agent: sanitizeAgent(this.updateAgentPolicy(principal, agent, body.policy)),
236
363
  });
237
- return;
364
+ return true;
238
365
  }
239
366
  if (agentMatch[2] === "revoke" && req.method === "POST") {
240
367
  jsonResponse(res, 200, { agent: sanitizeAgent(this.revokeAgent(principal, agent)) });
241
- return;
368
+ return true;
242
369
  }
243
370
  }
244
- if (pathname === "/api/audit" && req.method === "GET") {
245
- const url = new URL(req.url ?? "/api/audit", this.config.publicBaseUrl);
246
- const limit = Number(url.searchParams.get("limit") ?? 50);
247
- jsonResponse(res, 200, { events: this.store.listAudit(principal.userId, undefined, limit) });
248
- return;
249
- }
250
- jsonResponse(res, 404, { error: "Not found" });
371
+ return false;
251
372
  }
252
373
  async handleAgentEnroll(req, res) {
253
374
  const body = await readJson(req);
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/remote/control-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/remote/control-plane.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,16 @@ export declare function keyId(publicKeyPem: string): string;
25
25
  export declare function canonicalJson(value: unknown): string;
26
26
  export declare function signEnvelope<T extends Record<string, unknown>>(envelope: T, privateKey: KeyObject | string): string;
27
27
  export declare function verifyEnvelope(envelope: Record<string, unknown>, publicKey: KeyObject | string): boolean;
28
- export declare function issueAccessToken(config: RemoteConfig, keyPair: JwtKeyPair, user: {
28
+ export interface TokenUserIdentity {
29
29
  id: string;
30
- githubId: string;
31
- githubLogin: string;
32
- }, scopes: RemoteScope[]): Promise<{
30
+ githubId?: string | undefined;
31
+ githubLogin?: string | undefined;
32
+ googleId?: string | undefined;
33
+ email?: string | undefined;
34
+ displayName?: string | undefined;
35
+ provider?: "github" | "google" | undefined;
36
+ }
37
+ export declare function issueAccessToken(config: RemoteConfig, keyPair: JwtKeyPair, user: TokenUserIdentity, scopes: RemoteScope[]): Promise<{
33
38
  token: string;
34
39
  tokenId: string;
35
40
  expiresAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/remote/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAa,WAAW,EAAE,UAAU,EAAuC,MAAM,MAAM,CAAC;AAE/F,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG7E,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAK,GAAG,MAAM,CAE9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAQ/E;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAMtD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAY7D;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO1E;AAED,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAI7F;AAED,wBAAgB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWpD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,MAAM,CAIR;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAaT;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC3D,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBhE;AAED,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,eAAe,CAAC,CAY1B"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/remote/crypto.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export function nowIso() {
8
8
  return new Date().toISOString();
9
9
  }
10
10
  export function id(prefix) {
11
- return `${prefix}_${randomUUID().replace(/-/gu, "")}`;
11
+ return `${prefix}_${randomUUID().replaceAll("-", "")}`;
12
12
  }
13
13
  export function randomToken(bytes = 32) {
14
14
  return randomBytes(bytes).toString("base64url");
@@ -74,8 +74,15 @@ export function canonicalJson(value) {
74
74
  }
75
75
  const entries = Object.entries(value)
76
76
  .filter(([, entryValue]) => entryValue !== undefined)
77
- .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0));
78
- return `{${entries.map(([key, entryValue]) => `${JSON.stringify(key)}:${canonicalJson(entryValue)}`).join(",")}}`;
77
+ .sort(([left], [right]) => {
78
+ if (left < right)
79
+ return -1;
80
+ if (left > right)
81
+ return 1;
82
+ return 0;
83
+ });
84
+ const properties = entries.map(([key, entryValue]) => JSON.stringify(key) + ":" + canonicalJson(entryValue));
85
+ return `{${properties.join(",")}}`;
79
86
  }
80
87
  export function signEnvelope(envelope, privateKey) {
81
88
  const unsigned = { ...envelope };
@@ -95,11 +102,26 @@ export async function issueAccessToken(config, keyPair, user, scopes) {
95
102
  const issuedAt = Math.floor(Date.now() / 1000);
96
103
  const expiresAtSeconds = issuedAt + config.accessTokenTtlSeconds;
97
104
  const tokenId = id("tok");
98
- const token = await new SignJWT({
105
+ const githubLogin = user.githubLogin ?? user.displayName ?? user.email ?? user.id;
106
+ const githubId = user.githubId ?? user.googleId ?? user.id;
107
+ const claims = {
99
108
  scope: scopes.join(" "),
100
- github_login: user.githubLogin,
101
- github_id: user.githubId,
102
- })
109
+ github_login: githubLogin,
110
+ github_id: githubId,
111
+ };
112
+ if (user.googleId) {
113
+ claims.google_id = user.googleId;
114
+ }
115
+ if (user.email) {
116
+ claims.email = user.email;
117
+ }
118
+ if (user.displayName) {
119
+ claims.display_name = user.displayName;
120
+ }
121
+ if (user.provider) {
122
+ claims.provider = user.provider;
123
+ }
124
+ const token = await new SignJWT(claims)
103
125
  .setProtectedHeader({ alg: "EdDSA", kid: keyId(keyPair.publicKeyPem) })
104
126
  .setIssuer(config.publicBaseUrl)
105
127
  .setSubject(user.id)
@@ -129,12 +151,22 @@ export async function verifyRemoteAccessToken(authorization, config, keyPair) {
129
151
  }
130
152
  function principalFromPayload(payload) {
131
153
  const scopes = typeof payload.scope === "string" ? payload.scope.split(/\s+/u).filter(Boolean) : [];
132
- const githubId = String(payload.github_id ?? "");
133
- const githubLogin = String(payload.github_login ?? "");
154
+ if (("github_id" in payload && typeof payload.github_id !== "string") ||
155
+ ("github_login" in payload && typeof payload.github_login !== "string")) {
156
+ throw new TypeError("Invalid GitHub identity claims");
157
+ }
158
+ const githubId = typeof payload.github_id === "string" ? payload.github_id : "";
159
+ const githubLogin = typeof payload.github_login === "string" ? payload.github_login : "";
160
+ const email = typeof payload.email === "string" ? payload.email : undefined;
161
+ const displayName = typeof payload.display_name === "string" ? payload.display_name : undefined;
162
+ const provider = payload.provider === "google" || payload.provider === "github" ? payload.provider : undefined;
134
163
  return {
135
164
  userId: String(payload.sub),
136
165
  githubId,
137
166
  githubLogin,
167
+ email,
168
+ displayName,
169
+ provider,
138
170
  scopes: scopes,
139
171
  capabilities: capabilitiesFromScopes(scopes),
140
172
  tokenId: String(payload.jti),
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/remote/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/remote/crypto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-util.d.ts","sourceRoot":"","sources":["../../src/remote/http-util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIlF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,SAAa,GAAG,IAAI,CAMpF;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,SAAa,GACf,OAAO,CAGT;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI,CAUhG;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,SAAM,GACX;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAMrE;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUrF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoB1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAQtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY/E"}
1
+ {"version":3,"file":"http-util.d.ts","sourceRoot":"","sources":["../../src/remote/http-util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIlF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,SAAa,GAAG,IAAI,CAMpF;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,SAAa,GACf,OAAO,CAGT;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI,CAUhG;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,SAAM,GACX;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAMrE;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUrF;AAYD,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiB1F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAQtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY/E"}